Turing Completeness Lambda Calculus

AI Thread Summary
Turing completeness refers to a system's ability to simulate any single-taped Turing machine, indicating its computational universality. To prove that a system, such as a programming language or computational model, is Turing complete, one must demonstrate that it can replicate the functionality of a Turing machine. This can involve creatively constructing data structures and algorithms that mimic the Turing machine's operations.An example provided is the C programming language, which is claimed to be Turing complete. The argument includes a basic program structure that utilizes data structures to represent the Turing machine's tape, state, and instructions. By showing how any Turing machine can be translated into this C code, it is asserted that the language, along with its compiler and hardware, can perform any computation that a Turing machine can.The discussion acknowledges that while the proof may seem straightforward, it is subject to scrutiny, and any perceived flaws in the argument would require addressing to solidify the claim of Turing completeness.
Jim Kata
Messages
197
Reaction score
10
I have been kind of trying to teach myself some ideas from CS. What does Turing completeness mean exactly? For example, Lambda Calculus is Turing complete. What does that mean and how do you prove that?
 
Technology news on Phys.org
The first sentence of this
http://en.wikipedia.org/wiki/Turing_completeness
defines it:

In computability theory, a system of data-manipulation rules (such as a computer's instruction set, a programming language, or a cellular automaton) is said to be Turing complete or computationally universal if it can be used to simulate any single-taped Turing machine.

So if you think up some gadget and you want to claim it is Turing complete then you just have to find some way that your gadget can simulate ANY single tape Turing machine.

Sometimes that can take very creative and complicated contortions to accomplish. Sometimes it can be easy, you just show how your gadget and hold a table and a tape and how to simulate the process that the Turing machine would take.

Some very strange constructions have been shown to be equal to Turing machines.
 
Thank you for your response. Could you give an example of a proof, and explain why it proves Turing completeness?
 
I don't think I have the time to do this in extreme detail, but see if this is enough.

I claim the C programming language is Turing complete.

As evidence of this I show you a skeleton of a program with the data structures that hold the table, the tape, the pointer to the tape, the current state, instructions on how you are to translate your Turing machine into these data structures, a few lines of code which simulate the process of the simulated Turing machine making a transition on the tape, wrap those lines of code inside a loop and the loop terminates when the simulated machine enters the "halt state" in the table.

The next step is always a bit tricky, but I claim it is "obvious" how you can then translate any Turing machine into this bit of code and it is "obvious" how this code will then do exactly what your Turing machine will do.

Thus I claim I have "proven" that the C programming language plus compiler plus hardware is Turing complete.

As with any proof, someone can say that the steps I have given are not sufficiently detailed or that there are flaws and then we try to provide those details or see if there are flaws and see if those flaws can be corrected.

Does this help?

I still have this feeling that we aren't getting to what you really want to know.
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I have a quick questions. I am going through a book on C programming on my own. Afterwards, I plan to go through something call data structures and algorithms on my own also in C. I also need to learn C++, Matlab and for personal interest Haskell. For the two topic of data structures and algorithms, I understand there are standard ones across all programming languages. After learning it through C, what would be the biggest issue when trying to implement the same data...

Similar threads

Replies
25
Views
4K
Replies
2
Views
1K
Replies
2
Views
2K
Replies
3
Views
2K
Replies
6
Views
2K
Replies
9
Views
3K
Back
Top