Max-Planck-Institut f¨ ur Informatik
Un environnement de d´ emonstration universel
Talk at CPR
Guillaume Burel Wednesday March 24th, 2010
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 1/37
Un environnement de d emonstration universel Talk at CPR - - PowerPoint PPT Presentation
Max-Planck-Institut f ur Informatik Un environnement de d emonstration universel Talk at CPR Guillaume Burel Wednesday March 24th, 2010 Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d emonstration universel 1/37
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 1/37
Proving in theories
◮ arithmetic (fragment of) ◮ set theory ◮ pointer arithmetic ◮ lists ◮ higher order logic (Church’s simple type theory) ◮ ...
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 2/37
Proving in theories
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 3/37
Proving in theories
⌢
−
Γ, 1 + O = 1 − 1 + O = 1, 1 + 1 = 2
∀−
Γ − 1 + O = 1, 1 + 1 = 2
⌢
−
Γ, 1 + 1 = s(1 + O) − 1 + 1 = s(1 + O), 1 + 1 = 2
∀−
Γ − 1 + 1 = s(1 + O), 1 + 1 = 2
⌢
−
Γ, 1 + 1 = 2 − 1 + 1 = 2
⇒−
Γ, 1 + 1 = s(1 + O) ⇒ 1 + 1 = 2 − 1 + 1 = 2 . . .
⇒−
Γ, 1 + O = 1 ⇒ 1 + 1 = s(1 + O) ⇒ 1 + 1 = 2 − 1 + 1 = 2
∀−
Γ − 1 + 1 = 2
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 4/37
Proving in theories
◮ Satisfiability Modulo Theory: efficient proof search
DPLL(T) [Ganzinger, Hagen, Nieuwenhuis, Oliveras and Tinelli, 2004]
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 5/37
Proving in theories
◮ Satisfiability Modulo Theory: efficient proof search
DPLL(T) [Ganzinger, Hagen, Nieuwenhuis, Oliveras and Tinelli, 2004]
◮ Dependent and Inductive Types: universal, hard to
Coq, Isabelle, etc.
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 5/37
Proving in theories
◮ Satisfiability Modulo Theory: efficient proof search
DPLL(T) [Ganzinger, Hagen, Nieuwenhuis, Oliveras and Tinelli, 2004]
◮ Dependent and Inductive Types: universal, hard to
Coq, Isabelle, etc.
◮ Deduction Modulo and Superdeduction
[Dowek et al., 2003, Wack, 2005]
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 5/37
Deduction modulo
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 6/37
Deduction modulo
−⊤
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 7/37
Superdeduction
−⇒
−∀ Γ − ∀y, y ∈ b ⇒ y ≤ t −∧
−← →∗
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 8/37
Superdeduction
−⇒
−∀ Γ − ∀y, y ∈ b ⇒ y ≤ t −∧
−← →∗
−Maxdef
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 8/37
Superdeduction
◮ Natural deduction ❀ supernatural deduction
◮ Sequent calculus ❀ extensible sequent calculus
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 9/37
Introduction Building Provers Adapted to Theories
Proof Length Speed-ups A Universal Framework Conclusion
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 10/37
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 11/37
1 Transform the presentation of the theory into a rewrite
2 Use the rewrite system in a prover based on deduction
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 12/37
From Theories to Rewrite Systems
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 13/37
From Theories to Rewrite Systems
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 13/37
From Theories to Rewrite Systems
−⇒
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 14/37
From Theories to Rewrite Systems
−⇒
−∃
−∨
−∀
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 14/37
From Theories to Rewrite Systems
−
⌣
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 15/37
From Theories to Rewrite Systems
◮ Implies the consistency of the theory defined by the
◮ Is equivalent to the completeness of the proof-search
A − → P
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 16/37
From Theories to Rewrite Systems
⌢
−
⌢
− A − A ⇒−
↑−
⌢
− A − A, B −⇒
−↑
−
⌣
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 17/37
From Theories to Rewrite Systems
⌢
−
⌢
− A − A ⇒−
↑−
⌢
− A − A, B −⇒
−↑
−
⌣
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 17/37
From Theories to Rewrite Systems
⌢
− A, B −
⌢
− A − A ⇒−
↑−
⌢
− A − A, B −⇒
−↑
−
⌣
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 17/37
From Theories to Rewrite Systems
⌢
− A, B − B
⌢
− A − A, B ⇒−
↑−
⌢
− A − A, B −⇒
−↑
−
⌣
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 17/37
From Theories to Rewrite Systems
⌢
− A, B − B
⌢
− A − A, B ⇒−
↑−
⌢
− A − A, B −⇒
−↑
−
⌣
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 17/37
From Theories to Rewrite Systems
◮ If only terms are rewritten: cut admissibility = confluence
◮ If propositions are rewritten: need for a generalization of
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 18/37
From Theories to Rewrite Systems
↑−
↑−
−
⌣
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 19/37
From Theories to Rewrite Systems
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 20/37
Implementing a Prover
◮ probably inefficient
◮ term indexing ◮ literal selection ◮ clause simplification
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 21/37
Implementing a Prover
Q − →− D
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 22/37
Implementing a Prover
Q − →− D
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 22/37
Implementing a Prover
Q − →− D
◮ Only ¬Q can be used in a resolution ◮ Two clauses coming from polarized rules cannot be
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 22/37
Implementing a Prover
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 23/37
Implementing a Prover
◮ strict subsumption elimination ◮ demodulation
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 24/37
Implementing a Prover
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 25/37
Introduction Building Provers Adapted to Theories Proof Length Speed-ups A Universal Framework Conclusion
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 26/37
⌢ −
Γ, 1 + O = 1 − 1 + O = 1, 1 + 1 = 2
∀−
Γ − 1 + O = 1, 1 + 1 = 2
⌢ −
Γ, 1 + 1 = s(1 + O) − 1 + 1 = s(1 + O), 1 + 1 = 2
∀−
Γ − 1 + 1 = s(1 + O), 1 + 1 = 2
⌢ −
Γ, 1 + 1 = 2 − 1 + 1 = 2
⇒−
Γ, 1 + 1 = s(1 + O) ⇒ 1 + 1 = 2 − 1 + 1 = 2 . . .
⇒−
Γ, 1 + O = 1 ⇒ 1 + 1 = s(1 + O) ⇒ 1 + 1 = 2 − 1 + 1 = 2
∀−
Γ − 1 + 1 = 2
−⊤
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 27/37
◮ for all j, FOA
◮ there exists k such that for all j, SOA k Pj ◮ there exists no k such that for all j, FOA k Pj
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 28/37
◮ for all j, FOA
◮ there exists k such that for all j, SOA k Pj ◮ there exists no k such that for all j, FOA k Pj
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 28/37
Introduction Building Provers Adapted to Theories Proof Length Speed-ups A Universal Framework Conclusion
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 29/37
◮ simple type theory (HOL) [Dowek et al., 2001] ◮ Peano’s arithmetic [Dowek and Werner, 2005] ◮ Zermelo’s set theory [Dowek and Miquel, 2006]
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 30/37
◮ bases of many proof assistants ◮ can often be used as logical framework
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 31/37
− (prod)
Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 32/37
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 33/37
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 33/37
Introduction Building Provers Adapted to Theories Proof Length Speed-ups A Universal Framework Conclusion
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 34/37
◮ reasoning with computations ◮ reducing proof length ◮ expressing non-trivial theories and inference systems ◮ systematically producing provers adapted to a given
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 35/37
◮ deduction modulo and equality ◮ decision procedures from refinement of PRM ◮ a modular proof environment
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 36/37
proof
proof
CoqInE
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 37/37
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 37/37
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 37/37
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 37/37
Guillaume Burel: Talk at CPR, 2010-03-24 Un environnement de d´ emonstration universel 37/37