elimination techniques in modern propositional logic
play

Elimination Techniques In Modern Propositional Logic Reasoning - PowerPoint PPT Presentation

Elimination Techniques In Modern Propositional Logic Reasoning Norbert Manthey nmanthey@conp-solutions.com December 7, 2017 Outline Satisfiability Testing Elimination in SAT Solving Algorithms Constraint Types Model


  1. Elimination Techniques In Modern Propositional Logic Reasoning Norbert Manthey nmanthey@conp-solutions.com December 7, 2017

  2. Outline ◮ Satisfiability Testing ◮ Elimination in SAT ◮ Solving Algorithms ◮ Constraint Types ◮ Model Reconstruction ◮ Variable Addition ◮ Conclusion

  3. Satisfiability Testing

  4. Propositional Logic ◮ Variables: v 1 , v 2 , · · · ∈ V of Boolean domain {⊥ , ⊤} ◮ often also seen as { 0, 1 } ◮ Connectives: ◮ negation ¬ v 1 (also written as v 1 ) ◮ disjunction v 1 ∨ v 2 ◮ conjunction v 1 ∧ v 2 ◮ many more, can be defined over truth table ◮ Literals: p , ¬ q , x 1 , x 2 , . . . are variables, or negated variables ◮ double negation is eliminated ◮ Function vars ( F ) returns set of variables of formula F ◮ Function lits ( F ) returns set of literals of formula F

  5. Propositional Logic - Semantics ◮ Interpretation: function that maps variables to truth values ◮ total: map all variables of the input language ◮ partial: map variables of the input language ◮ complete (wrt. formula): map all variables of the formula ◮ An interpretation I satisfies a formula F , if the formula evaluates to ⊤ after mapping the variables to their truth values, i.e. I | = F .

  6. Propositional Logic - Semantics ◮ Interpretation: function that maps variables to truth values ◮ total: map all variables of the input language ◮ partial: map variables of the input language ◮ complete (wrt. formula): map all variables of the formula ◮ An interpretation I satisfies a formula F , if the formula evaluates to ⊤ after mapping the variables to their truth values, i.e. I | = F . ◮ A formula F is satisfiable , if such an interpretation I exists. ◮ Satisfiability Testing : Given a formula F , is it satisfiable? ◮ Compute a model, an unsatisfiable subset or proof!

  7. Propositional Logic - Conjunctive Normal Form (CNF) ◮ Proposition logic formulas can be complex ◮ Reasoners should be fast ◮ Pick reasonable subset

  8. Propositional Logic - Conjunctive Normal Form (CNF) ◮ Proposition logic formulas can be complex ◮ Reasoners should be fast ◮ Pick reasonable subset ◮ Clause: disjunction of literals ( x 1 ∨ · · · ∨ x k ) ◮ equal to a (multi)set of literals { x 1 , . . . , x k } ◮ CNF Formula: conjunction of clauses ( C 1 ∧ · · · ∧ C n ) ◮ equal to a (multi)set of clauses { C 1 , . . . , C k } ◮ Resolvent of clauses C and D with x ∈ C and x ∈ D : ◮ C ⊗ D = ( C \ x ) ∪ ( D \ x )

  9. Propositional Logic - Conjunctive Normal Form (CNF) ◮ Proposition logic formulas can be complex ◮ Reasoners should be fast ◮ Pick reasonable subset ◮ Clause: disjunction of literals ( x 1 ∨ · · · ∨ x k ) ◮ equal to a (multi)set of literals { x 1 , . . . , x k } ◮ CNF Formula: conjunction of clauses ( C 1 ∧ · · · ∧ C n ) ◮ equal to a (multi)set of clauses { C 1 , . . . , C k } ◮ Resolvent of clauses C and D with x ∈ C and x ∈ D : ◮ C ⊗ D = ( C \ x ) ∪ ( D \ x ) ◮ Reduct F wrt set of literals x , F | x : map x to ⊤ , simplify ◮ Subformula F x of F wrt literal x : clauses with x

  10. Propositional Logic - Conjunctive Normal Form (CNF) ◮ Proposition logic formulas can be complex ◮ Reasoners should be fast ◮ Pick reasonable subset ◮ Clause: disjunction of literals ( x 1 ∨ · · · ∨ x k ) ◮ equal to a (multi)set of literals { x 1 , . . . , x k } ◮ CNF Formula: conjunction of clauses ( C 1 ∧ · · · ∧ C n ) ◮ equal to a (multi)set of clauses { C 1 , . . . , C k } ◮ Resolvent of clauses C and D with x ∈ C and x ∈ D : ◮ C ⊗ D = ( C \ x ) ∪ ( D \ x ) ◮ Reduct F wrt set of literals x , F | x : map x to ⊤ , simplify ◮ Subformula F x of F wrt literal x : clauses with x F = {{ x , y } , { x , y }} F | x = {{ y }} F x = {{ x , y }}

  11. Propositional Logic - Formula Relations ◮ Given, formulas F and G ◮ F | = G , if all (total) interpretations I with I | = F also satisfy G , I | = G ◮ Equivalence F ≡ G : F | = G and G | = F ◮ Equi-Satisfiability F ≡ SAT G : F and G are both satisfiable, or F and G are both unsatisfiable ◮ Unsatisfiability-Preserving F | = UNSAT G : if F | = G and F ≡ SAT G

  12. Propositional Logic - Formula Relations ◮ Given, formulas F and G ◮ F | = G , if all (total) interpretations I with I | = F also satisfy G , I | = G ◮ Equivalence F ≡ G : F | = G and G | = F ◮ Equi-Satisfiability F ≡ SAT G : F and G are both satisfiable, or F and G are both unsatisfiable ◮ Unsatisfiability-Preserving F | = UNSAT G : if F | = G and F ≡ SAT G x | = ( x ∨ y ) x ≡ SAT y ( x ∧ x ) | = y ( x ∧ x ) | = UNSAT ( y ∧ y ) ( x ∧ x ) | = UNSAT y does not hold!

  13. Propositional Logic - Advanced Formula Relations Definition (Model Constructibility) A formula G is model constructible with respect to a formula F and to a set of variables S , in symbols F � S mc G , if for each total model I of F there exists a total model I ′ of G such that I ( x ) = I ′ ( x ) for all x ∈ ( V \ S ) . Definition (Constructibility) A formula G is constructible from a formula F , in symbols F � ∩ G , if for each model I of F there exists a model I ′ of G such that I ( x ) = I ′ ( x ) for all x ∈ vars ( F ) . Definition (Mutual Constructibility) Two formulas F and G are mutually constructible, in symbols F � ∩ G , if F � ∩ G and G � ∩ F .

  14. Mutual Constructibility ◮ Original formula F = ( x ∨ d ) ∧ ( a ∨ b ∨ x ) ∧ ( a ∨ x ) ∧ ( b ∨ x ) ∧ ( x ∨ c ) ◮ Formula without x , vars ( F ) ∩ vars ( G ) = { a , b , c , d } G = ( d ∨ a ) ∧ ( d ∨ b ) ∧ ( a ∨ b ∨ c ) ◮ Both satisfiable: J F = ( abcdx ) J G = ( abcdx ) ◮ By changing the mapping of x , J F can be turned into J G , and vice versa. In this example, F � ∩ G .

  15. Formula Relations constructability classical F ≡ G F | = UNSAT G F � ∩ G F | = G F ≡ SAT G F � ∩ G More details in [Man14].

  16. Elimination in SAT

  17. Modern SAT Solving ◮ Successfully applied in different areas ◮ hardware/software model checking, planning, optimization, verification, general purpose backend, . . . ◮ Many different input pattern ◮ AND-gates, XOR-gates, cardinality constraints, clauses ◮ Combine different solving strategies ◮ Special purpose techniques ◮ Gaussian Elimination, Cardinality Extraction, Variable Elimination, Clause Eliminations, Variable Addition, Failed Literal Probing

  18. Solving Algorithms

  19. DavisPutnam (CNF formula F ) Input: A formula F in CNF Output: The solution SAT or UNSAT of this formula while true 1 if F = ∅ then return SAT // satisfiability rule 2 if ⊥ ∈ F then return UNSAT // unsatisfiability rule 3 if ( x ) ∈ F then // unit rule 4 F : = F | x 5 continue 6 if x ∈ lits ( F ) and x / ∈ lits ( F ) then // pure literal rule 7 F : = F | x 8 continue 9 G : = F \ { F x ∪ F x } // clauses without x 10 F : = G ∪ { F x ⊗ F x } // variable elimination 11

  20. Using Elimination During Search ◮ 1960 : DP Algorithm [DP60] ◮ 1962 : search and backtracking instead of elimination (DLL) [DLL62] ◮ 1999 : backjumping and learning (CDCL) [MSS96] ◮ 200X : improve heuristics, data structures [MMZ + 01, SE02] ◮ 2005 : (partial) variable elimination as preprocessing ◮ MiniSAT with SatELite [EB05] ◮ 2009 : simplification during search [Bie09] ◮ 2009 : (partial) Gaussian elimination [SNC09] ◮ 2012 : automated variable addition [MHB13] ◮ 2013 : (partial) cardinality reasoning [BLBLM14] ◮ Systems like Lingeling , Riss or CryptoMinisat implement most of the above and schedule heuristically.

  21. (Bounded) Variable Elimination ◮ Formula F and variable v to be eliminated ◮ v might be functionally dependent , v ↔ ( a ∧ b ) ◮ G v = { ( v ∨ a ∨ b ) } G v = { ( v ∨ a ) , ( v ∨ b ) } ◮ before elimination, split: ◮ F v = G v ∧ R v F v = G v ∧ R v ◮ new clauses S : = F v ⊗ F v ◮ if functional dependent S : = R v ⊗ G v ∧ G v ⊗ R v F ′ : = ( F \ ( F v ∪ F v )) ∪ S ◮ Bounded ( number of clauses matters ): ◮ | S | ≤ | F v | + | F v | , ignoring tautologies ◮ | F v | ≤ 5 ∧ | F v | ≤ 15, or symmetric

  22. Variable Elimination Example ◮ Original formula F = ( x ∨ d ) ∧ ( a ∨ b ∨ x ) ∧ ( a ∨ x ) ∧ ( b ∨ x ) ∧ ( x ∨ c )

  23. Variable Elimination Example ◮ Original formula F = ( x ∨ d ) ∧ ( a ∨ b ∨ x ) ∧ ( a ∨ x ) ∧ ( b ∨ x ) ∧ ( x ∨ c ) ◮ Subformulas

  24. Variable Elimination Example ◮ Original formula F = ( x ∨ d ) ∧ ( a ∨ b ∨ x ) ∧ ( a ∨ x ) ∧ ( b ∨ x ) ∧ ( x ∨ c ) ◮ Subformulas G x = ( a ∨ b ∨ x ) G x = ( a ∨ x ) ∧ ( b ∨ x ) R x = ( x ∨ d ) R x = ( x ∨ c )

  25. Variable Elimination Example ◮ Original formula F = ( x ∨ d ) ∧ ( a ∨ b ∨ x ) ∧ ( a ∨ x ) ∧ ( b ∨ x ) ∧ ( x ∨ c ) ◮ Subformulas G x = ( a ∨ b ∨ x ) G x = ( a ∨ x ) ∧ ( b ∨ x ) R x = ( x ∨ d ) R x = ( x ∨ c ) ◮ Formula without x S : = G x ⊗ R x ∧ R x ⊗ G x S = ( d ∨ a ) ∧ ( d ∨ b ) ∧ ( a ∨ b ∨ c ) ◮ Redundant: G x ⊗ G x = ⊤ R x ⊗ R x = ( c ∨ d )

  26. BVE in 2005 won the competition significantly (267 solved, 242 next)

  27. Elimination using Constraints (http://www.pragmaticsofssat.org/2012/application-cactus-pos12.png)

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