Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Course Overview and Road Map Computability and Logic Central Question • Given any statement about mathematics, is it true or is it false? • Example: – Goldbach Conjecture: Every even number greater than 2 is the sum of two prime numbers. – True or false? Decision Problem • The decision problem for mathematics is to find a way to decide whether some statement about mathematics is true or false. • Each domain has their own decision problem(s). Decision Procedures ?? “True” Mathematical Statement P “False” P being a ‘procedure’ can be understood as P being some kind of systematic method, or algorithm Soundness and Completeness • A decision procedure P is sound with regard to some domain D iff: – For any statement S about domain D: • If P returns “True”, then S is true • If P returns “False”, then S is false • A decision procedure P is complete with regard to some domain D iff: – For any statement S about domain D: • If S is true, then P returns “True” • If S is false, then P returns “False” Some options for P • • • • Flip a coin: heads is “True”, tails is “False” Always return “True” Never return anything Poll all mathematicians and go with majority opinion • Use a look-up table • … The Axiomatic Method • Define a set of axioms AD that capture basic truths about some domain D, and see whether some statement S about domain D follows from AD Logic and Formal Logic • ‘follows from’ is of course the domain of logic • Moreover, formal logic provides us with a language to express statements, as well as various procedures to test whether some statement follows from other statements The Hilbert Project • In the beginning of the 20th century, propelled by the advancements made in formal logic, David Hilbert wondered whether we can indeed use formal logic to solce the decision problem for mathematics The Hope 1. There exists a set of axioms A such that all, and only, mathematical truths are logical consequences of A 2. There exists a decision procedure P for deciding whether or not some mathematical statement S is a logical consequence of A The Really Exciting Prospect • If 1 and 2 are true, and assuming we can implement P on a computer (which, assuming such a P exists, is quite likely, since it’s all formal logic!): • Proving or disproving mathematical claims can be completely automated! Decision Procedure for Logical Consequence ?? A, S P “True” (S follows from A) “False” (S does not follow from A) Expressive Completeness • To express something like Goldbach’s conjecture, we’ll need something at least as powerful as first-order logic (propositional logic doesn’t cut it) • Is FOL enough? Assumptions we are making • This way of automatically deciding all questions about some domain D requires: – Expressive Completeness: • There is a set of individual constants and predicate symbols (i.e. a language LD) that can express all arguments about domain D. – Axiomatic Completeness: • There does exist a set of axioms AD such that for any set of sentences and sentence (expressed in LD): D iff AD FO – Decidability of Logical consequence: • For any language L, and any set of sentences and sentence expressed in L, we can decide whether or not FO • But is this the case?!? Decidability of FOL consequence through Formal Provability • To decide whether or not FO , we could try and see whether or not can be proven in F (or some other formal proof system S) from or not. FO(S) • Let us use the symbol FO(S) to indicate FO provability in S: – FO(S) iff is FO provable from in the system S. • The subscript FO(S) indicates that we restrict our proofs to the FO rules of S. Two Important Properties • For every deductive system of formal logic S we can define the following 2 properties: – 1. FO Deductive Soundness: A system S is FO deductively sound iff for any and : • if FO(S) then FO – 2. FO Deductive Completeness: A system S is FO deductively complete iff for any and : • if FO then FO(S) Proving Soundness and Completeness • Proving soundness of some formal proof system is tricky enough (because of the subproofs), but to prove completeness turns out to be quite hard. • In fact, for a while, it wasn’t clear if there was any formal proof system that was complete. • So, let us say that First-Order Logic is complete if and only if there is a formal proof system that is (sound and) complete. • The question is: is FOL complete? Gödel’s Completeness Result (1929): FOL is Complete! • In 1929, some 30 (!) years after FOL was developed, the logician Kurt Gödel was the first to prove that FOL is complete! • It turns out that our system, F, is (sound and) complete as well. • Good news! Is FOL Decidable? • Completeness of FOL is not the same as decidability though! • That is, just because I can prove (or demonstrate) every valid argument to be valid, doesn’t mean that I can also prove (or demonstrate) every invalid argument to be invalid. • And, I want to be able to decide either way! • For now, though, let’s move on to axiomatic completeness. Gödel’s Incompleteness Result (1931): Arithmetic is Incomplete • In 1931, the bomb dropped: Kurt Gödel proved that not all of mathematics is axiomatizable. In fact, hardly anything of mathematics is axiomatizable, as Gödel proved that you can’t even axiomatize all truths involving basic arithmetic, i.e. the addition and multiplication of natural numbers. • Gödel’s Incompleteness Theorem is regarded as one of the most important theorems of the 20th century! Regroup • OK, so we can’t decide arithmetic using axiomatization and First-Order logic decidability. • But maybe there is a different kind of decision procedure to decide arithmetical truth? • It turns out that (most likely) there is not, and the reason for that is that (most likely) FOL itself is undecidable! Turing (1936): FOL is Undecidable • It is highly likely that no such decision procedure can exist. This was made plausible (some would say proven) by the work of Alonzo Church and Alan Turing in 1936. • Let’s follow the work by Turing … Turing Machines • First, Turing defined the notion of a Turing machine which he showed can (most likely) decide any kind of question that can be decided through any kind of decision procedure. The Halting Problem • Next, Turing defined the Halting problem for Turing-machines: Given any Turingmachine M and input I, does M halt on I or not? • Turing showed that no Turing-machine can decide this, and hence that (most likely) the Halting problem is undecidable. FOL is Undecidable • Finally, Turing showed that the workings of any Turing-machine can be described using FOL. • Hence, if FOL is decidable, the Halting Problem is decidable. • Since the Halting Problem is not decidable, FOL is not decidable either. Arithmetic is Undecidable • Finally, based on the work of Gödel, it is clear that if arithmetic is decidable, then FOL is decidable. • Since FOL is undecidable, arithmetic is undecidable as well.