Download RoadMap

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Turing machine wikipedia , lookup

Computational complexity theory wikipedia , lookup

Algorithm characterizations wikipedia , lookup

Halting problem wikipedia , lookup

History of the Church–Turing thesis wikipedia , lookup

Transcript
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.