proving church’s thesis - bgufrankel/honoraryday09/slides/nachumdershowitz.pdf · calculable...

Post on 08-Sep-2019

7 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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.

top related