Global Ground Subsumption [Korovin IJCAR’08] S gr C ¬ Q ( a , b ) ∨ P ( a ) ∨ P ( b ) ✘ ✘ P ( a ) ∨ ✘✘✘ Q ( c , d ) ∨ ✘✘✘ Q ( a , c ) P ( a ) ∨ Q ( a , b ) ¬ P ( b ) A minimal D ⊂ C such that S gr | = D can be found in a linear number of implication checks. Global Ground Subsumption generalises: ◮ strict subsumption ◮ subsumption resolution ◮ . . . 32 / 144
Non-Ground Simplifications by SAT/SMT [Korovin IJCAR’08] Off-the-shelf ground solver can be used to simplify ground clauses. Can we do more? 33 / 144
Non-Ground Simplifications by SAT/SMT [Korovin IJCAR’08] Off-the-shelf ground solver can be used to simplify ground clauses. Can we do more? Yes! Ground solver can be used to simplify non-ground clauses. 34 / 144
Non-Ground Simplifications by SAT/SMT [Korovin IJCAR’08] Off-the-shelf ground solver can be used to simplify ground clauses. Can we do more? Yes! Ground solver can be used to simplify non-ground clauses. The main idea: S gr | = ∀ ¯ xC (¯ x ) 35 / 144
Non-Ground Simplifications by SAT/SMT [Korovin IJCAR’08] Off-the-shelf ground solver can be used to simplify ground clauses. Can we do more? Yes! Ground solver can be used to simplify non-ground clauses. The main idea: = C ( ¯ ¯ S gr | = ∀ ¯ xC (¯ x ) S gr | d ) for fresh d 36 / 144
Non-Ground Simplifications by SAT/SMT [Korovin IJCAR’08] Off-the-shelf ground solver can be used to simplify ground clauses. Can we do more? Yes! Ground solver can be used to simplify non-ground clauses. The main idea: = C ( ¯ ¯ S gr | = ∀ ¯ xC (¯ x ) S gr | d ) for fresh d C 1 ( ¯ d ) , . . . , C n ( ¯ = C ( ¯ C 1 (¯ x ) , . . . , C n (¯ x ) ∈ S d ) | d ) 37 / 144
Non-Ground Simplifications by SAT/SMT [Korovin IJCAR’08] Off-the-shelf ground solver can be used to simplify ground clauses. Can we do more? Yes! Ground solver can be used to simplify non-ground clauses. The main idea: = C ( ¯ ¯ S gr | = ∀ ¯ xC (¯ x ) S gr | d ) for fresh d C 1 ( ¯ d ) , . . . , C n ( ¯ = C ( ¯ C 1 (¯ x ) , . . . , C n (¯ x ) ∈ S d ) | d ) as C 1 (¯ x ) , . . . , C n (¯ x ) ≺ C (¯ x ) in Global Subsumption Non-Ground Global Subsumption 38 / 144
Non-Ground Global Subsumption S C ¬ P ( x ) ∨ Q ( x ) S ( x , y ) ∨ Q ( x ) ¬ Q ( x ) ∨ S ( x , y ) P ( x ) ∨ S ( x , y ) Simplify first-order by purely ground reasoning! 39 / 144
Non-Ground Global Subsumption S C ¬ P ( x ) ∨ Q ( x ) S ( x , y ) ∨ Q ( x ) ¬ Q ( x ) ∨ S ( x , y ) P ( x ) ∨ S ( x , y ) S gr C gr ¬ P ( a ) ∨ Q ( a ) S ( a , b ) ∨ Q ( a ) ¬ Q ( a ) ∨ S ( a , b ) P ( a ) ∨ S ( a , b ) Simplify first-order by purely ground reasoning! 40 / 144
Non-Ground Global Subsumption S C ¬ P ( x ) ∨ Q ( x ) S ( x , y ) ∨ Q ( x ) ¬ Q ( x ) ∨ S ( x , y ) P ( x ) ∨ S ( x , y ) S gr C gr ¬ P ( a ) ∨ Q ( a ) ✟ S ( a , b ) ∨ ✟✟ Q ( a ) ¬ Q ( a ) ∨ S ( a , b ) P ( a ) ∨ S ( a , b ) Simplify first-order by purely ground reasoning! 41 / 144
Non-Ground Global Subsumption S C ¬ P ( x ) ∨ Q ( x ) ✟ S ( x , y ) ∨ ✟✟ Q ( x ) ¬ Q ( x ) ∨ S ( x , y ) P ( x ) ∨ S ( x , y ) S gr C gr ¬ P ( a ) ∨ Q ( a ) ✟ S ( a , b ) ∨ ✟✟ Q ( a ) ¬ Q ( a ) ∨ S ( a , b ) P ( a ) ∨ S ( a , b ) Simplify first-order by purely ground reasoning! 42 / 144
Non-Ground Global Subsumption S C ¬ P ( x ) ∨ Q ( x ) ✟ S ( x , y ) ∨ ✟✟ Q ( x ) ✭ ✭✭✭✭✭✭✭ ¬ Q ( x ) ∨ S ( x , y ) ✭✭✭✭✭✭ ✭ P ( x ) ∨ S ( x , y ) S gr C gr ¬ P ( a ) ∨ Q ( a ) ✟ S ( a , b ) ∨ ✟✟ Q ( a ) ✭✭✭✭✭✭✭ ¬ Q ( a ) ∨ S ( a , b ) ✭✭✭✭✭✭ ✭ P ( a ) ∨ S ( a , b ) Simplify first-order by purely ground reasoning! 43 / 144
Finer-grained control: closure orderings Finer-grained control: replace ground clauses with ground closures. Closure, a closure is a pair C · σ , where C is a clause and σ a grounding substitution ( A ( a ) ∨ B ( x )) · [ b / x ] Represents: ground clause C σ A ( a ) ∨ B ( b ) Closure ordering: any total, well-founded ordering such that C θ · τ ≺ C · σ if ◮ C σ = C θτ , and ◮ θ properly instantiates C Slogan: more specific representations take priority over less specific ones Ex: ( p ( a ) ∨ q ( z )) · [ b / z ] ≺ ( p ( y ) ∨ q ( z )) · [ a / y , b / z ] 44 / 144
Finer-grained control: closure orderings Finer-grained control: replace ground clauses with ground closures. Closure, a closure is a pair C · σ , where C is a clause and σ a grounding substitution ( A ( a ) ∨ B ( x )) · [ b / x ] Represents: ground clause C σ A ( a ) ∨ B ( b ) Closure ordering: any total, well-founded ordering such that C θ · τ ≺ C · σ if ◮ C σ = C θτ , and ◮ θ properly instantiates C Slogan: more specific representations take priority over less specific ones Ex: ( p ( a ) ∨ q ( z )) · [ b / z ] ≺ ( p ( y ) ∨ q ( z )) · [ a / y , b / z ] 45 / 144
Finer-grained control: closure orderings Finer-grained control: replace ground clauses with ground closures. Closure, a closure is a pair C · σ , where C is a clause and σ a grounding substitution ( A ( a ) ∨ B ( x )) · [ b / x ] Represents: ground clause C σ A ( a ) ∨ B ( b ) Closure ordering: any total, well-founded ordering such that C θ · τ ≺ C · σ if ◮ C σ = C θτ , and ◮ θ properly instantiates C Slogan: more specific representations take priority over less specific ones Ex: ( p ( a ) ∨ q ( z )) · [ b / z ] ≺ ( p ( y ) ∨ q ( z )) · [ a / y , b / z ] 46 / 144
Closure-based redundancy elimination Definition call C · σ redundant in S if ◮ C 1 · σ 1 , . . . , C n · σ n | = C · σ and ◮ C 1 · σ 1 , . . . , C n · σ n ≺ C · σ Theorem. [Ganzinger, Korovin] Redundant closures (and clauses) can be eliminated. Consequences: ◮ generalises usual redundancy ◮ new instantiation specific redundancies ◮ blocking non-proper instances (merging variables) can be eliminated ◮ dismatching constraints ◮ redundancy for inferences 47 / 144
Dismatching Constraints [Korovin (IJCAR’08, vol. HG’13)] Example: p ( x ) ∨ ¬ q ( f ( x )) (1) p ( f ( x )) ∨ ¬ q ( f ( f ( x ))) (2) q(f(f(a))) (3) Then the inference between (1) and (2) is redundant! Why? the conclusion is represented twice p ( f ( a )) ∨ ¬ q ( f ( f ( a ))) p ( f ( x )) ∨ ¬ q ( f ( f ( x ))) · [ a / x ] ≺ p ( x ) ∨ ¬ q ( f ( x )) · [ f ( a ) / x ] This can be represented as a dismatching constraint. p ( x ) ∨ ¬ q ( f ( x )) | x ⊳ ds f ( x ) How to make closures redundant? Instantiate! Every proper instantiation inference makes closures redundant in the premise. 48 / 144
Dismatching Constraints [Korovin (IJCAR’08, vol. HG’13)] Example: p ( x ) ∨ ¬ q ( f ( x )) (1) p ( f ( x )) ∨ ¬ q ( f ( f ( x ))) (2) q(f(f(a))) (3) Then the inference between (1) and (2) is redundant! Why? the conclusion is represented twice p ( f ( a )) ∨ ¬ q ( f ( f ( a ))) p ( f ( x )) ∨ ¬ q ( f ( f ( x ))) · [ a / x ] ≺ p ( x ) ∨ ¬ q ( f ( x )) · [ f ( a ) / x ] This can be represented as a dismatching constraint. p ( x ) ∨ ¬ q ( f ( x )) | x ⊳ ds f ( x ) How to make closures redundant? Instantiate! Every proper instantiation inference makes closures redundant in the premise. 49 / 144
Dismatching Constraints [Korovin (IJCAR’08, vol. HG’13)] Example: p ( x ) ∨ ¬ q ( f ( x )) (1) p ( f ( x )) ∨ ¬ q ( f ( f ( x ))) (2) q(f(f(a))) (3) Then the inference between (1) and (2) is redundant! Why? the conclusion is represented twice p ( f ( a )) ∨ ¬ q ( f ( f ( a ))) p ( f ( x )) ∨ ¬ q ( f ( f ( x ))) · [ a / x ] ≺ p ( x ) ∨ ¬ q ( f ( x )) · [ f ( a ) / x ] This can be represented as a dismatching constraint. p ( x ) ∨ ¬ q ( f ( x )) | x ⊳ ds f ( x ) How to make closures redundant? Instantiate! Every proper instantiation inference makes closures redundant in the premise. 50 / 144
Dismatching Constraints [Korovin (IJCAR’08, vol. HG’13)] Example: p ( x ) ∨ ¬ q ( f ( x )) (1) p ( f ( x )) ∨ ¬ q ( f ( f ( x ))) (2) q(f(f(a))) (3) Then the inference between (1) and (2) is redundant! Why? the conclusion is represented twice p ( f ( a )) ∨ ¬ q ( f ( f ( a ))) p ( f ( x )) ∨ ¬ q ( f ( f ( x ))) · [ a / x ] ≺ p ( x ) ∨ ¬ q ( f ( x )) · [ f ( a ) / x ] This can be represented as a dismatching constraint. p ( x ) ∨ ¬ q ( f ( x )) | x ⊳ ds f ( x ) How to make closures redundant? Instantiate! Every proper instantiation inference makes closures redundant in the premise. 51 / 144
Dismatching Constraints [Korovin (IJCAR’08, vol. HG’13)] Example: p ( x ) ∨ ¬ q ( f ( x )) (1) p ( f ( x )) ∨ ¬ q ( f ( f ( x ))) (2) q(f(f(a))) (3) Then the inference between (1) and (2) is redundant! Why? the conclusion is represented twice p ( f ( a )) ∨ ¬ q ( f ( f ( a ))) p ( f ( x )) ∨ ¬ q ( f ( f ( x ))) · [ a / x ] ≺ p ( x ) ∨ ¬ q ( f ( x )) · [ f ( a ) / x ] This can be represented as a dismatching constraint. p ( x ) ∨ ¬ q ( f ( x )) | x ⊳ ds f ( x ) How to make closures redundant? Instantiate! Every proper instantiation inference makes closures redundant in the premise. 52 / 144
Dismatching Constraints [Korovin (IJCAR’08, vol. HG’13)] Example: p ( x ) ∨ ¬ q ( f ( x )) (1) p ( f ( x )) ∨ ¬ q ( f ( f ( x ))) (2) q(f(f(a))) (3) Then the inference between (1) and (2) is redundant! Why? the conclusion is represented twice p ( f ( a )) ∨ ¬ q ( f ( f ( a ))) p ( f ( x )) ∨ ¬ q ( f ( f ( x ))) · [ a / x ] ≺ p ( x ) ∨ ¬ q ( f ( x )) · [ f ( a ) / x ] This can be represented as a dismatching constraint. p ( x ) ∨ ¬ q ( f ( x )) | x ⊳ ds f ( x ) How to make closures redundant? Instantiate! Every proper instantiation inference makes closures redundant in the premise. 53 / 144
Dismatching Constraints [Korovin (IJCAR’08, vol. HG’13)] Example: p ( x ) ∨ ¬ q ( f ( x )) (1) p ( f ( x )) ∨ ¬ q ( f ( f ( x ))) (2) q(f(f(a))) (3) Then the inference between (1) and (2) is redundant! Why? the conclusion is represented twice p ( f ( a )) ∨ ¬ q ( f ( f ( a ))) p ( f ( x )) ∨ ¬ q ( f ( f ( x ))) · [ a / x ] ≺ p ( x ) ∨ ¬ q ( f ( x )) · [ f ( a ) / x ] This can be represented as a dismatching constraint. p ( x ) ∨ ¬ q ( f ( x )) | x ⊳ ds f ( x ) How to make closures redundant? Instantiate! Every proper instantiation inference makes closures redundant in the premise. 54 / 144
Dismatching Constraints [Korovin IJCAR’08, HG’13] Example A ( f ( y )) ∨ D 1 ¬ A ( x ) ∨ C A ( f 3 ( y )) ∨ D 2 A ( f 5 ( y )) ∨ D 3 . . . A ( f i n ( y )) ∨ D n All other inferences with ¬ A ( x ) ∨ C are blocked! Premises inherit the constraints during instantiation inferences. 55 / 144
Dismatching Constraints [Korovin IJCAR’08, HG’13] Example A ( f ( y )) ∨ D 1 ¬ A ( x ) ∨ C | x ⊳ ds f ( y ) A ( f 3 ( y )) ∨ D 2 ¬ A ( f ( y )) ∨ C A ( f 5 ( y )) ∨ D 3 . . . A ( f i n ( y )) ∨ D n All other inferences with ¬ A ( x ) ∨ C are blocked! Premises inherit the constraints during instantiation inferences. 56 / 144
Dismatching Constraints [Korovin IJCAR’08, HG’13] Example A ( f ( y )) ∨ D 1 ¬ A ( x ) ∨ C | x ⊳ ds f ( y ) A ( f 3 ( y )) ∨ D 2 ¬ A ( f ( y )) ∨ C A ( f 5 ( y )) ∨ D 3 . . . A ( f i n ( y )) ∨ D n All other inferences with ¬ A ( x ) ∨ C are blocked! Premises inherit the constraints during instantiation inferences. 57 / 144
Summary Inst-Gen modular instantiation based reasoning for first-order logic. ◮ Inst-Gen is sound and complete for first-order logic ◮ combines efficient ground reasoning with first-order reasoning ◮ decision procedure for effectively propositional logic (EPR) ◮ redundancy elimination ◮ usual: tautology elimination, strict subsumption ◮ global subsumption: non-ground simplifications using SAT/SMT reasoning ◮ closure-based redundancies: ◮ blocking non-proper instantiators ◮ dismatching constraints 58 / 144
Summary Inst-Gen modular instantiation based reasoning for first-order logic. ◮ Inst-Gen is sound and complete for first-order logic ◮ combines efficient ground reasoning with first-order reasoning ◮ decision procedure for effectively propositional logic (EPR) ◮ redundancy elimination ◮ usual: tautology elimination, strict subsumption ◮ global subsumption: non-ground simplifications using SAT/SMT reasoning ◮ closure-based redundancies: ◮ blocking non-proper instantiators ◮ dismatching constraints 59 / 144
Summary Inst-Gen modular instantiation based reasoning for first-order logic. ◮ Inst-Gen is sound and complete for first-order logic ◮ combines efficient ground reasoning with first-order reasoning ◮ decision procedure for effectively propositional logic (EPR) ◮ redundancy elimination ◮ usual: tautology elimination, strict subsumption ◮ global subsumption: non-ground simplifications using SAT/SMT reasoning ◮ closure-based redundancies: ◮ blocking non-proper instantiators ◮ dismatching constraints 60 / 144
Summary Inst-Gen modular instantiation based reasoning for first-order logic. ◮ Inst-Gen is sound and complete for first-order logic ◮ combines efficient ground reasoning with first-order reasoning ◮ decision procedure for effectively propositional logic (EPR) ◮ redundancy elimination ◮ usual: tautology elimination, strict subsumption ◮ global subsumption: non-ground simplifications using SAT/SMT reasoning ◮ closure-based redundancies: ◮ blocking non-proper instantiators ◮ dismatching constraints 61 / 144
Summary Inst-Gen modular instantiation based reasoning for first-order logic. ◮ Inst-Gen is sound and complete for first-order logic ◮ combines efficient ground reasoning with first-order reasoning ◮ decision procedure for effectively propositional logic (EPR) ◮ redundancy elimination ◮ usual: tautology elimination, strict subsumption ◮ global subsumption: non-ground simplifications using SAT/SMT reasoning ◮ closure-based redundancies: ◮ blocking non-proper instantiators ◮ dismatching constraints 62 / 144
Summary Inst-Gen modular instantiation based reasoning for first-order logic. ◮ Inst-Gen is sound and complete for first-order logic ◮ combines efficient ground reasoning with first-order reasoning ◮ decision procedure for effectively propositional logic (EPR) ◮ redundancy elimination ◮ usual: tautology elimination, strict subsumption ◮ global subsumption: non-ground simplifications using SAT/SMT reasoning ◮ closure-based redundancies: ◮ blocking non-proper instantiators ◮ dismatching constraints 63 / 144
Summary Inst-Gen modular instantiation based reasoning for first-order logic. ◮ Inst-Gen is sound and complete for first-order logic ◮ combines efficient ground reasoning with first-order reasoning ◮ decision procedure for effectively propositional logic (EPR) ◮ redundancy elimination ◮ usual: tautology elimination, strict subsumption ◮ global subsumption: non-ground simplifications using SAT/SMT reasoning ◮ closure-based redundancies: ◮ blocking non-proper instantiators ◮ dismatching constraints 64 / 144
Summary Inst-Gen modular instantiation based reasoning for first-order logic. ◮ Inst-Gen is sound and complete for first-order logic ◮ combines efficient ground reasoning with first-order reasoning ◮ decision procedure for effectively propositional logic (EPR) ◮ redundancy elimination ◮ usual: tautology elimination, strict subsumption ◮ global subsumption: non-ground simplifications using SAT/SMT reasoning ◮ closure-based redundancies: ◮ blocking non-proper instantiators ◮ dismatching constraints 65 / 144
Summary Inst-Gen modular instantiation based reasoning for first-order logic. ◮ Inst-Gen is sound and complete for first-order logic ◮ combines efficient ground reasoning with first-order reasoning ◮ decision procedure for effectively propositional logic (EPR) ◮ redundancy elimination ◮ usual: tautology elimination, strict subsumption ◮ global subsumption: non-ground simplifications using SAT/SMT reasoning ◮ closure-based redundancies: ◮ blocking non-proper instantiators ◮ dismatching constraints 66 / 144
Equational instantiation-based reasoning
Equality and Paramodulation Superposition calculus: C ∨ s ≃ t L [ s ′ ] ∨ D ( C ∨ D ∨ L [ t ]) θ where (i) θ = mgu ( s , s ′ ), (ii) s ′ is not a variable, (iii) s θσ ≻ t θσ , (iv) . . . The same weaknesses as resolution has: ◮ Inefficient in the ground/EPR case ◮ Length of clauses can grow fast ◮ Recombination of clauses ◮ No explicit model representation 68 / 144
Equality Superposition vs Inst-Gen Superposition Instantiation ? L [ l ′ ] ∨ D L [ l ′ ] ∨ D C ∨ l ≃ r C ∨ l ≃ r ( L [ l ′ ] ∨ D ) θ ( C ∨ D ∨ L [ r ]) θ ( C ∨ l ≃ r ) θ θ = mgu ( l , l ′ ) θ = mgu ( l , l ′ ) 69 / 144
Equality Superposition vs Inst-Gen Superposition Instantiation ? L [ l ′ ] ∨ D L [ l ′ ] ∨ D C ∨ l ≃ r C ∨ l ≃ r ( L [ l ′ ] ∨ D ) θ ( C ∨ D ∨ L [ r ]) θ ( C ∨ l ≃ r ) θ θ = mgu ( l , l ′ ) θ = mgu ( l , l ′ ) Incomplete ! 70 / 144
Superposition+Instantiation f ( h ( x )) ≃ c h ( x ) ≃ x f ( a ) �≃ c This set is inconsistent but the contradiction is not deducible by the inference system above. 71 / 144
Superposition+Instantiation f ( h ( x )) ≃ c h ( x ) ≃ x f ( a ) �≃ c This set is inconsistent but the contradiction is not deducible by the inference system above. The idea is to consider proofs generated by unit superposition: h ( x ) ≃ x f ( h ( y )) ≃ c f ( x ) ≃ c f ( a ) �≃ c c �≃ c � 72 / 144
Superposition+Instantiation f ( h ( x )) ≃ c h ( x ) ≃ x f ( a ) �≃ c This set is inconsistent but the contradiction is not deducible by the inference system above. The idea is to consider proofs generated by unit superposition: h ( x ) ≃ x f ( h ( y )) ≃ c [ x / y ] f ( x ) ≃ c f ( a ) �≃ c [ a / x ] c �≃ c � 73 / 144
Superposition+Instantiation f ( h ( x )) ≃ c h ( x ) ≃ x f ( a ) �≃ c This set is inconsistent but the contradiction is not deducible by the inference system above. The idea is to consider proofs generated by unit superposition: h ( x ) ≃ x f ( h ( y )) ≃ c [ x / y ] f ( x ) ≃ c f ( a ) �≃ c [ a / x ] c �≃ c � Propagating substitutions: { h ( a ) ≃ a ; f ( h ( a )) ≃ c ; f ( a ) �≃ c } ground unsatisfiable. 74 / 144
Superposition+Instantiation f ( h ( x )) ≃ ∨ C 1 ( x , y ) c h ( x ) ≃ x ∨ C 2 ( x , y ) f ( a ) �≃ c ∨ C 3 ( x , y ) This set is inconsistent but the contradiction is not deducible by the inference system above. The idea is to consider proofs generated by unit superposition: h ( x ) ≃ x f ( h ( y )) ≃ c [ x / y ] f ( x ) ≃ c f ( a ) �≃ c [ a / x ] c �≃ c � Propagating substitutions: { h ( a ) ≃ a ; f ( h ( a )) ≃ c ; f ( a ) �≃ c } ground unsatisfiable. 75 / 144
Superposition+Instantiation f ( h ( x )) ≃ ∨ C 1 ( x , y ) f ( h ( a )) ≃ ∨ C 1 ( a , y ) c c h ( x ) ≃ x ∨ C 2 ( x , y ) h ( a ) ≃ a ∨ C 2 ( a , y ) f ( a ) �≃ c ∨ C 3 ( x , y ) f ( a ) �≃ c ∨ C 3 ( a , y ) This set is inconsistent but the contradiction is not deducible by the inference system above. The idea is to consider proofs generated by unit superposition: h ( x ) ≃ x f ( h ( y )) ≃ c [ x / y ] f ( x ) ≃ c f ( a ) �≃ c [ a / x ] c �≃ c � Propagating substitutions: { h ( a ) ≃ a ; f ( h ( a )) ≃ c ; f ( a ) �≃ c } ground unsatisfiable. 76 / 144
Inst-Gen-Eq instantiation-based equational reasoning f.-o. clauses S Theorem. [Ganzinger, Korovin CSL’04] Inst-Gen-Eq is sound and complete. 77 / 144
Inst-Gen-Eq instantiation-based equational reasoning f.-o. clauses Ground Clauses ⊥ : ¯ x → ⊥ S S ⊥ Theorem. [Ganzinger, Korovin CSL’04] Inst-Gen-Eq is sound and complete. 78 / 144
Inst-Gen-Eq instantiation-based equational reasoning f.-o. clauses Ground Clauses theorem ⊥ : ¯ x → ⊥ S ⊥ UnSAT S S ⊥ proved Theorem. [Ganzinger, Korovin CSL’04] Inst-Gen-Eq is sound and complete. 79 / 144
Inst-Gen-Eq instantiation-based equational reasoning f.-o. clauses Ground Clauses theorem ⊥ : ¯ x → ⊥ S ⊥ UnSAT S S ⊥ proved S ⊥ SAT I ⊥ | = S ⊥ Semantic selection of literals I ⊥ | = L⊥ Theorem. [Ganzinger, Korovin CSL’04] Inst-Gen-Eq is sound and complete. 80 / 144
Inst-Gen-Eq instantiation-based equational reasoning f.-o. clauses Ground Clauses theorem ⊥ : ¯ x → ⊥ S ⊥ UnSAT S S ⊥ proved S ⊥ SAT I ⊥ | = S ⊥ Inst. gen. Semantic selection L ⊢ � from UP proofs of literals I ⊥ | = L⊥ Theorem. [Ganzinger, Korovin CSL’04] Inst-Gen-Eq is sound and complete. 81 / 144
Inst-Gen-Eq instantiation-based equational reasoning f.-o. clauses Ground Clauses theorem ⊥ : ¯ x → ⊥ S ⊥ UnSAT S S ⊥ proved S ⊥ SAT I ⊥ | = S ⊥ Inst. gen. Semantic selection L ⊢ � from UP proofs of literals I ⊥ | = L⊥ L �⊢ � S satisfiable Theorem. [Ganzinger, Korovin CSL’04] Inst-Gen-Eq is sound and complete. 82 / 144
Inst-Gen-Eq: Key properties Inst-Gen-Eq is ◮ sound and complete for first-order logic with equality ◮ combines SMT for ground reasoning and superposition-based unit reasoning ◮ unit superposition does not have weaknesses of the general superposition ◮ all redundancy elimination techniques from Inst-Gen are applicable to Inst-Gen-Eq ◮ redundancy elimination become more powerful: now we can use SMT to simplify first-order rather than SAT New technical issue: Potentially we need to consider all unit-superposition proofs! 83 / 144
Inst-Gen-Eq: Key properties Inst-Gen-Eq is ◮ sound and complete for first-order logic with equality ◮ combines SMT for ground reasoning and superposition-based unit reasoning ◮ unit superposition does not have weaknesses of the general superposition ◮ all redundancy elimination techniques from Inst-Gen are applicable to Inst-Gen-Eq ◮ redundancy elimination become more powerful: now we can use SMT to simplify first-order rather than SAT New technical issue: Potentially we need to consider all unit-superposition proofs! 84 / 144
Inst-Gen-Eq: Key properties Inst-Gen-Eq is ◮ sound and complete for first-order logic with equality ◮ combines SMT for ground reasoning and superposition-based unit reasoning ◮ unit superposition does not have weaknesses of the general superposition ◮ all redundancy elimination techniques from Inst-Gen are applicable to Inst-Gen-Eq ◮ redundancy elimination become more powerful: now we can use SMT to simplify first-order rather than SAT New technical issue: Potentially we need to consider all unit-superposition proofs! 85 / 144
Inst-Gen-Eq: Key properties Inst-Gen-Eq is ◮ sound and complete for first-order logic with equality ◮ combines SMT for ground reasoning and superposition-based unit reasoning ◮ unit superposition does not have weaknesses of the general superposition ◮ all redundancy elimination techniques from Inst-Gen are applicable to Inst-Gen-Eq ◮ redundancy elimination become more powerful: now we can use SMT to simplify first-order rather than SAT New technical issue: Potentially we need to consider all unit-superposition proofs! 86 / 144
Inst-Gen-Eq: Key properties Inst-Gen-Eq is ◮ sound and complete for first-order logic with equality ◮ combines SMT for ground reasoning and superposition-based unit reasoning ◮ unit superposition does not have weaknesses of the general superposition ◮ all redundancy elimination techniques from Inst-Gen are applicable to Inst-Gen-Eq ◮ redundancy elimination become more powerful: now we can use SMT to simplify first-order rather than SAT New technical issue: Potentially we need to consider all unit-superposition proofs! 87 / 144
Inst-Gen-Eq: Key properties Inst-Gen-Eq is ◮ sound and complete for first-order logic with equality ◮ combines SMT for ground reasoning and superposition-based unit reasoning ◮ unit superposition does not have weaknesses of the general superposition ◮ all redundancy elimination techniques from Inst-Gen are applicable to Inst-Gen-Eq ◮ redundancy elimination become more powerful: now we can use SMT to simplify first-order rather than SAT New technical issue: Potentially we need to consider all unit-superposition proofs! 88 / 144
Inst-Gen-Eq: Key properties Inst-Gen-Eq is ◮ sound and complete for first-order logic with equality ◮ combines SMT for ground reasoning and superposition-based unit reasoning ◮ unit superposition does not have weaknesses of the general superposition ◮ all redundancy elimination techniques from Inst-Gen are applicable to Inst-Gen-Eq ◮ redundancy elimination become more powerful: now we can use SMT to simplify first-order rather than SAT New technical issue: Potentially we need to consider all unit-superposition proofs! 89 / 144
Labelled Unit Superposition [Korovin, Sticksel LPAR’10] General idea: Dismatching constraints can be used to block already derived proofs! Unit superposition with dismatching constraints: L [ l ′ ] | [ D 2 ] ( l ≃ r ) | [ D 1 ] s �≃ t | [ D ] ( θ ) ( µ ) L [ r ] θ | [ ( D 1 ∧ D 2 ) θ ] � where (i) θ = mgu ( l , l ′ ); (ii) l ′ is not a variable; (iii) for some grounding substitution σ , satisfying ( D 1 ∧ D 2 ) θ , l σ ≻ r σ ; (iv) µ = mgu ( s , t ); (v) D µ is satisfiable. Next technical issue: The same unit literal can ◮ correspond to different clauses, ◮ have different dismatching constraints ◮ be represented many times in the same proof search Solution: labelled approach 90 / 144
Labelled Unit Superposition [Korovin, Sticksel LPAR’10] General idea: Dismatching constraints can be used to block already derived proofs! Unit superposition with dismatching constraints: L [ l ′ ] | [ D 2 ] ( l ≃ r ) | [ D 1 ] s �≃ t | [ D ] ( θ ) ( µ ) L [ r ] θ | [ ( D 1 ∧ D 2 ) θ ] � where (i) θ = mgu ( l , l ′ ); (ii) l ′ is not a variable; (iii) for some grounding substitution σ , satisfying ( D 1 ∧ D 2 ) θ , l σ ≻ r σ ; (iv) µ = mgu ( s , t ); (v) D µ is satisfiable. Next technical issue: The same unit literal can ◮ correspond to different clauses, ◮ have different dismatching constraints ◮ be represented many times in the same proof search Solution: labelled approach 91 / 144
Labelled Unit Superposition [Korovin, Sticksel LPAR’10] General idea: Dismatching constraints can be used to block already derived proofs! Unit superposition with dismatching constraints: L [ l ′ ] | [ D 2 ] ( l ≃ r ) | [ D 1 ] s �≃ t | [ D ] ( θ ) ( µ ) L [ r ] θ | [ ( D 1 ∧ D 2 ) θ ] � where (i) θ = mgu ( l , l ′ ); (ii) l ′ is not a variable; (iii) for some grounding substitution σ , satisfying ( D 1 ∧ D 2 ) θ , l σ ≻ r σ ; (iv) µ = mgu ( s , t ); (v) D µ is satisfiable. Next technical issue: The same unit literal can ◮ correspond to different clauses, ◮ have different dismatching constraints ◮ be represented many times in the same proof search Solution: labelled approach 92 / 144
Tree Labelled Unit Superposition ◮ Preserve Boolean structure of proofs ◮ Closure is a propositional variable in an AND/OR tree ◮ Conjunction ∧ in superposition, disjunction ∨ in merging Label of the Contradiction � 93 / 144
OBDD Labelled Unit Superposition Disadvantages of trees Label of the ◮ Not produced in normal form contradiction � ◮ Sequence of inferences determines shape ◮ Potential growth ad infinitum ◮ OBDD as normal form ◮ Maintenance effort ◮ Reordering required 94 / 144
Labels: Sets vs. Trees vs. OBDDs iProver-Eq – CVC3 as a background solver on pure equational problems. (developed with Christoph Sticksel) Solved equational Features Normal Precise problems form elim. set Sets yes no 2006 193 Trees no yes 344 76 1393 OBDDs yes yes 13 216 30 tree OBDD [Korovin, Sticksel LPAR’10] 1983 1512 95 / 144
Theory instantiation
Theory instantiation [Ganzinger, Korovin LPAR’06] f.-o. clauses S theory T 97 / 144
Theory instantiation [Ganzinger, Korovin LPAR’06] f.-o. clauses S Ground Clauses ⊥ : ¯ x → ⊥ theory T S ⊥ 98 / 144
Theory instantiation [Ganzinger, Korovin LPAR’06] f.-o. clauses S Ground Clauses theorem ⊥ : ¯ x → ⊥ S ⊥ UnSAT theory T S ⊥ proved 99 / 144
Theory instantiation [Ganzinger, Korovin LPAR’06] f.-o. clauses S Ground Clauses theorem ⊥ : ¯ x → ⊥ S ⊥ UnSAT theory T S ⊥ proved S ⊥ SAT I ⊥ | = T S ⊥ Semantic selection of literals I ⊥ | = T L⊥ 100 / 144
Recommend
More recommend