CS154, Lecture 11: Self Reference, Foundation of Mathematics

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness
Advertisements

David Evans cs302: Theory of Computation University of Virginia Computer Science Lecture 17: ProvingUndecidability.
Lecture 3 Universal TM. Code of a DTM Consider a one-tape DTM M = (Q, Σ, Γ, δ, s). It can be encoded as follows: First, encode each state, each direction,
CS 461 – Nov. 9 Chomsky hierarchy of language classes –Review –Let’s find a language outside the TM world! –Hints: languages and TM are countable, but.
The Recursion Theorem Sipser – pages Self replication Living things are machines Living things can self-reproduce Machines cannot self reproduce.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Reducibility Sipser 5.1 (pages ). CS 311 Fall Reducibility.
Reducibility Sipser 5.1 (pages ).
Fall 2004COMP 3351 Recursively Enumerable and Recursive Languages.
Fall 2003Costas Busch - RPI1 Decidability. Fall 2003Costas Busch - RPI2 Recall: A language is decidable (recursive), if there is a Turing machine (decider)
Computability and Complexity 7-1 Computability and Complexity Andrei Bulatov Recursion Theorem.
Recursively Enumerable and Recursive Languages
1 Uncountable Sets continued Theorem: Let be an infinite countable set. The powerset of is uncountable.
Fall 2004COMP 3351 Reducibility. Fall 2004COMP 3352 Problem is reduced to problem If we can solve problem then we can solve problem.
Courtesy Costas Busch - RPI1 Reducibility. Courtesy Costas Busch - RPI2 Problem is reduced to problem If we can solve problem then we can solve problem.
Lecture 27UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 27.
CS21 Decidability and Tractability
1 Reducibility. 2 Problem is reduced to problem If we can solve problem then we can solve problem.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
The Recursion Theorem Pages 217– ADVANCED TOPICS IN C O M P U T A B I L I T Y THEORY.
The Halting Problem – Undecidable Languages Lecture 31 Section 4.2 Wed, Oct 31, 2007.
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15-1 Mälardalen University 2012.
Great Theoretical Ideas in Computer Science.
Great Theoretical Ideas in Computer Science.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
Computation Motivating questions: What does “computation” mean? What are the similarities and differences between computation in computers and in natural.
Recursively Enumerable and Recursive Languages
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 4 Decidability Some slides are in courtesy.
Sofya Raskhodnikova Intro to Theory of Computation L ECTURE 20 Last time Mapping reductions Computation history method Today Computation history method.
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
Costas Busch - RPI1 Decidability. Costas Busch - RPI2 Another famous undecidable problem: The halting problem.
1 Recursively Enumerable and Recursive Languages.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Undecidable.
Recursively Enumerable and Recursive Languages. Definition: A language is recursively enumerable if some Turing machine accepts it.
Decidability.
CIS Automata and Formal Languages – Pei Wang
Recursively Enumerable and Recursive Languages
Discrete Mathematics for Computer Science
CSE 105 theory of computation
CSCI 2670 Introduction to Theory of Computing
PARTIAL RECURSIVE FUNCTION
Busch Complexity Lectures: Reductions
Linear Bounded Automata LBAs
Undecidable Problems Costas Busch - LSU.
CSE 105 theory of computation
MCC 2093 Advanced Theoretical Computer Science
CS154, Lecture 11: Self Reference, Foundation of Mathematics
Great Theoretical Ideas in Computer Science
CSE 105 theory of computation
CS154, Lecture 10: Rice’s Theorem, Oracle Machines
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
Undecidable Problems (unsolvable problems)
CS154, Lecture 8: Undecidability, Mapping Reductions
CS154, Lecture 8: Undecidability, Mapping Reductions
CSCI 2670 Introduction to Theory of Computing
Decidable Languages Costas Busch - LSU.
Decidability and Undecidability
Undecidable problems:
CS21 Decidability and Tractability
CS21 Decidability and Tractability
Formal Languages, Automata and Models of Computation
Intro to Theory of Computation
Class 24: Computability Halting Problems Hockey Team Logo
CS21 Decidability and Tractability
CSE 105 theory of computation
CSCI 2670 Introduction to Theory of Computing
CSE 311: Foundations of Computing
CSE 105 theory of computation
Presentation transcript:

CS154, Lecture 11: Self Reference, Foundation of Mathematics

Self-Reference and the Recursion Theorem Living things are machine Living things can self-reproduce Machines cannot self-reproduce Paradox?

Lemma: There is a computable function q : Σ.  Σ Lemma: There is a computable function q : Σ*  Σ* such that for every string w, q(w) is the description of a TM Pw that on every input, prints out w and then accepts “Proof” Define a TM Q: (Pw erases its input and then prints w) s Pw Pw Q w w

Theorem: There is a Self-Printing TM Proof: First define a TM B which does this: B w M PM M M Now consider the TM that looks like this: w w B B PB PB B B QED

The Recursion Theorem Theorem: For every TM T computing a function t : Σ*  Σ*  Σ* there is a Turing machine R computing a function r : Σ*  Σ*, such that for every string w, r(w) = t(R, w) T (a,b) t(a,b) R w t(R,w)

For every computable t, there is a computable r such that r(w) = t(R,w) where R is a description of r Suppose we can design a TM T of the form: “On input (x,w), do bla bla with x and w, etc. etc.” We can then find a TM R with the behavior: “On input w, do bla bla with a description of R and w, etc. etc.” We can use the operation: “Obtain your own description” in Turing machine pseudocode!

Theorem: ATM is undecidable Proof (using the recursion theorem) Assume H decides ATM Construct machine B such that on input w: 1. Obtains its own description B 2. Runs H on (B, w) and flips the output Running B on input w always does the opposite of what H says it should! A formalization of “free will” paradoxes! No single machine can predict behavior of all others

Computability and the Foundations of Mathematics

The Foundations of Mathematics A formal system describes a formal language for writing (finite) mathematical statements, has a definition of what statements are “true” has a definition of a proof of a statement Example: Every TM M defines some formal system F {Mathematical statements in F} = * String w represents the statement “M accepts w” {True statements in F} = L(M) A proof that “M accepts w” can be defined to be an accepting computation history for M on w

Interesting Formal Systems Define a formal system F to be interesting if: Mathematical statements that can be precisely described in English should be expressible in F Proofs are “convincing” – a TM can check that a proof of a theorem is correct (decidable) Simple proofs that can be precisely described in English should be expressible in F

Interesting Formal Systems Define a formal system F to be interesting if: Any mathematical statement about computation can be (computably) described as a statement of F. Given (M, w), there is a (computable) SM,w in F such that SM,w is true in F if and only if M accepts w. Proofs are “convincing” – a TM can check that a proof of a theorem is correct This set is decidable: {(S, P) | P is a proof of S in F } If S is in F and there is a proof of S describable as a computation, then there’s a proof of S in F. If M accepts w, then there is a proof P in F of SM,w

Consistency and Completeness A formal system F is consistent or sound if no false statement has a valid proof in F (Proof in F implies Truth in F) A formal system F is complete if every true statement has a valid proof in F (Truth in F implies Proof in F)

Limitations on Mathematics For every consistent and interesting F, Theorem 1. (Gödel 1931) F is incomplete: There are mathematical statements in F that are true but cannot be proved in F. Theorem 2. (Gödel 1931) The consistency of F cannot be proved in F. Theorem 3. (Church-Turing 1936) The problem of checking whether a given statement in F has a proof is undecidable.

Unprovable Truths in Mathematics (Gödel) Every consistent interesting F is incomplete: there are true statements that cannot be proved. Let SM, w in F be true if and only if M accepts w Proof: Define Turing machine G(x): 1. Obtain own description G [Recursion Theorem] 2. Construct statement S’ = SG, ε 3. Search for a proof of S’ in F over all finite length strings. Accept if a proof is found. Claim: S’ is true in F, but has no proof in F S’ basically says “There is no proof of S’ in F”

(Gödel 1931) The consistency of F cannot be proved within any interesting consistent F Proof: Suppose we can prove “F is consistent” in F We constructed SG, ε = “G does not accept ε” which we showed is true, but has no proof in F G does not accept ε  There is no proof of SG, ε in F But if there’s a proof in F of “F is consistent” then there is a proof in F of SG, ε (here’s the proof): “If SG,ε is true, then there is a proof in F of SG, ε F is consistent, therefore SG, ε is true. But SG,ε and SG, ε cannot both be true. Therefore, SG, ε is true” This contradicts the previous theorem.

Undecidability in Mathematics PROVABLEF = {S | there’s a proof in F of S, or there’s a proof in F of S} (Church-Turing 1936) For every interesting consistent F, PROVABLEF is undecidable Proof: Suppose PROVABLEF is decidable with TM P Then we can decide ATM using the following procedure: On input (M, w), run the TM P on input SM,w If P accepts, examine all possible proofs in F If a proof of SM,w is found then accept If a proof of SM,w is found then reject If P rejects, then reject. Why does this work?