Date post: | 22-Nov-2014 |
Category: |
Technology |
Upload: | seanmcl |
View: | 338 times |
Download: | 7 times |
Practical Automated Reasoningwith the Polarized Inverse Method
Sean McLaughlin
Thesis ProposalCarnegie Mellon University
School of Computer Science
Thesis Committee:
Jeremy Avigad CMU PhilosophyRobert Harper SCS
Dale Miller Ecole PolytechniqueFrank Pfenning SCSAndre Platzer SCS
1 / 32
Outline
Proposed Contribution
A proof-producing meta-theorem prover for Twelf.
1. This is an important problem!I Twelf is the strongest proof assistant in its domainI Many applications, in theory and practiceI Requires more work than it should
2. We can (hopefully) solve it!I The inverse methodI FocusingI Polarization
3. We can solve other interesting problems along the way!I First-order logicI ConstraintsI LF
2 / 32
3 / 32
Twelf
I A proof assistant for deductive systemsI Programming languagesI Logics
I ExamplesI Type safety for Standard ML (Lee, Crary, Harper)I Trusted computing/typed assembly language (Crary, Sarkar)I Certified compilers (Murphy, Crary)I Proof carrying code (Necula, et al.)I Security
I Proof-carrying authentication (Appel, Felten)I Proof-carrying file system (Garg, Pfenning)
4 / 32
Example
5 / 32
Simply Typed λ-Calculus
Language
Terms e ::= λx . e | e1 e2
Types τ ::= α | τ1 ⇒ τ2
Typing rules
Γ, x : τ ` x : τ
Γ, x : τ1 ` e : τ2
Γ ` λx . e : τ1 ⇒ τ2
Γ ` e1 : τ2 ⇒ τ Γ ` e2 : τ2
Γ ` e1 e2 : τ
Evaluation rules
x ↪→ x λx . e ↪→ λx . ee1 ↪→ λx . e3 [e2/x ]e3 ↪→ e
e1 e2 ↪→ e
6 / 32
Theorem (Type Preservation)
If Γ ` e : τ and e ↪→ e ′ then Γ ` e ′ : τ
7 / 32
Theorem (Type Preservation)
If Γ ` e : τ and e ↪→ e ′ then Γ ` e ′ : τ
7 / 32
Twelf
X Support for variable binding
X Dependent types
X Many interesting applications
X Lack of automation (i.e. proof search)
Proofs account for %80 to %95 of code in the SML typepreservation theorem. (22 KLOC total)
8 / 32
Proposed Work
Theory
abc
Implementation
I A proof-producing meta-theorem prover for Twelf.I New theorem provers for
I First-order propositional logicI Intuitionistic first-order logicI Intuitionistic first-order logic with constraintsI LF
9 / 32
Outline
IntroductionTwelf
The Polarized Inverse MethodExample: Intutionistic LogicThe Inverse MethodFocusing and PolarizationImogen
ApplicationsConstraintsInductionLFM+
2
ConclusionRelated Work
10 / 32
Outline
IntroductionTwelf
The Polarized Inverse MethodExample: Intutionistic LogicThe Inverse MethodFocusing and PolarizationImogen
ApplicationsConstraintsInductionLFM+
2
ConclusionRelated Work
11 / 32
12 / 32
The Inverse Method
13 / 32
The Inverse Method
Forward Search
I Why??I Local quantificationI SaturationI Redundancy elimination
Example
14 / 32
The Inverse Method
Forward Search
I Why??I Local quantificationI SaturationI Redundancy elimination
Example
....
Γ −→ A
....
Γ −→ B...
14 / 32
The Inverse Method
Forward Search
I Why??I Local quantificationI SaturationI Redundancy elimination
Example
abc
14 / 32
The Inverse Method
Forward Search
I Why??I Local quantificationI SaturationI Redundancy elimination
Example
Γ,A −→ B Γ −→ B
14 / 32
abc
15 / 32
Focusing and Polarization
16 / 32
Focusing and Polarization
Focused proofs
Inversion proofs
Polarized atoms,
conjunction
All proofs
17 / 32
Imogen
18 / 32
abc
19 / 32
Outline
IntroductionTwelf
The Polarized Inverse MethodExample: Intutionistic LogicThe Inverse MethodFocusing and PolarizationImogen
ApplicationsConstraintsInductionLFM+
2
ConclusionRelated Work
20 / 32
Outline
IntroductionTwelf
The Polarized Inverse MethodExample: Intutionistic LogicThe Inverse MethodFocusing and PolarizationImogen
ApplicationsConstraintsInductionLFM+
2
ConclusionRelated Work
21 / 32
IntuitionisticPropositional Logic
IntuitionisticFirst-Order Logic
IntuitionisticLogic with Constraints
IntuitionisticLogic with Induction
LF
M+2
(Twelf)
Constraints
22 / 32
abc
23 / 32
Induction
24 / 32
Inductive loop
Proof Stack
Filling
Splitting
Recursion
Q.E.D.
Unprovable
no
yes
no
no
yesyes
25 / 32
LF
26 / 32
abc
27 / 32
M+2
28 / 32
abc
29 / 32
Outline
IntroductionTwelf
The Polarized Inverse MethodExample: Intutionistic LogicThe Inverse MethodFocusing and PolarizationImogen
ApplicationsConstraintsInductionLFM+
2
ConclusionRelated Work
30 / 32
Related Work
31 / 32
The End
Thanks for coming!
32 / 32