Proving Church’s Thesis
Nachum Dershowitz w/ Yuri Gurevich
What is the thesis?
Church’s Thesis (1936)
Recursive functions “capture” effective computability
Recursive Functions
• Partial functions on natural numbers • Initial functions: 0 and successor • Other functions defined via equations:
x + 0 = x x + y’ = (x + y)’ 0 − y = 0 x’ − y = (x − y)’
[Hilbert, Ackermann, Peter, Herbrand, Gödel]
Recursive Functions
• Partial functions on natural numbers • Initial functions: 0 and successor • Other functions defined via equations:
x + 0 = x x + y’ = (x + y)’ 0 − y = 0 x’ − y = (x − y)’
[Hilbert, Ackermann, Peter, Herbrand, Gödel]
1 n=0 n×f(n-1) otherwise {
f(n) =
Alonzo Church (1936)
[We] propose a definition of effective calculability which is thought to correspond satisfactorily to [a] somewhat vague intuitive notion....
We now define ... the notion of effective calculable function of the positive integers by identifying it with the notion of a recursive function.
Emil Leon Post (1936) To mask this identification under a definition hides the fact that a fundamental discovery in the limitations of mathematicizing power of Homo Sapiens has been made and blinds us to the need of its continual verification.
Alan Turing (1936)
A man provided with paper, pencil, and
rubber, and subject to strict discipline, is in effect a universal
machine
Turing’s Thesis
Turing Machines capture mechanical human computation
Church [Turing's machines have] the advantage of making the identification with effectiveness in the ordinary (not explicitly defined) sense evident immediately.
To define effectiveness as computability by an arbitrary machine, subject to restrictions of finiteness, would seem an adequate representation of the ordinary notion.
Steve Kleene (1936) So Turing’s and Church’s theses are equivalent. We shall usually refer to them both as Church’s thesis, or in connection with that one of its... versions which deals with “Turing machines” as the Church-Turing thesis.
Thesis I†
Every partial function which is effectively calculable (in the sense that there is an algorithm by which its value can be calculated for every n -tuple belonging to its range of definition) is potentially partial recursive.
Church-Turing Thesis
All effective computational models are equivalent to, or weaker than, Turing machines
-
Robin Gandy
• “The confluence of ideas in 1936”
Why make the claim?
Why?
The thesis allowed Church and Turing to “prove”
undecidability of
a classical decision problem
Ramon Lull (1274)
Raymondus Lullus Ars Magna et Ultima
Gottfried Wilhelm Leibniz (1666) The only way to rectify our reasonings is to make them as tangible as those of the Mathematician, so that we can find our error at a glance, and when there are disputes among persons, we can simply say: Let us calculate [calculemas], without further ado, in order to see who is right.
David Hilbert’s Entscheidungsproblem
#2. Provide an effective method to determine if a formula is valid.
#2. Provide an effective method to determine if a formula is valid.
(c. 1900)
Satisfiability Problem
Given an arbitrary formula in first-order predicate calculus,
decide if it is satisfiable (invalid) or unsatisfiable (valid).
Satisfiable: True for some interpretation Valid: True in all interpretations
Hilbert & Ackermann (1928)
The Entscheidungsproblem is solved when we know a procedure that allows for any given logical expression to decide by finitely many operations its validity or satisfiability.
Hilbert & Ackermann
• The Entscheidungsproblem must be considered the main problem of mathematical logic.
• [Its solution] is of fundamental significance for the theory of all domains whose propositions could be developed on the basis of a finite number of axioms.
Jules Henri Poincaré
We might imagine a machine where we should put in axioms at one end and take out theorems at the other, like that legendary machine in Chicago where pigs go in alive and come out transformed into hams and sausages.
If the human mind were equivalent to a finite machine, then ... there would exist absolutely unsolvable problems…, where the epithet “absolutely” means that they would be undecidable, not just within some particular axiomatic system, but by any mathematical proof the mind can conceive.
Kurt Gödel
Why prove the claim?
Richard Shore (2001)
First in Shore’s list of
“pie in the sky” problems
for the 21st century.
Richard Montague (1960)
Discussion of Church’s thesis has suffered for lack of a precise
general framework within which it
could be conducted
Reactions
1. I know it is true.
2. I know it is false.
3. I know it is unprovable.
Preaching to the Choir
Turing (1948)
Logical Computing Machines can do anything that could be described as “rule of thumb” or “purely mechanical”. This is sufficiently well established that it is now agreed amongst logicians that “calculable by means of an LCM” is the correct rendering of such phrases.
Humans are not Machines
Bringsjord
Penrose
Lucas
It Can’t be Done
Laszlo Kalmár (1959) There are pre-mathematical concepts which must remain [so].... Among these belong ... such concepts as that of effective calculability ... the extension of which cannot cease to change during the development of mathematics.
38
Why believe the claim?
Why Believe?
• Model equivalence: Church, Turing, Post, Markov, Kolmogorov
Lambda Calculus
Church (1936-1941)
λx. (x x)
Church
The fact that two such widely different equally natural definitions of effective calculability turn out to be equivalent adds to the strength of the reasons for believing that they constitute as general a characterization of this notion as is consistent with the usual intuitive understanding of it.
Bernard Moret The remarkable result about these varied models is that all of them define exactly the same class of computable functions: whatever one model can compute, all the others can too!
Princeton Course “The definition of a Turing
machine is very complete.”
– Multiple heads – Multiple tapes – Multiple states – Multiple directions – Multiple dimensions – Multiple worlds
Why Believe?
• Model equivalence: Church, Turing, Post, Markov, Kolmogorov – What excludes a systematic error? – People thought primitive recursive was it
Why Believe?
• Model equivalence: Church, Turing, Post, Markov, Kolmogorov – What excludes a systematic error? – People thought primitive recursive was it
• Experience: programming languages compute only recursive functions
The Turing Tarpit • Thue systems
– Post systems • Lambda calculi • Partial recursion • Turing machines • Markov normal
algorithms • Minsky counter
machines • Type 0 languages
• Kolmogorov-Uspenskii machines
• Neuring machines • Wang machines • Random access machines • Quantum computers • Billiard ball computers • Least fixpoints • Fortran, Algol, Lisp, C,
Pascal, Logo, Ada, Java, ...
Why Believe?
• Model equivalence: Church, Turing, Post, Markov, Kolmogorov – What excludes a systematic error? – People thought primitive recursive was it
• Experience: programming languages compute only recursive functions – History is full of delayed discoveries
Why Believe?
• Model equivalence: Church, Turing, Post, Markov, Kolmogorov – What excludes a systematic error? – People thought primitive recursive was it
• Experience: programming languages compute only recursive functions – History is full of delayed discoveries
• Turing’s analysis – This is by far the strongest argument
Gödel
• It was only by Turing’s work that it became completely clear, that my proof is applicable to every formal system containing arithmetic.
Why Believe?
• Model equivalence: Church, Turing, Post, Markov, Kolmogorov – What excludes a systematic error? – People thought primitive recursive was it
• Experience: programming languages compute only recursive functions – History is full of delayed discoveries
• Turing’s analysis – This is by far the strongest argument – Does not cover all algorithms
How can one prove the claim?
Turing’s Premises • Sequential symbol manipulation • Deterministic • Finite internal states • Finite symbol space • Finite observability and local action • Linear external memory
Church to Kleene (1935)
[Gödel thought] that it might be possible ... to state a set of axioms which would embody the generally accepted properties of [effective calculability], and to do something on that basis.
Joe Shoenfield (1991)
It may seem that it is impossible to give a proof of Church’s Thesis. However, this is not necessarily the case. We can write down some axioms about computable functions which most people would agree are evidently true. It might be possible to prove Church’s Thesis from such axioms.
Joe Shoenfield
However, despite strenuous efforts, no one has succeeded in doing this (although some interesting partial results have been obtained).
Formalization of
Effective Algorithm
Euclid (c. -300) Euclid’s GCD algorithm appeared in his Elements. Formulated geometrically: Find common measure for 2 lines. Used repeated subtraction of the shorter segment from the longer.
Don Knuth (1966) Algorithms are concepts which have existence apart from any programming language… I believe algorithms were present long before Turing et al. formulated them, just as the concept of the number “two” was in existence long before the writers of first grade textbooks and other mathematical logicians gave it a certain precise definition.
Postulates
I. An algorithm determines a computational sequence
II. Elements of the sequence can be arbitrary structures
III. Transitions are governed by some finite description
IV. Only computable operations are given initially
I
What is an algorithm?
• An algorithm is a kind of state transition system.
Knuth (1966)
A computational method
comprises a set of states…
In this way we can divorce abstract algorithms from particular programs that
represent them.
Hartley Rogers, Jr. (1966) • Roughly speaking, an algorithm is a
clerical (i.e., deterministic, bookkeeping) procedure which can be applied to any of a certain class of symbolic inputs and which will eventually yield, for each such input, a corresponding symbolic output.
• An example of an algorithm is the usual procedure given in elementary calculus for differentiating polynomials…
Donald Knuth (1968)
A computational method consists of:
1. States Q 2. Input I ⊆ Q 3. Output O ⊆ Q 4. Transitions τ : Q → Q
terminal
State Transition
>
Computation
Computation
Algorithm = Transition System
I
O
Q
I. Sequential Time
• An algorithm is a state-transition system.
• Its transitions are partial functions.
Rogers
For any given input, the computation is carried out in a discrete stepwise fashion, without use of continuous methods or analogue devices.
Computation is carried forward deterministically, without resort to random methods or devices, e.g., dice.
Virtually all mathematicians would agree that, although inexactly stated, [these features] are inherent in the idea of algorithm.
Joe Shoenfield
A method must be mechanical…
Methods which involve chance procedures are excluded;… methods which involve magic are excluded;… methods which require insight are excluded.
II
Church • An algorithm consists of a method by
which ... a sequence of expressions (in some notation) ... can be obtained;
• [each] is effectively calculable [given prior expressions];
• and where ... the fact that the algorithm has terminated becomes effectively known and
• the [output] is effectively calculable.
Goal
• Representation-independent axioms
– Church uses numbers – Turing uses string representation – Gandy uses finite set representation – ASMs use any structure
Robin Gandy (1980)
• States can be described by hereditarily finite sets
• The rank of these sets is bounded
• Machines can be assembled unambiguously from individual parts of bounded size
• Causation is local 83
What is a state?
• A state is any (first-order) structure.
• All relevant information should be included in the functions and relations of the state.
Emil Post (1922)
• The symbol-complexes are completely determined by specifying all the properties and relations of its parts… Each complex of the system can be completely described [by a conjunction of relations]
State encapsulates all relevant data!
[a] [f] [a] [f]
C° C°
II. Abstract State
• States are (first-order) structures. • All states share the same (finite)
vocabulary. • Transitions preserve the domain (base
set) of states.
C°
C
C°
F° F°
II. Abstract State
• States are (first-order) structures. • All states share the same (finite)
vocabulary. • Transitions preserve the domain (base
set) of states. • States (and initial and terminal states)
are closed under isomorphism. • Transitions commute with isomorphisms.
Abstract-State Postulate • Data is arranged in a structure of a finite
signature.
τ x=5; s(x)=6;… x=“101”; s(x)=“110”;…
x=6; s(x)=7;… τ
x=“110”; s(x)=“111”;…
≅
• An algorithm is abstract, thus applicable to all isomorphic structures.
c f g
≅
Infinitary Operations
• min(a1,a2,…………..) X
• min{ai|…}
III
What is a transition?
• Transitions are algorithmic if they can all be described finitely (without presupposing any special knowledge).
Kleene
An algorithm in our sense must be fully and finitely described before any particular question to which it is applied is selected....
All steps must ... be predetermined and performable without any exercise of ingenuity or mathematical invention by the person doing the computing.
Andrei Kolmogorov (1953) The computational operations are
carried out in discrete steps, where every step only uses a bounded part of the results of all preceding operations.
The unboundedness of memory is only quantitative: i.e., we allow an unbounded number of elements to be accumulated, but they are drawn from a finite set of types, and the relations that connect them have limited complexity…
III. Bounded Exploration
• Transitions are determined by a fixed finite set of terms, such that states that agree on the values of these terms, also agree on all state changes.
Yuri Gurevich
C
Bounded Exploration
• Whenever X,Y coincide on T, τ (x)-x = τ (y)-y
x=3; f(3)=5; y=7
τ
T = {x, f(x)}
x=1; f(3)=0; y=7
x=3; f(3)=5; y=2
τ x=1; f(3)=0; y=2
x=3; f(3)=5; y=1
τ x=1; f(3)=0; y=4
IV
What is effective?
• Basic arithmetic certainly is.
• The halting function might not be.
Martin Davis
If non-computable inputs are permitted, then non-computable outputs are attainable.
Federico Luigi Menabrea (1842)
We must limit ourselves to admitting that the first four operations of arithmetic, that is addition, subtraction, multiplication and division, can be performed in a direct manner through the intervention of the machine. The machine is thence capable of performing every species of numerical calculation, for all such calculations ultimately resolve themselves into the four operations we have just named.
IV. Initial State
– Static part of initial states is arithmetic: natural numbers and operations +,-,×,÷,=,<.
– Inputs initialized to natural numbers.
– Rest is undefined.
No Magic
Church-Turing Theorem
Any numeric (string) function computed by a transition system that
satisfies the postulates is partial
recursive (Turing computable).
ASM Theorem
Abstract state machines emulate algorithmic computations (Postulates I-III)
Abstract State Machine
• f(s1,...,sn) := t
• if c1∧...∧cn then P
• [P1 || ... || Pk]
Proof
• States can be divided into equivalence classes based on equalities between glossary of critical terms
• Changes can be captured by assignments using only critical terms.
Procedures
• A procedure is a sequential algorithm, in which the initial states of all runs are the same, except for some constant In
But...
The initial state may contain uncomputable oracles
ASMT ⇒ CT
If an ASM’s initial state has only basic arithmetic (N;0,1,+,x,=,<), then it computes a partial recursive function.
A numerical function is effective iff it is (partial) recursive.
My favorite computer
-
+ !
?
?
+
-
+
Theorem
The following are equivalent:
– f : N N is recursive. – An arithmetical algorithm computes f. – An arithmetical ASM computes f.
But there is more to algorithms than numbers!
Rich Domain
What about other domains?
• What should be considered effective for non-numeric or non-string domains?
Ada Lovelace
Many persons ... imagine that because [the Analytical Engine]
give[s] its results in numerical notation, the nature of its processes must ... be arithmetical and numerical rather than algebraical and analytical.
This is an error.
Ada Lovelace
The engine can arrange and combine its numerical quantities exactly as if they were letters or any other general symbols.
124
Graph Domain
What else is effective?
• Consider
f (n ) = min i. p (g n+i (c))
where p,g,c work over graphs, say.
IV: Initial State
• Initial states do not contain ineffective operations.
Track Functions
IV*: Initial State
The domain of an algorithm is arithmetizable.
Meaning: There’s a numerical encoding (not a priori effective) of the additional domain s.t. the induced initial functions are recursive.
Recursive State
Decidable Equality [W. Reisig]
Constructors (w/ U. Boker)
Examples
• A = { N; 0, S }
nil
cons(nil,nil)
cons(nil,cons(nil,nil))
cons(cons(nil,nil),cons(nil,nil))
0 S(0)
• B = { binary trees; nil, cons }
S(S(0))
IV*: Effectiveness
• Every operation is tracked by a recursive function.
• Equivalence of terms is decidable.
• Every operation is computable from the free term (Herbrand) algebra.
(can be extended to partial operations)
Theorem
Turing Machines simulate (up to isomorphism) all effective models (under some representation).
And under no representation can an effective model do more.
Equivalence of Models
• TM2 < TM [ 1 tape; 2 channels ] • CM2 < TM2 [ 111...1BBB... ] • CMn < CM2 [ 2i3j5k7l... ] • RAM < CMn [ 2x(2y+1) ] • Scheme < RAM [ Abelson & Sussman ] • TM < Scheme [ Interpreter ]
What if I don’t believe the claim?
Bringsjord
Penrose
Lucas
Martin Davis
How can we ever exclude the possibility of our presented, some day (perhaps by some extraterrestrial visitors), with a (perhaps extremely complex) device or “oracle" that “computes" an uncomputable function?"
Violate Axioms
I. Transfinite or continuous sequence of states
II. Infinitary operations III. Unbounded program or table lookup IV. Super primitive operations
Murray Eden (MIT) God need not clutter his memory with infinite lists when the same information can be stored algorithmically within a finite memory…. There may be in God’s memory algorithms for finding algorithms, algorithms for algorithms for finding algorithms, and so on. Each embedment may decrease Her need for storage capacity but not at all decrease knowledge.