Unification with Abstraction and Theory Instantiation in Saturation-based Reasoning Giles Reger 1 , Martin Suda 2 , and Andrei Voronkov 1 , 2 , 3 1 School of Computer Science, University of Manchester, UK 2 TU Wien, Vienna, Austria 3 Easychair Matryoshka 2018 1/32
This is a (slightly) extended version of the talk given at TACAS 2018 Thank you to Martin Suda for preparing the slides I also stole some from Martin Riener All mistakes are my own 1/32
Introduction What is Vampire: Automatic Theorem Prover (ATP) for first-order logic Main paradigm: superposition calculus + saturation Also: efficient term indexing use of incomplete strategies strategy scheduling and theory reasoning 2/32
Introduction What is Vampire: Automatic Theorem Prover (ATP) for first-order logic Main paradigm: superposition calculus + saturation Also: efficient term indexing use of incomplete strategies strategy scheduling and theory reasoning Reasoning with Theories huge application demand: program analysis, software verification, . . . inherently hard, especially with quantifiers ! Now available! http://vprover.github.io (License applies) 2/32
Competitions Regular successful participation at the CASC competition Since 2016 also participating in SMT-COMP But it would be nice to get more ‘real’ benchmarks to demonstrate that these results generalise – SMT-COMP is better than CASC for this. Submit your problems to the libraries (if allowed)! 3/32
Reasoning with Quantifiers and Theories Two Dimensions of Complexity ∀∃ ATP DANGER theory axioms ZONE ... AVATAR mod Theories SMT E-matching ... gnd Z / R: +-*/ select / store 4/32
Reasoning with Quantifiers and Theories Two Dimensions of Complexity ∀∃ ATP gnd Z / R: +-*/ select / store 4/32
Reasoning with Quantifiers and Theories Two Dimensions of Complexity ∀∃ ATP gnd SMT Z / R: +-*/ select / store 4/32
Reasoning with Quantifiers and Theories Two Dimensions of Complexity ∀∃ E SPASS ATP VAMPIRE ... CVC4 veriT Z3 ... gnd SMT Z / R: +-*/ select / store 4/32
Reasoning with Quantifiers and Theories Two Dimensions of Complexity ∀∃ ATP gnd SMT Z / R: +-*/ select / store 4/32
Reasoning with Quantifiers and Theories Two Dimensions of Complexity ∀∃ ATP SMT E-matching ... gnd Z / R: +-*/ select / store 4/32
Reasoning with Quantifiers and Theories Two Dimensions of Complexity ∀∃ ATP theory axioms ... SMT E-matching ... gnd Z / R: +-*/ select / store 4/32
Reasoning with Quantifiers and Theories Two Dimensions of Complexity ∀∃ ATP theory axioms ... AVATAR mod Theories SMT E-matching ... gnd Z / R: +-*/ select / store 4/32
Our Paper in One Slide Contribution 1: Theory Instantiation Rule 5/32
Our Paper in One Slide Contribution 1: Theory Instantiation Rule derives a simplifying instance of a non-ground clause 5/32
Our Paper in One Slide Contribution 1: Theory Instantiation Rule derives a simplifying instance of a non-ground clause 14 x �≃ x 2 + 49 ∨ p ( x ) 5/32
Our Paper in One Slide Contribution 1: Theory Instantiation Rule derives a simplifying instance of a non-ground clause 14 x �≃ x 2 + 49 ∨ p ( x ) = ⇒ p ( 7 ) 5/32
Our Paper in One Slide Contribution 1: Theory Instantiation Rule derives a simplifying instance of a non-ground clause 14 x �≃ x 2 + 49 ∨ p ( x ) = ⇒ p ( 7 ) by utilising ground SMT solving 5/32
Our Paper in One Slide Contribution 1: Theory Instantiation Rule derives a simplifying instance of a non-ground clause 14 x �≃ x 2 + 49 ∨ p ( x ) = ⇒ p ( 7 ) by utilising ground SMT solving (current) limitation: complete theories (e.g. arithmetic) 5/32
Our Paper in One Slide Contribution 1: Theory Instantiation Rule derives a simplifying instance of a non-ground clause 14 x �≃ x 2 + 49 ∨ p ( x ) = ⇒ p ( 7 ) by utilising ground SMT solving (current) limitation: complete theories (e.g. arithmetic) Contribution 2: Unification with Abstraction extension of unification that introduces theory constraints 5/32
Our Paper in One Slide Contribution 1: Theory Instantiation Rule derives a simplifying instance of a non-ground clause 14 x �≃ x 2 + 49 ∨ p ( x ) = ⇒ p ( 7 ) by utilising ground SMT solving (current) limitation: complete theories (e.g. arithmetic) Contribution 2: Unification with Abstraction extension of unification that introduces theory constraints p ( 2 x ) against ¬ p ( 10 ) 5/32
Our Paper in One Slide Contribution 1: Theory Instantiation Rule derives a simplifying instance of a non-ground clause 14 x �≃ x 2 + 49 ∨ p ( x ) = ⇒ p ( 7 ) by utilising ground SMT solving (current) limitation: complete theories (e.g. arithmetic) Contribution 2: Unification with Abstraction extension of unification that introduces theory constraints p ( 2 x ) against ¬ p ( 10 ) = ⇒ 2 x �≃ 10 5/32
Our Paper in One Slide Contribution 1: Theory Instantiation Rule derives a simplifying instance of a non-ground clause 14 x �≃ x 2 + 49 ∨ p ( x ) = ⇒ p ( 7 ) by utilising ground SMT solving (current) limitation: complete theories (e.g. arithmetic) Contribution 2: Unification with Abstraction extension of unification that introduces theory constraints p ( 2 x ) against ¬ p ( 10 ) = ⇒ 2 x �≃ 10 a lazy approach to abstraction 5/32
Our Paper in One Slide Contribution 1: Theory Instantiation Rule derives a simplifying instance of a non-ground clause 14 x �≃ x 2 + 49 ∨ p ( x ) = ⇒ p ( 7 ) by utilising ground SMT solving (current) limitation: complete theories (e.g. arithmetic) Contribution 2: Unification with Abstraction extension of unification that introduces theory constraints p ( 2 x ) against ¬ p ( 10 ) = ⇒ 2 x �≃ 10 a lazy approach to abstraction new constrains can be often “discharged” by 1. 5/32
Outline A Brief Introduction to Saturation-Based Proving 1 Previous Methods for Theory Reasoning in Vampire 2 Theory Instantiation and Unification with Abstraction 3 Experimental Results 4 Ongoing and Future Work 5 6/32
Theorem Proving Pipeline in One Slide Standard form of the input: F := ( Axiom 1 ∧ . . . ∧ Axiom n ) → Conjecture 7/32
Theorem Proving Pipeline in One Slide Standard form of the input: F := ( Axiom 1 ∧ . . . ∧ Axiom n ) → Conjecture 1 Negate F to seek a refutation: ¬ F := Axiom 1 ∧ . . . ∧ Axiom n ∧ ¬ Conjecture 7/32
Theorem Proving Pipeline in One Slide Standard form of the input: F := ( Axiom 1 ∧ . . . ∧ Axiom n ) → Conjecture 1 Negate F to seek a refutation: ¬ F := Axiom 1 ∧ . . . ∧ Axiom n ∧ ¬ Conjecture 2 Preprocess and transform ¬ F to clause normal form (CNF) S := { C 1 , . . . , C n } 7/32
Theorem Proving Pipeline in One Slide Standard form of the input: F := ( Axiom 1 ∧ . . . ∧ Axiom n ) → Conjecture 1 Negate F to seek a refutation: ¬ F := Axiom 1 ∧ . . . ∧ Axiom n ∧ ¬ Conjecture 2 Preprocess and transform ¬ F to clause normal form (CNF) S := { C 1 , . . . , C n } 3 saturate S with respect to the superposition calculus aiming to derive the obvious contradiction ⊥ 7/32
Saturation = fixed-point computation Given Clause Algorithm: set of active clauses is stored in indexing structures passive works like a priority queue the process is “explosive” in nature 8/32
Controlling the Growth of the Search Space Superposition rule t [ s ] p ⊗ t ′ ∨ C 2 l ≃ r ∨ C 1 L [ s ] p ∨ C 2 l ≃ r ∨ C 1 , or ( t [ r ] p ⊗ t ′ ∨ C 1 ∨ C 2 ) θ ( L [ r ] p ∨ C 1 ∨ C 2 ) θ where θ = mgu ( l , s ) and r θ �� l θ and, for the left rule L [ s ] is not an equality literal, and for the right rule ⊗ stands either for ≃ or �≃ and t ′ θ �� t [ s ] θ 9/32
Controlling the Growth of the Search Space Superposition rule t [ s ] p ⊗ t ′ ∨ C 2 l ≃ r ∨ C 1 L [ s ] p ∨ C 2 l ≃ r ∨ C 1 , or ( t [ r ] p ⊗ t ′ ∨ C 1 ∨ C 2 ) θ ( L [ r ] p ∨ C 1 ∨ C 2 ) θ where θ = mgu ( l , s ) and r θ �� l θ and, for the left rule L [ s ] is not an equality literal, and for the right rule ⊗ stands either for ≃ or �≃ and t ′ θ �� t [ s ] θ Saturation up to Redundancy redundant clauses can be safely removed subsumption - an example reduction: remove C in the presence of D such that D σ ⊂ C 9/32
Controlling the Growth of the Search Space Superposition rule t [ s ] p ⊗ t ′ ∨ C 2 l ≃ r ∨ C 1 L [ s ] p ∨ C 2 l ≃ r ∨ C 1 , or ( t [ r ] p ⊗ t ′ ∨ C 1 ∨ C 2 ) θ ( L [ r ] p ∨ C 1 ∨ C 2 ) θ where θ = mgu ( l , s ) and r θ �� l θ and, for the left rule L [ s ] is not an equality literal, and for the right rule ⊗ stands either for ≃ or �≃ and t ′ θ �� t [ s ] θ Saturation up to Redundancy redundant clauses can be safely removed subsumption - an example reduction: remove C in the presence of D such that D σ ⊂ C Completeness considerations 9/32
Outline A Brief Introduction to Saturation-Based Proving 1 Previous Methods for Theory Reasoning in Vampire 2 Theory Instantiation and Unification with Abstraction 3 Experimental Results 4 Ongoing and Future Work 5 10/32
Recommend
More recommend