Automated Reasoning and Its Applications: John Harrison Intel Corporation
Automated Reasoning and Its Applications: John Harrison Intel Corporation
John Harrison
Intel Corporation
0
What is automated reasoning?
1
What does automated reasoning involve?
2
Theoretical and practical limitations
• There are formal proof systems (e.g. first-order set theory) and
semi-decision procedures that will in principle find the proof of
anything provable in ‘ordinary’ mathematics.
3
Why automated reasoning?
These are currently the two main drivers of progress in the field.
4
Automated Reasoning is not the same as Computer Algebra
5
Expressivity of logic
English Formal
false ⊥
true ⊤
not p ¬p
p and q p∧q
p or q p∨q
p implies q p⇒q
p iff q p⇔q
for all x, p ∀x. p
there exists x such that p ∃x. p
6
Limited expressivity in CASs
7
Unclear expressions in CASs
• ...
8
Lack of rigour in many CASs
CASs often apply simplifications even when they are not strictly valid.
Hence they can return wrong results.
Consider the evaluation of this integral in Maple:
∞ −(x−1)2
e
Z
√ dx
0 x
9
An integral in Maple
> subs(t=1,%);
1 1 1 1 1 1
K43 ( 12 ) K74 ( 21 )
−1
1e −3π 2 e 2 2 2 +π 2 e
2 2 2
1
2 π2
> evalf(%);
0.4118623312
> evalf(int(exp(-(x-1)ˆ2)/sqrt(x), x=0..infinity));
1.973732150
10
Orientation
11
Early research in automated reasoning
Most early theorem provers were fully automatic, even though there
were several different approaches:
12
A theorem in geometry (1)
A
A
A
A
A
A
A
A
B AC
If the sides AB and AC are equal (i.e. the triangle is isosceles), then
the angles ABC and ACB are equal.
13
A theorem in geometry (2)
A
A
A
A
A
A
A
A
B D
AC
and then use the fact that the triangles ABD and ACD are
congruent.
14
A theorem in geometry (3)
A
A
A
A
A
A
A
A
B AC
15
The Robbins Conjecture (1)
x+y = y+x
(x + y) + z = x + (y + z)
n(n(x) + y) + n(n(x) + n(y)) = x
16
The Robbins Conjecture (2)
This conjecture went unproved for more than 50 years, despite being
studied by many mathematicians, even including Tarski.
It because a popular target for researchers in automated reasoning.
In October 1996, a (key lemma leading to) a proof was found by
McCune’s program EQP.
The successful search took about 8 days on an RS/6000 processor
and used about 30 megabytes of memory.
17
Interactive theorem proving
18
The 17 Provers of the World
19
Effective interactive theorem proving
• Reliability
• Programmability
• Checkability of proofs
20
Benefits and costs
21
The human cost of computer bugs
• Heart pacemakers
• Aircraft
• ...
22
Financial cost of bugs
Even when not a matter of life and death, bugs can be financially
serious if a faulty product has to be recalled or replaced.
23
Formal verification
Actual requirements
6
Formal specification
6
Design model
Actual system
24
Verification vs. testing
• Exhaustive.
However:
25
Formal verification methods
• Symbolic simulation
26
Logic and circuits
27
Applying theorem provers in mathematics
28
Are ordinary proofs in doubt?
29
Most doubtful informal proofs
• Those that are just very long and involved. Classification of finite
simple groups, Seymour-Robertson graph minor theorem
• Those that are about very technical areas where complete rigour
is painful. Some branches of proof theory, or formal properties of
type systems
30
The discouraging history of the 4-colour Theorem
Later proof by Appel and Haken was apparently correct, but gave
rise to a new worry:
31
Hales’s Proof of the Kepler Conjecture
32
The Flyspeck project
33
Conclusions
Let me finish with a quote from Tom Hales about the Flyspeck project
34