automated reasoning for first order logic theory practice
play

Automated reasoning for first-order logic Theory, Practice and - PowerPoint PPT Presentation

Automated reasoning for first-order logic Theory, Practice and Challenges Konstantin Korovin 1 The University of Manchester UK korovin@cs.man.ac.uk Part II 1 supported by a Royal Society University Fellowship Modular instantiation-based


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. 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

  34. 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

  35. 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

  36. Equational instantiation-based reasoning

  37. 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

  38. 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

  39. 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

  40. 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

  41. 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

  42. 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

  43. 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

  44. 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

  45. 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

  46. 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

  47. 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

  48. 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

  49. 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

  50. 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

  51. 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

  52. 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

  53. 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

  54. 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

  55. 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

  56. 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

  57. 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

  58. 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

  59. 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

  60. 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

  61. 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

  62. 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

  63. 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

  64. 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

  65. Theory instantiation

  66. Theory instantiation [Ganzinger, Korovin LPAR’06] f.-o. clauses S theory T 97 / 144

  67. Theory instantiation [Ganzinger, Korovin LPAR’06] f.-o. clauses S Ground Clauses ⊥ : ¯ x → ⊥ theory T S ⊥ 98 / 144

  68. Theory instantiation [Ganzinger, Korovin LPAR’06] f.-o. clauses S Ground Clauses theorem ⊥ : ¯ x → ⊥ S ⊥ UnSAT theory T S ⊥ proved 99 / 144

  69. 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