instantiation based automated theorem proving for first
play

Instantiation-Based Automated Theorem Proving for First-Order Logic - PowerPoint PPT Presentation

Instantiation-Based Automated Theorem Proving for First-Order Logic Konstantin Korovin The University of Manchester UK korovin@cs.man.ac.uk Theorem proving for first-order logic Theorem proving: Show that a given first-order formula is a


  1. Propositional Resolution Propositional Resolution inference system BR , consists of the following inference rules: ◮ Binary Resolution Rule (BR): C ∨ p ¬ p ∨ D ( BR ) C ∨ D ◮ Binary Factoring Rule (BF): C ∨ L ∨ L ( BF ) C ∨ L where L is a literal. 21 / 1

  2. Example Given: S = { q ∨ ¬ p , p ∨ q , ¬ q } A proof in resolution calculus: q ∨ ¬ p p ∨ q (BR) q ∨ q (BF) ¬ q q (BR) � 22 / 1

  3. Soundness/Completeness Theorem (Soundness) Resolution is a sound inference system: S ⊢ BR � S | = ⊥ implies 23 / 1

  4. Soundness/Completeness Theorem (Soundness) Resolution is a sound inference system: S ⊢ BR � S | = ⊥ implies Theorem (Completeness) Resolution is a complete inference system: S | = ⊥ implies S ⊢ BR � 24 / 1

  5. Proof search based on inference systems Basic approach. A Saturation Process: Given set of clauses S we exhaustively apply all inference rules adding the conclusions to this set until the contradiction ( � ) is derived. S 0 ⇒ S 1 ⇒ . . . S n ⇒ . . . 25 / 1

  6. Proof search based on inference systems Basic approach. A Saturation Process: Given set of clauses S we exhaustively apply all inference rules adding the conclusions to this set until the contradiction ( � ) is derived. S 0 ⇒ S 1 ⇒ . . . S n ⇒ . . . Three outcomes: 1. � is derived ( � ∈ S n for some n ), then S is unsatisfiable (soundness); 2. no new clauses can be derived from S and ⊥ �∈ S , then S is saturated; in this case S is satisfiable, (completeness). 3. S grows ad infinitum, the process does not terminate. 26 / 1

  7. Proof search based on inference systems Basic approach. A Saturation Process: Given set of clauses S we exhaustively apply all inference rules adding the conclusions to this set until the contradiction ( � ) is derived. S 0 ⇒ S 1 ⇒ . . . S n ⇒ . . . Three outcomes: 1. � is derived ( � ∈ S n for some n ), then S is unsatisfiable (soundness); 2. no new clauses can be derived from S and ⊥ �∈ S , then S is saturated; in this case S is satisfiable, (completeness). 3. S grows ad infinitum, the process does not terminate. The main challenge: speed up the first two cases and reduce non-termination. 27 / 1

  8. First-order resolution

  9. Herbrand theorem First-order clauses S : p ( a ) ∨ q ( a , f ( b )) ∀ x , y [ ¬ p ( x ) ∨ ¬ q ( x , f ( y ))] . . . How to check if S is (un)satisfiable ? 29 / 1

  10. Herbrand theorem First-order clauses S : p ( a ) ∨ q ( a , f ( b )) ∀ x , y [ ¬ p ( x ) ∨ ¬ q ( x , f ( y ))] . . . How to check if S is (un)satisfiable ? Theorem (Herbrand) S is unsatisfiable if and only there is a finite set of ground instances of clauses in S which are propositionally unsatisfiable. 30 / 1

  11. Herbrand theorem First-order clauses S : p ( a ) ∨ q ( a , f ( b )) ∀ x , y [ ¬ p ( x ) ∨ ¬ q ( x , f ( y ))] . . . How to check if S is (un)satisfiable ? Theorem (Herbrand) S is unsatisfiable if and only there is a finite set of ground instances of clauses in S which are propositionally unsatisfiable. General approach: enumerate ground instances and apply resolution to the ground instances. 31 / 1

  12. Herbrand theorem First-order clauses S : p ( a ) ∨ q ( a , f ( b )) ¬ p ( z ) ¬ q ( x , f ( y )) How to check if S is (un)satisfiable ? Replace variables by ground terms and apply resolution: ¬ q ( a , f ( a )) ¬ q ( b , f ( f ( a ))) . . . ¬ q ( a , f ( b )) 32 / 1

  13. Herbrand theorem First-order clauses S : p ( a ) ∨ q ( a , f ( b )) ¬ p ( z ) ¬ q ( x , f ( y )) How to check if S is (un)satisfiable ? Replace variables by ground terms and apply resolution: ¬ q ( a , f ( a )) ¬ q ( b , f ( f ( a ))) . . . ¬ q ( a , f ( b )) 33 / 1

  14. Herbrand theorem First-order clauses S : p ( a ) ∨ q ( a , f ( b )) ¬ p ( z ) ¬ q ( x , f ( y )) How to check if S is (un)satisfiable ? Replace variables by ground terms and apply resolution: ¬ q ( a , f ( a )) ¬ q ( b , f ( f ( a ))) . . . ¬ q ( a , f ( b )) p ( a ) ( BR ) 34 / 1

  15. Herbrand theorem First-order clauses S : p ( a ) ∨ q ( a , f ( b )) ¬ p ( z ) ¬ q ( x , f ( y )) How to check if S is (un)satisfiable ? Replace variables by ground terms and apply resolution: ¬ q ( a , f ( a )) ¬ q ( b , f ( f ( a ))) . . . ¬ q ( a , f ( b )) p ( a ) ( BR ) ¬ p ( a ) 35 / 1

  16. Herbrand theorem First-order clauses S : p ( a ) ∨ q ( a , f ( b )) ¬ p ( z ) ¬ q ( x , f ( y )) How to check if S is (un)satisfiable ? Replace variables by ground terms and apply resolution: ¬ q ( a , f ( a )) ¬ q ( b , f ( f ( a ))) . . . ¬ q ( a , f ( b )) p ( a ) ( BR ) ¬ p ( a ) ( BR ) � 36 / 1

  17. Non-ground resolution ◮ A non-ground clause can be seen as representation of a (possibly infinite) set of its ground instances. ◮ Consider q ( x , a ) ∨ p ( x ) and q ( y , z ) ∨ ¬ p ( f ( y )). 37 / 1

  18. Non-ground resolution ◮ A non-ground clause can be seen as representation of a (possibly infinite) set of its ground instances. ◮ Consider q ( x , a ) ∨ p ( x ) and q ( y , z ) ∨ ¬ p ( f ( y )). A common instance to which ground resolution is applicable: q ( f ( a ) , a ) ∨ p ( f ( a )) and q ( a , a ) ∨ ¬ p ( f ( a )) 38 / 1

  19. Non-ground resolution ◮ A non-ground clause can be seen as representation of a (possibly infinite) set of its ground instances. ◮ Consider q ( x , a ) ∨ p ( x ) and q ( y , z ) ∨ ¬ p ( f ( y )). A common instance to which ground resolution is applicable: q ( f ( a ) , a ) ∨ p ( f ( a )) and q ( a , a ) ∨ ¬ p ( f ( a )) ◮ There are other ground instances e.g.: q ( f ( f ( a )) , a ) ∨ p ( f ( f ( a ))) and q ( f ( a ) , f ( f ( f ( a ))) ∨ ¬ p ( f ( f ( a )) 39 / 1

  20. Non-ground resolution ◮ A non-ground clause can be seen as representation of a (possibly infinite) set of its ground instances. ◮ Consider q ( x , a ) ∨ p ( x ) and q ( y , z ) ∨ ¬ p ( f ( y )). A common instance to which ground resolution is applicable: q ( f ( a ) , a ) ∨ p ( f ( a )) and q ( a , a ) ∨ ¬ p ( f ( a )) ◮ There are other ground instances e.g.: q ( f ( f ( a )) , a ) ∨ p ( f ( f ( a ))) and q ( f ( a ) , f ( f ( f ( a ))) ∨ ¬ p ( f ( f ( a )) ◮ In order to apply ground resolution we need find substitution which make atoms p ( x ) and p ( f ( y )) syntactically equal. 40 / 1

  21. Non-ground resolution ◮ A non-ground clause can be seen as representation of a (possibly infinite) set of its ground instances. ◮ Consider q ( x , a ) ∨ p ( x ) and q ( y , z ) ∨ ¬ p ( f ( y )). A common instance to which ground resolution is applicable: q ( f ( a ) , a ) ∨ p ( f ( a )) and q ( a , a ) ∨ ¬ p ( f ( a )) ◮ There are other ground instances e.g.: q ( f ( f ( a )) , a ) ∨ p ( f ( f ( a ))) and q ( f ( a ) , f ( f ( f ( a ))) ∨ ¬ p ( f ( f ( a )) ◮ In order to apply ground resolution we need find substitution which make atoms p ( x ) and p ( f ( y )) syntactically equal. ◮ Such substitutions are called unifiers. 41 / 1

  22. Non-ground resolution ◮ A non-ground clause can be seen as representation of a (possibly infinite) set of its ground instances. ◮ Consider q ( x , a ) ∨ p ( x ) and q ( y , z ) ∨ ¬ p ( f ( y )). A common instance to which ground resolution is applicable: q ( f ( a ) , a ) ∨ p ( f ( a )) and q ( a , a ) ∨ ¬ p ( f ( a )) ◮ There are other ground instances e.g.: q ( f ( f ( a )) , a ) ∨ p ( f ( f ( a ))) and q ( f ( a ) , f ( f ( f ( a ))) ∨ ¬ p ( f ( f ( a )) ◮ In order to apply ground resolution we need find substitution which make atoms p ( x ) and p ( f ( y )) syntactically equal. ◮ Such substitutions are called unifiers. ◮ Even for two clauses there are infinite number of possible instances to which resolution is applicable. 42 / 1

  23. Most general unifiers ◮ Consider q ( x , a ) ∨ p ( x ) and q ( y , z ) ∨ ¬ p ( f ( y )) ◮ substitute σ = { x �→ f ( y ) } ◮ then q ( f ( y ) , a ) ∨ p ( f ( y )) and q ( y , z ) ∨ ¬ p ( f ( y )). ◮ Note: 1. underlined atoms are syntactically equal 2. any other substitution can be seen as an instance of σ σ – most general unifier σ = mgu ( p ( x ) , p ( f ( y ))) 3. σ can be seen as a finite representation of all infinitely many substitutions which makes terms equal. 43 / 1

  24. Most general unifiers ◮ Consider q ( x , a ) ∨ p ( x ) and q ( y , z ) ∨ ¬ p ( f ( y )) ◮ substitute σ = { x �→ f ( y ) } ◮ then q ( f ( y ) , a ) ∨ p ( f ( y )) and q ( y , z ) ∨ ¬ p ( f ( y )). ◮ Note: 1. underlined atoms are syntactically equal 2. any other substitution can be seen as an instance of σ σ – most general unifier σ = mgu ( p ( x ) , p ( f ( y ))) 3. σ can be seen as a finite representation of all infinitely many substitutions which makes terms equal. Theorem [Robinson 1965] If two atoms p ( t (¯ x )) and p ( s (¯ x )) have a common ground instance then there is a unique most general unifier σ , which can be effectively computed. Note p ( t (¯ x )) σ = p ( s (¯ x )) σ . 44 / 1

  25. First-order resolution: ◮ Resolution rule (BR): ¬ p ′ ∨ D ( BR ) C ∨ p ( C ∨ D ) σ where σ = mgu ( p , p ′ ) ◮ Example: q ( x , a ) ∨ p ( x ) q ( y , z ) ∨ ¬ p ( f ( y )) ( BR ) q ( f ( y ) , a ) ∨ q ( y , z ) where mgu ( p ( x ) , p ( f ( y ))) = { x �→ f ( y ) } 45 / 1

  26. First-order resolution: ◮ Resolution rule (BR): ¬ p ′ ∨ D ( BR ) C ∨ p ( C ∨ D ) σ where σ = mgu ( p , p ′ ) ◮ Example: q ( x , a ) ∨ p ( x ) q ( y , z ) ∨ ¬ p ( f ( y )) ( BR ) q ( f ( y ) , a ) ∨ q ( y , z ) where mgu ( p ( x ) , p ( f ( y ))) = { x �→ f ( y ) } Theorem [Bachmair, Ganzinger] Resolution with many refinements is complete for first-order logic. 46 / 1

  27. The magic of resolution Resolution calculus with appropriate simplifications, selection functions and saturation strategies is a decision procedure for many fragments: ◮ monadic fragment [Bachmair, Ganzinger, Waldmann] ◮ modal logic translations [Hustadt, Schmidt] ◮ guarded fragment [Ganzinger, de Nivelle] ◮ two variable fragment [de Nivelle, Pratt-Hartmann] ◮ fluted fragment [Hustadt, Schmidt, Georgieva] ◮ many description logic fragments [Kazakov, Motik, Sattler, . . . ] ◮ . . . 47 / 1

  28. The magic of resolution Resolution calculus with appropriate simplifications, selection functions and saturation strategies is a decision procedure for many fragments: ◮ monadic fragment [Bachmair, Ganzinger, Waldmann] ◮ modal logic translations [Hustadt, Schmidt] ◮ guarded fragment [Ganzinger, de Nivelle] ◮ two variable fragment [de Nivelle, Pratt-Hartmann] ◮ fluted fragment [Hustadt, Schmidt, Georgieva] ◮ many description logic fragments [Kazakov, Motik, Sattler, . . . ] ◮ . . . ◮ Original proofs of decidability for these fragments are based on diverse, complicated, model theoretic arguments. ◮ Resolution-based methods provide practical procedures ◮ Vampire, E, SPASS are based on extensions resolution 48 / 1

  29. Modular instantiation-based reasoning

  30. SAT/SMT vs First-Order The main reasoning problem: Check that a given a set of clauses S is (un)satisfiable. Ground (SAT/SMT) First-Order bv ( a ) ∨ mem ( c , d ) ∀ x ∃ y ¬ mem 1 ( x , y ) ∨ mem 2 ( y , f ( x )) ¬ bv ( a ) ∨ mem ( d , c ) bv ( a ) ∨ mem ( d , c ) Very efficient solvers Very expressive Not very expressive Ground: not as efficient CDCL/Congruence closure Resolution/Superposition From ground to first-order: Efficient at ground + Expressive? 50 / 1

  31. Resolution weaknesses Example : Resolution : L ′ ∨ D Q ( x ) ∨ P ( x ) ¬ P ( a ) ∨ R ( y ) C ∨ L ( C ∨ D ) σ Q ( a ) ∨ R ( y ) Weaknesses: ◮ Inefficient in propositional case L 1 ∨ C 1 ◮ Proof search without model search . . . ◮ Length of clauses can grow fast L n ∨ C n ◮ Recombination of clauses ◮ No effective model representation 51 / 1

  32. Basic idea behind instantiation proving Can we approximate first-order by ground reasoning? 52 / 1

  33. Basic idea behind instantiation proving Can we approximate first-order by ground reasoning? Theorem (Herbrand). S is unsatisfiable if and only there is a finite set of ground instances of clauses of S which are propositionally unsatisfiable. Basic idea: Interleave instantiation with propositional reasoning. Main issues: ◮ How to restrict instantiations. ◮ How to interleave instantiation with propositional reasoning. 53 / 1

  34. Basic idea behind instantiation proving Can we approximate first-order by ground reasoning? Theorem (Herbrand). S is unsatisfiable if and only there is a finite set of ground instances of clauses of S which are propositionally unsatisfiable. Basic idea: Interleave instantiation with propositional reasoning. Main issues: ◮ How to restrict instantiations. ◮ How to interleave instantiation with propositional reasoning. [Wang’59; Gilmore’60; Plaisted’92; Inst-Gen Ganzinger, Korovin; Model Evolution Baumgartner Tinelli; AVATAR Voronkov; SGGS Bonacina Plaisted; Weidenbach,. . . , SMT quantifier instantiations Ge, de Moura, Reynolds. . . ] 54 / 1

  35. Overview of the Inst-Gen procedure First-Order Clauses S 55 / 1

  36. Overview of the Inst-Gen procedure First-Order Clauses Ground Clauses ⊥ : ¯ x → ⊥ S S ⊥ 56 / 1

  37. Overview of the Inst-Gen procedure Theorem Proved S ⊥ UnSAT First-Order Clauses Ground Clauses ⊥ : ¯ x → ⊥ S S ⊥ 57 / 1

  38. Overview of the Inst-Gen procedure Theorem Proved S ⊥ UnSAT First-Order Clauses Ground Clauses ⊥ : ¯ x → ⊥ S S ⊥ S ⊥ SAT I gr | = S ⊥ σ = mgu ( L , L ′ ) I gr | = L ⊥ , L ′⊥ 58 / 1

  39. Overview of the Inst-Gen procedure Theorem Proved S ⊥ UnSAT First-Order Clauses Ground Clauses ⊥ : ¯ x → ⊥ S S ⊥ S ⊥ SAT I gr | = S ⊥ L ′ ∨ D C ∨ L ( L ′ ∨ D ) σ ( C ∨ L ) σ σ = mgu ( L , L ′ ) I gr | = L ⊥ , L ′⊥ 59 / 1

  40. Overview of the Inst-Gen procedure Theorem Proved S ⊥ UnSAT First-Order Clauses Ground Clauses ⊥ : ¯ x → ⊥ S S ⊥ S ⊥ SAT I gr | = S ⊥ L ′ ∨ D C ∨ L ( L ′ ∨ D ) σ ( C ∨ L ) σ σ = mgu ( L , L ′ ) I gr | = L ⊥ , L ′⊥ Theorem. (Ganzinger, Korovin) Inst-Gen is sound and complete for FOL. 60 / 1

  41. Example: p ( f ( x ) , b ) ∨ q ( x , y ) ¬ p ( f ( f ( x )) , y ) ¬ q ( f ( x ) , x ) 61 / 1

  42. Example: p ( f ( x ) , b ) ∨ q ( x , y ) p ( f ( ⊥ ) , b ) ∨ q ( ⊥ , ⊥ ) ¬ p ( f ( f ( x )) , y ) ¬ p ( f ( f ( ⊥ )) , ⊥ ) ¬ q ( f ( x ) , x ) ¬ q ( f ( ⊥ ) , ⊥ ) 62 / 1

  43. Example: p ( f ( x ) , b ) ∨ q ( x , y ) p ( f ( ⊥ ) , b ) ∨ q ( ⊥ , ⊥ ) ¬ p ( f ( f ( x )) , y ) ¬ p ( f ( f ( ⊥ )) , ⊥ ) ¬ q ( f ( x ) , x ) ¬ q ( f ( ⊥ ) , ⊥ ) 63 / 1

  44. Example: p ( f ( x ) , b ) ∨ q ( x , y ) p ( f ( ⊥ ) , b ) ∨ q ( ⊥ , ⊥ ) ¬ p ( f ( f ( x )) , y ) ¬ p ( f ( f ( ⊥ )) , ⊥ ) ¬ q ( f ( x ) , x ) ¬ q ( f ( ⊥ ) , ⊥ ) p ( f ( f ( x )) , b ) ∨ q ( f ( x ) , y ) ¬ p ( f ( f ( x )) , b ) p ( f ( x ) , b ) ∨ q ( x , y ) ¬ p ( f ( f ( x )) , y ) ¬ q ( f ( x ) , x ) 64 / 1

  45. Example: p ( f ( x ) , b ) ∨ q ( x , y ) p ( f ( ⊥ ) , b ) ∨ q ( ⊥ , ⊥ ) ¬ p ( f ( f ( x )) , y ) ¬ p ( f ( f ( ⊥ )) , ⊥ ) ¬ q ( f ( x ) , x ) ¬ q ( f ( ⊥ ) , ⊥ ) p ( f ( f ( x )) , b ) ∨ q ( f ( x ) , y ) p ( f ( f ( ⊥ )) , b ) ∨ q ( f ( ⊥ ) , ⊥ ) ¬ p ( f ( f ( x )) , b ) ¬ p ( f ( f ( ⊥ )) , b ) p ( f ( x ) , b ) ∨ q ( x , y ) p ( f ( ⊥ ) , b ) ∨ q ( ⊥ , ⊥ ) ¬ p ( f ( f ( x )) , y ) ¬ p ( f ( f ( ⊥ )) , ⊥ ) ¬ q ( f ( x ) , x ) ¬ q ( f ( ⊥ ) , ⊥ ) 65 / 1

  46. Example: p ( f ( x ) , b ) ∨ q ( x , y ) p ( f ( ⊥ ) , b ) ∨ q ( ⊥ , ⊥ ) ¬ p ( f ( f ( x )) , y ) ¬ p ( f ( f ( ⊥ )) , ⊥ ) ¬ q ( f ( x ) , x ) ¬ q ( f ( ⊥ ) , ⊥ ) p ( f ( f ( x )) , b ) ∨ q ( f ( x ) , y ) p ( f ( f ( ⊥ )) , b ) ∨ q ( f ( ⊥ ) , ⊥ ) ¬ p ( f ( f ( x )) , b ) ¬ p ( f ( f ( ⊥ )) , b ) p ( f ( x ) , b ) ∨ q ( x , y ) p ( f ( ⊥ ) , b ) ∨ q ( ⊥ , ⊥ ) ¬ p ( f ( f ( x )) , y ) ¬ p ( f ( f ( ⊥ )) , ⊥ ) ¬ q ( f ( x ) , x ) ¬ q ( f ( ⊥ ) , ⊥ ) The final set is propositionally unsatisfiable. 66 / 1

  47. Resolution vs Inst-Gen Instantiation : Resolution : ( L ′ ∨ D ) ( L ′ ∨ D ) ( C ∨ L ) ( C ∨ L ) ( L ′ ∨ D ) σ ( C ∨ D ) σ ( C ∨ L ) σ σ = mgu ( L , L ′ ) σ = mgu ( L , L ′ ) Weaknesses of resolution: Strengths of instantiation: Proof search without model search Proof search guided by prop. models Inefficient in the ground/EPR case Modular ground reasoning Length of clauses can grow fast Length of clauses is fixed Recombination of clauses Decision procedure for EPR No explicit model representation No recombination Redundancy elimination Effective model representation 67 / 1

  48. Redundancy Elimination (Inst-Gen) The key to efficiency is redundancy elimination. ◮ usual: tautology elimination, strict subsumption ◮ global subsumption: non-ground simplifications using SAT/SMT reasoning ◮ blocking non-proper instantiators ◮ dismatching constraints ◮ predicate elimination ◮ sort inference/redundancies ◮ definitional redundancies ◮ . . . 68 / 1

  49. Redundancy Elimination The key to efficiency is redundancy elimination. 69 / 1

  50. Redundancy Elimination The key to efficiency is redundancy elimination. Ground clause C is redundant if ◮ C 1 , . . . , C n | ◮ P ( a ) | = C = Q ( b ) ∨ P ( a ) ✭ ◮ P ( a ) ≺ ✭✭✭✭✭ ◮ C 1 , . . . , C n ≺ C Q ( b ) ∨ P ( a ) Where ≺ is a well-founded ordering. 70 / 1

  51. Redundancy Elimination The key to efficiency is redundancy elimination. Ground clause C is redundant if ◮ C 1 , . . . , C n | ◮ P ( a ) | = C = Q ( b ) ∨ P ( a ) ✭ ◮ P ( a ) ≺ ✭✭✭✭✭ ◮ C 1 , . . . , C n ≺ C Q ( b ) ∨ P ( a ) Where ≺ is a well-founded ordering. Theorem Redundant clauses/closures can be eliminated. Consequences: ◮ many usual redundancy elimination techniques ◮ redundancy for inferences ◮ new instantiation-specific redundancies 71 / 1

  52. Simplifications by SAT/SMT solver (K. IJCAR’08) Can off-the-shelf ground solver be used to simplify ground clauses? 72 / 1

  53. Simplifications by SAT/SMT solver (K. IJCAR’08) Can off-the-shelf ground solver be used to simplify ground clauses? Abstract redundancy: C 1 , . . . , C n | = C S gr | = C — ground solver C 1 , . . . , C n ≺ C follows from smaller ? 73 / 1

  54. Simplifications by SAT/SMT solver (K. IJCAR’08) Can off-the-shelf ground solver be used to simplify ground clauses? Abstract redundancy: C 1 , . . . , C n | = C S gr | = C — ground solver C 1 , . . . , C n ≺ C follows from smaller ? Basic idea: ◮ split D ⊂ C ◮ check S gr | = D ◮ add D to S and remove C 74 / 1

  55. Simplifications by SAT/SMT solver (K. IJCAR’08) Can off-the-shelf ground solver be used to simplify ground clauses? Abstract redundancy: C 1 , . . . , C n | = C S gr | = C — ground solver C 1 , . . . , C n ≺ C follows from smaller ? Global ground subsumption: Basic idea: ✘✘✘ ✘ ◮ split D ⊂ C D ∨ C ′ D ◮ check S gr | = D = D and C ′ � = ∅ ◮ add D to S and remove C where S gr | 75 / 1

  56. Global Ground Subsumption 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 ) 76 / 1

  57. Global Ground Subsumption 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 ) 77 / 1

  58. Global Ground Subsumption 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. 78 / 1

  59. Global Ground Subsumption 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 ◮ . . . 79 / 1

  60. Non-ground simplifications by SAT/SMT (K. IJCAR’08) Off-the-shelf SAT solver can be used to simplify ground clauses. Can we also use SAT solver to simplify non-ground clauses? 80 / 1

  61. Non-ground simplifications by SAT/SMT (K. IJCAR’08) Off-the-shelf SAT solver can be used to simplify ground clauses. Can we also use SAT solver to simplify non-ground clauses? Yes! 81 / 1

  62. Non-ground simplifications by SAT/SMT (K. IJCAR’08) Off-the-shelf SAT solver can be used to simplify ground clauses. Can we also use SAT solver to simplify non-ground clauses? Yes! The main idea: S gr | = ∀ ¯ xC (¯ x ) 82 / 1

  63. Non-ground simplifications by SAT/SMT (K. IJCAR’08) Off-the-shelf SAT solver can be used to simplify ground clauses. Can we also use SAT solver to simplify non-ground clauses? Yes! The main idea: = C ( ¯ ¯ S gr | = ∀ ¯ xC (¯ x ) S gr | d ) for fresh d 83 / 1

  64. Non-ground simplifications by SAT/SMT (K. IJCAR’08) Off-the-shelf SAT solver can be used to simplify ground clauses. Can we also use SAT solver to simplify non-ground clauses? Yes! The main idea: = C ( ¯ ¯ S gr | = ∀ ¯ xC (¯ x ) S gr | d ) for fresh d C 1 ( ¯ d ) , . . . , C n ( ¯ = C ( ¯ x ) ∈ S d ) | C 1 (¯ x ) , . . . , C n (¯ d ) 84 / 1

  65. Non-ground simplifications by SAT/SMT (K. IJCAR’08) Off-the-shelf SAT solver can be used to simplify ground clauses. Can we also use SAT solver to simplify non-ground clauses? Yes! The main idea: = C ( ¯ ¯ S gr | = ∀ ¯ xC (¯ x ) S gr | d ) for fresh d C 1 ( ¯ d ) , . . . , C n ( ¯ = C ( ¯ x ) ∈ S d ) | C 1 (¯ x ) , . . . , C n (¯ d ) as C 1 (¯ x ) , . . . , C n (¯ x ) ≺ C (¯ x ) in Global Subsumption Non-Ground Global Subsumption 85 / 1

  66. 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! 86 / 1

  67. 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! 87 / 1

  68. 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! 88 / 1

  69. 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! 89 / 1

  70. 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! 90 / 1

  71. Inst-Gen summary Inst-Gen modular instantiation based reasoning for first-order logic. ◮ Inst-Gen combines efficient ground reasoning with first-order reasoning ◮ sound and complete for first-order logic ◮ decision procedure for effectively propositional logic (EPR) ◮ redundancy elimination ◮ strict subsumption, subsumption resolution ◮ global subsumption: non-ground simplifications using SAT/SMT reasoning ◮ dismatching constraints ◮ preprocessing: ◮ predicate elimination ◮ sort inference: EPR and non-cyclic sorts ◮ semantic filter ◮ definition inference 91 / 1

  72. Equational instantiation-based reasoning

  73. 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 93 / 1

  74. 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 ′ ) 94 / 1

  75. 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 ! 95 / 1

  76. Superposition+Instantiation f ( h ( y )) ≃ c h ( x ) ≃ x f ( a ) �≃ c This set is inconsistent but the contradiction is not deducible by the inference system above. 96 / 1

  77. Superposition+Instantiation f ( h ( y )) ≃ 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 � 97 / 1

  78. Superposition+Instantiation f ( h ( y )) ≃ 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 � 98 / 1

  79. Superposition+Instantiation f ( h ( y )) ≃ 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. 99 / 1

  80. Superposition+Instantiation f ( h ( y )) ≃ ∨ C 1 ( y , u ) c h ( x ) ≃ x ∨ C 2 ( x , v ) f ( a ) �≃ c ∨ C 3 ( e ) 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. 100 / 1

Recommend


More recommend