herbrand s revenge
play

Herbrands Revenge SAT Solving for First-Order Theorem Proving - PowerPoint PPT Presentation

Herbrands Revenge SAT Solving for First-Order Theorem Proving Stephan Schulz schulz@eprover.org Herbrands Revenge SAT Solving for First-Order Theorem Proving E m o r f s w e n e r h t o d n a Stephan Schulz


  1. Herbrand’s Revenge SAT Solving for First-Order Theorem Proving Stephan Schulz schulz@eprover.org

  2. Herbrand’s Revenge SAT Solving for First-Order Theorem Proving E m o r f s w e n e r h t o d n a … Stephan Schulz schulz@eprover.org

  3. Context: First-Order Theorem Proving ◮ Theorem proving in first-order logic (with equality) ◮ Quantifiers ( ∀ , ∃ ) ◮ Standard connectives ( ¬ , ∧ , ∨ , → , . . . ) ◮ Predicate symbols and function symbols are free ◮ Exception: Equality is a congruence relation ◮ Standard approach: proof by contradiction Ax | = C iff Ax ∪ {¬ C } is unsatisfiable ◮ Clausification turns full FOF into equisatisfiable clause set 2

  4. Context: First-Order Theorem Proving ◮ Theorem proving in first-order logic (with equality) ◮ Quantifiers ( ∀ , ∃ ) ◮ Standard connectives ( ¬ , ∧ , ∨ , → , . . . ) ◮ Predicate symbols and function symbols are free ◮ Exception: Equality is a congruence relation ◮ Standard approach: proof by contradiction Ax | = C iff Ax ∪ {¬ C } is unsatisfiable ◮ Clausification turns full FOF into equisatisfiable clause set Theorem proving is reduced to showing inconsistency of clause sets! 2

  5. Herbrand’s Theorem Herbrand’s Theorem (modern version) “A set of first-order clauses is unsatisfiable, if and only if it has a finite set of ground instances that is propo- sitionally unsatisfiable.” ◮ If there is a model, there is a Herbrand model Universe consists of ground terms ◮ Function symbols are interpreted as constructors ◮ Extended to equational logic (Herbrand equality model) ◮ ◮ Contraposition: If there is no ground term model, there is no model Theoretical foundation of most first-order calculi ◮ Practical application? ◮ 3

  6. Example Consider the following set C of clauses: 1. p ( a ) 2. ¬ p ( X ) ∨ p ( f ( X )) 3. ¬ p ( f ( Y )) 4

  7. Example Consider the following set C of clauses: 1. p ( a ) 2. ¬ p ( X ) ∨ p ( f ( X )) 3. ¬ p ( f ( Y )) C ′ is a set of ground instances of clauses from C : 1. p ( a ) 2. ¬ p ( a ) ∨ p ( f ( a )) 3. ¬ p ( f ( a )) 4

  8. Example Consider the following set C of clauses: 1. p ( a ) 2. ¬ p ( X ) ∨ p ( f ( X )) 3. ¬ p ( f ( Y )) C ′ is a set of ground instances of clauses from C : 1. p ( a ) 2. ¬ p ( a ) ∨ p ( f ( a )) 3. ¬ p ( f ( a )) C ′ is propositionally unsatisfiable, hence C is unsatisfiable 4

  9. Enumerate and Check ◮ Davis&Putnam 1960: Direct application of Herbrand’s theorem ◮ Enumerate ground instances ◮ Periodically check ground clause set via a specialised form of ground resolution ◮ A Computing Procedure for Quantification Theory ◮ Theoretically sound and complete, but little practical success Resolution is not very strong on propositional logic ◮ Uncontrolled enumeration generates too many irrelevant instances ◮ 5

  10. A Split in the Road ◮ Davis/Logemann/Loveland (1962): splitting and unit propagation Search for propositional models ◮ Propagate atom values forced by unit clauses ◮ If no units, case distinction by splitting ◮ ◮ Backtracking on fail ◮ CDCL: DPLL+clause learning+non-chronological backtracking 6

  11. A Split in the Road ◮ Davis/Logemann/Loveland (1962): splitting and unit propagation Search for propositional models ◮ Propagate atom values forced by unit clauses ◮ If no units, case distinction by splitting ◮ ◮ Backtracking on fail ◮ CDCL: DPLL+clause learning+non-chronological backtracking Modern CDCL solvers are unreasonably successful in practice 6

  12. A Split in the Road ◮ Davis/Logemann/Loveland (1962): splitting and unit propagation Search for propositional models ◮ Propagate atom values forced by unit clauses ◮ If no units, case distinction by splitting ◮ ◮ Backtracking on fail ◮ CDCL: DPLL+clause learning+non-chronological backtracking Modern CDCL solvers are unreasonably successful in practice ◮ Robinson (1965): Generate instances via unification Instantiation only to make conflicting constraints explicit (most ◮ general unifier ) Only instantiate as lightly as possible ( most general unifier) ◮ Integrated into generating inferences ◮ Saturation/Proof completed by derivation of empty clause ◮ 6

  13. A Split in the Road ◮ Davis/Logemann/Loveland (1962): splitting and unit propagation Search for propositional models ◮ Propagate atom values forced by unit clauses ◮ If no units, case distinction by splitting ◮ ◮ Backtracking on fail ◮ CDCL: DPLL+clause learning+non-chronological backtracking Modern CDCL solvers are unreasonably successful in practice ◮ Robinson (1965): Generate instances via unification Instantiation only to make conflicting constraints explicit (most ◮ general unifier ) Only instantiate as lightly as possible ( most general unifier) ◮ Integrated into generating inferences ◮ Saturation/Proof completed by derivation of empty clause ◮ Unification/Saturation: Foundation of most state-of-the-art FO-provers 6

  14. DPLL and Resolution DPLL on C’: 1. p ( a ) 2. ¬ p ( a ) ∨ p ( f ( a )) 3. ¬ p ( f ( a )) 7

  15. DPLL and Resolution DPLL on C’: 1. p ( a ) 2. ¬ p ( a ) ∨ p ( f ( a )) 3. ¬ p ( f ( a )) 4. Propagate 1: p ( f ( a )) (from 2) 5. Propagate 4: � (from 3) 7

  16. DPLL and Resolution DPLL on C’: 1. p ( a ) 2. ¬ p ( a ) ∨ p ( f ( a )) 3. ¬ p ( f ( a )) 4. Propagate 1: p ( f ( a )) (from 2) 5. Propagate 4: � (from 3) No decision/split, hence no backtracking: C ′ is unsatisfiable But: Instantiations provided externally! 7

  17. DPLL and Resolution DPLL on C’: 1. p ( a ) 2. ¬ p ( a ) ∨ p ( f ( a )) 3. ¬ p ( f ( a )) 4. Propagate 1: p ( f ( a )) (from 2) 5. Propagate 4: � (from 3) No decision/split, hence no backtracking: C ′ is unsatisfiable But: Instantiations provided externally! 7

  18. DPLL and Resolution DPLL on C’: Resolution on C : 1. p ( a ) 1. p ( a ) 2. ¬ p ( a ) ∨ p ( f ( a )) 2. ¬ p ( X ) ∨ p ( f ( X )) 3. ¬ p ( f ( a )) 3. ¬ p ( f ( Y )) 4. Propagate 1: p ( f ( a )) (from 2) 5. Propagate 4: � (from 3) No decision/split, hence no backtracking: C ′ is unsatisfiable But: Instantiations provided externally! 7

  19. DPLL and Resolution DPLL on C’: Resolution on C : 1. p ( a ) 1. p ( a ) 2. ¬ p ( a ) ∨ p ( f ( a )) 2. ¬ p ( X ) ∨ p ( f ( X )) 3. ¬ p ( f ( a )) 3. ¬ p ( f ( Y )) 4. Propagate 1: p ( f ( a )) (from 2) 4. p ( f ( a )) from 1,2 with σ = { X �→ a } 5. Propagate 4: � (from 3) 5. � from 4,3 with σ = { Y �→ a } No decision/split, hence no backtracking: C ′ is unsatisfiable But: Instantiations provided externally! 7

  20. DPLL and Resolution DPLL on C’: Resolution on C : 1. p ( a ) 1. p ( a ) 2. ¬ p ( a ) ∨ p ( f ( a )) 2. ¬ p ( X ) ∨ p ( f ( X )) 3. ¬ p ( f ( a )) 3. ¬ p ( f ( Y )) 4. Propagate 1: p ( f ( a )) (from 2) 4. p ( f ( a )) from 1,2 with σ = { X �→ a } 5. Propagate 4: � (from 3) 5. � from 4,3 with σ = { Y �→ a } No decision/split, hence no backtracking: C ′ is unsatisfiable Instantiations generated by But: unification! Instantiations provided externally! What could possibly go wrong? 7

  21. DPLL and Resolution DPLL on C’: Resolution on C : 1. p ( a ) 1. p ( a ) 2. ¬ p ( a ) ∨ p ( f ( a )) 2. ¬ p ( X ) ∨ p ( f ( X )) 3. ¬ p ( f ( a )) 3. ¬ p ( f ( Y )) 4. p ( f ( a )) from 1,2 with 4. Propagate 1: p ( f ( a )) (from 2) σ = { X �→ a } 5. Propagate 4: � (from 3) No decision/split, hence no backtracking: C ′ is unsatisfiable But: Instantiations provided externally! 7

  22. DPLL and Resolution DPLL on C’: Resolution on C : 1. p ( a ) 1. p ( a ) 2. ¬ p ( a ) ∨ p ( f ( a )) 2. ¬ p ( X ) ∨ p ( f ( X )) 3. ¬ p ( f ( a )) 3. ¬ p ( f ( Y )) 4. p ( f ( a )) from 1,2 with 4. Propagate 1: p ( f ( a )) (from 2) σ = { X �→ a } 5. Propagate 4: � (from 3) 5. p ( f ( f ( a )) from 5,2 with No decision/split, hence no σ = { X �→ a } backtracking: C ′ is unsatisfiable 6. p ( f ( f ( f ( a ))) from 4,2 with But: σ = { X �→ a } Instantiations provided externally! 7. p ( f ( f ( f ( f ( a )))) from 5,2 with σ = { X �→ a } 8. . . . 7

  23. DPLL and Resolution DPLL on C’: 1. p ( a ) 2. ¬ p ( a ) ∨ p ( f ( a )) 3. ¬ p ( f ( a )) Unification-based saturation needs: 4. Propagate 1: p ( f ( a )) (from 2) 5. Propagate 4: � (from 3) ◮ Systematic inference control No decision/split, hence no ◮ Fair inference strategy backtracking: C ′ is unsatisfiable ◮ Good heuristic guidance But: Instantiations provided externally! 7

  24. Saturation: Implementation and Observation P (processed clauses) Simpli- Gene- fiable? rate g Cheap g = ☐ Simplify ? Simplify U (unprocessed clauses) 8

  25. Saturation: Implementation and Observation P (processed clauses) Simpli- Gene- fiable? rate g Cheap g = ☐ Simplify ? Simplify U (unprocessed clauses) 8

  26. Saturation: Implementation and Observation P (processed clauses) • Fully processed Simpli- Gene- fiable? • Direct consequences computed rate g • Direct conflicts uncovered Cheap g = ☐ Simplify ? Simplify U (unprocessed clauses) 8

  27. Saturation: Implementation and Observation P (processed clauses) • Instantiated • Fully processed • No interactions Simpli- Gene- fiable? • Direct consequences computed rate • Conflicts remain hidden g • Direct conflicts uncovered Cheap g = ☐ Simplify ? Simplify U (unprocessed clauses) 8

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend