+ All Categories

Main

Date post: 22-Nov-2014
Category:
Upload: seanmcl
View: 338 times
Download: 7 times
Share this document with a friend
Description:
 
Popular Tags:
36
Practical Automated Reasoning with the Polarized Inverse Method Sean McLaughlin Thesis Proposal Carnegie Mellon University School of Computer Science Thesis Committee: Jeremy Avigad CMU Philosophy Robert Harper SCS Dale Miller ´ Ecole Polytechnique Frank Pfenning SCS Andr´ e Platzer SCS 1 / 32
Transcript
Page 1: Main

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

Page 2: Main

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

Page 3: Main

3 / 32

Page 4: Main

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

Page 5: Main

Example

5 / 32

Page 6: Main

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

Page 7: Main

Theorem (Type Preservation)

If Γ ` e : τ and e ↪→ e ′ then Γ ` e ′ : τ

7 / 32

Page 8: Main

Theorem (Type Preservation)

If Γ ` e : τ and e ↪→ e ′ then Γ ` e ′ : τ

7 / 32

Page 9: Main

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

Page 10: Main

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

Page 11: Main

Outline

IntroductionTwelf

The Polarized Inverse MethodExample: Intutionistic LogicThe Inverse MethodFocusing and PolarizationImogen

ApplicationsConstraintsInductionLFM+

2

ConclusionRelated Work

10 / 32

Page 12: Main

Outline

IntroductionTwelf

The Polarized Inverse MethodExample: Intutionistic LogicThe Inverse MethodFocusing and PolarizationImogen

ApplicationsConstraintsInductionLFM+

2

ConclusionRelated Work

11 / 32

Page 13: Main

12 / 32

Page 14: Main

The Inverse Method

13 / 32

Page 15: Main

The Inverse Method

Forward Search

I Why??I Local quantificationI SaturationI Redundancy elimination

Example

14 / 32

Page 16: Main

The Inverse Method

Forward Search

I Why??I Local quantificationI SaturationI Redundancy elimination

Example

....

Γ −→ A

....

Γ −→ B...

14 / 32

Page 17: Main

The Inverse Method

Forward Search

I Why??I Local quantificationI SaturationI Redundancy elimination

Example

abc

14 / 32

Page 18: Main

The Inverse Method

Forward Search

I Why??I Local quantificationI SaturationI Redundancy elimination

Example

Γ,A −→ B Γ −→ B

14 / 32

Page 19: Main

abc

15 / 32

Page 20: Main

Focusing and Polarization

16 / 32

Page 21: Main

Focusing and Polarization

Focused proofs

Inversion proofs

Polarized atoms,

conjunction

All proofs

17 / 32

Page 22: Main

Imogen

18 / 32

Page 23: Main

abc

19 / 32

Page 24: Main

Outline

IntroductionTwelf

The Polarized Inverse MethodExample: Intutionistic LogicThe Inverse MethodFocusing and PolarizationImogen

ApplicationsConstraintsInductionLFM+

2

ConclusionRelated Work

20 / 32

Page 25: Main

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)

Page 26: Main

Constraints

22 / 32

Page 27: Main

abc

23 / 32

Page 28: Main

Induction

24 / 32

Page 29: Main

Inductive loop

Proof Stack

Filling

Splitting

Recursion

Q.E.D.

Unprovable

no

yes

no

no

yesyes

25 / 32

Page 30: Main

LF

26 / 32

Page 31: Main

abc

27 / 32

Page 32: Main

M+2

28 / 32

Page 33: Main

abc

29 / 32

Page 34: Main

Outline

IntroductionTwelf

The Polarized Inverse MethodExample: Intutionistic LogicThe Inverse MethodFocusing and PolarizationImogen

ApplicationsConstraintsInductionLFM+

2

ConclusionRelated Work

30 / 32

Page 35: Main

Related Work

31 / 32

Page 36: Main

The End

Thanks for coming!

32 / 32


Recommended