TCS: Church-Turing Thesis
Church-Turing Thesis
Recursion from Fixed Points
The fixed-point combinator from Lecture 1 turns a recursive equation into a term. First write a function that receives its recursive call as a parameter, then take its fixed point
For factorial, using the Boolean and numeral encodings from Lecture 2, define
Since , unfolding once gives the intended recurrence
Induction on proves that normal-order evaluation reaches . The evaluation strategy matters: eager evaluation of the recursive argument of can diverge before a conditional selects its branch
Pairs, Tuples and Lists
Data as an Interface
A pair packages two terms and waits for a selector to say how they should be used
The projection equations follow by substitution
Similarly, encode a tuple as and obtain its -th component by supplying
A Pair-Based List Encoding
Choose the following representation, with abbreviating
Applying to returns . Applying it to passes to a function that returns
The list operations use and only after checking that the list is nonempty. Their behavior on the empty list is not part of their intended interface
Fold, Map and Filter
Define a right fold by its two equations
A fixed point realizes these equations
Then map and filter become choices of the combining function
For a finite list, structural induction establishes their intended behavior. All the data constructors and control flow are ordinary -terms
What Counts as Computation?
The Church-Turing thesis identifies effectively calculable functions with functions computable by Turing machines
This is a claim connecting an informal notion with a formal model. In contrast, the equivalence between Turing machines and the -calculus is a mathematical theorem about two formal definitions
The thesis concerns which functions can be computed with unbounded finite time and memory. A separate efficiency thesis concerns the cost of simulating computational models
Turing Machines and Their Encodings
A deterministic Turing machine has finitely many states and tape symbols. Each transition reads the current symbol, writes a symbol, changes state, and moves the head
Its finite transition table can be encoded as a string . A universal machine interprets such a description and simulates on an input
Here allows partial behavior: if the simulated machine runs forever, the universal simulation also runs forever. Code and input are both finite strings, so programs can construct and inspect descriptions of other programs
Deciding, Recognizing and Reducing
A decider halts on every input with the correct membership answer. A recognizer accepts members but may run forever on nonmembers
Consider the halting language
It is recognizable by universal simulation. If a decider existed, construct that, on input , loops when says the encoded machine halts, and halts otherwise. Running on its own description contradicts either answer
The acceptance language is likewise recognizable and undecidable. For a deterministic computation model, a language is decidable exactly when both it and its complement are recognizable: dovetail the two recognizers until one accepts
Mapping Reductions
Write when a total computable function satisfies
A decider for , composed with , would decide
To prove a target problem undecidable, reduce an already undecidable problem to . The transformation must finish on every input; it cannot wait indefinitely to discover whether the source machine halts
For example, transform into a machine that ignores its input, simulates , and accepts if that simulation halts. Then halts on exactly when accepts the empty string
Why Lambda Calculus Is Turing Complete
The simulation has two directions
- A Turing machine can store a finite -term as a syntax tree, perform capture-avoiding substitution, and follow normal-order reduction
- A -term can encode machine states, tape symbols, finite lists, and the transition operation of a Turing machine
For the second direction, represent a configuration by its state, the current symbol, and lists containing the tape to the left and right of the head. A head movement pops one list and pushes onto the other, inserting a blank when necessary
Since the transition table is finite, comparisons and Boolean case selection implement a term that maps a configuration to its successor
Each encoded machine step takes finitely many reductions. The recursive term returns the encoded output when the simulated machine halts, and continues unfolding when it does not
Thus both models represent the same partial computable functions under effective input and output encodings