Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
A Generic Tableau Prover
and Its Integration with Isabelle
Lawrence C. Paulson
Computer Laboratory
University of Cambridge...
Overview of Isabelle
• a generic interactive prover for FOL, set theory, HOL, . . .
• Prolog influence: resolution of gener...
Objectives for the New Tactic
• Genericity: no restriction to predicate logic
• Power: quantifier duplication, transitivity...
Why Write a New Tableau Prover?
Q. Why not rewrite with A ⊆ B ⇐⇒ ∀x (x ∈ A → x ∈ B)?
A. Destroys legibility
A. Not always ...
Typical Generic Tableau Rules
type α type γ/β type δ/α
t ∈ A ∩ B
t ∈ A
t ∈ B
A ⊆ B
¬(?x ∈ A) | ?x ∈ B
¬(A ⊆ B)
s ∈ A
¬(s ∈...
Prover Architecture
Free-variable tableau with iterative deepening (leanTaP)
Term data structure: no types; variables as p...
Integration I: Translating Isabelle Rules
• multiple goal formulas via negation
• dual Skolemization ⇒ standard Skolemizat...
Integration II: Translating Tableau Proofs
Isabelle checks the proof—often the slowest phase
• direct correspondence from ...
Results & Limitations
Good performance on first-order benchmarks e.g. Pelletier’s
Mostly compatible with fast_tac; can be 1...
Conclusions
• the first tableau prover with higher-order syntax?
• the first tableau prover for ZF, HOL, inductive definition...
Upcoming SlideShare
Loading in …5
×

A Generic Tableau Prover and Its Integration with Isabelle

293 views

Published on

Published in the CADE-15 Workshop on Integration of Deductive Systems (1998). Describes the automatic theorem proving technology used in the Isabelle system.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

A Generic Tableau Prover and Its Integration with Isabelle

  1. 1. A Generic Tableau Prover and Its Integration with Isabelle Lawrence C. Paulson Computer Laboratory University of Cambridge 1
  2. 2. Overview of Isabelle • a generic interactive prover for FOL, set theory, HOL, . . . • Prolog influence: resolution of generalized Horn clauses Existing classical reasoner (Fast tac) • tableau methods • generic: accepts supplied rules • runs on Isabelle’s Prolog engine (trivial integration) 2
  3. 3. Objectives for the New Tactic • Genericity: no restriction to predicate logic • Power: quantifier duplication, transitivity reasoning . . . • Speed: perhaps 10–20 seconds for interactive use • Compatibility with Isabelle’s existing tools (Fast tac) 3
  4. 4. Why Write a New Tableau Prover? Q. Why not rewrite with A ⊆ B ⇐⇒ ∀x (x ∈ A → x ∈ B)? A. Destroys legibility A. Not always possible: inductive definitions Q. Why not just call Otter, SETHEO or LeanTaP? A. We need higher-order syntax 4
  5. 5. Typical Generic Tableau Rules type α type γ/β type δ/α t ∈ A ∩ B t ∈ A t ∈ B A ⊆ B ¬(?x ∈ A) | ?x ∈ B ¬(A ⊆ B) s ∈ A ¬(s ∈ B) Complications from genericity: • overloading store some type info • variable instantiation heuristic limits • recursive rules ad-hoc checks 5
  6. 6. Prover Architecture Free-variable tableau with iterative deepening (leanTaP) Term data structure: no types; variables as pointers Basic heuristics • discrimination nets • search-space pruning • delayed use of unsafe rules (γ-rules) • suppressing needless duplication 6
  7. 7. Integration I: Translating Isabelle Rules • multiple goal formulas via negation • dual Skolemization ⇒ standard Skolemization • simplification of higher-order conclusions (η-contraction) • limitations on function variables • type translation for overloading 7
  8. 8. Integration II: Translating Tableau Proofs Isabelle checks the proof—often the slowest phase • direct correspondence from proof steps to Isabelle tactics • failure might be caused by – breakdown of the correspondence – type complications • recomputation of unifiers • fancy tricks not possible (e.g. liberalized δ-rule) 8
  9. 9. Results & Limitations Good performance on first-order benchmarks e.g. Pelletier’s Mostly compatible with fast_tac; can be 10 times faster • and proves more theorems • but slower for some ‘obvious’ problems Set theory challenge: (∀x, y ∈ S x ⊆ y) → ∃z S ⊆ {z} 9
  10. 10. Conclusions • the first tableau prover with higher-order syntax? • the first tableau prover for ZF, HOL, inductive definitions, . . . ? • has almost replaced fast_tac • a good example of integration in daily use 10

×