Presentation is loading. Please wait.

Presentation is loading. Please wait.

Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View Quantified Formulas Acknowledgement: QBF slides borrowed from S.

Similar presentations


Presentation on theme: "Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View Quantified Formulas Acknowledgement: QBF slides borrowed from S."— Presentation transcript:

1 Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View Quantified Formulas Acknowledgement: QBF slides borrowed from S. Malik

2 Decision Procedures - An algorithmic point of view 2 Why do we need quantifiers ? As always: more modeling power Examples of quantifiers usage:  “Everyone in the room has a friend”  “There is a person in the room that all of his cars are red”  “There is not more than one person in the room that earns more than $1M”

3 Decision Procedures - An algorithmic point of view 3 Quantifiers in Math… For any integer x there is a smaller integer y 8 x 2 Z 9 y 2 Z. y < x X Reverse claim: There exists an integer y such that any integer x is greater than y 9 y 2 Z 8 x 2 Z. y < x £ (Bertrand’s postulate) For any natural number greater than 1 there is a prime number p such that n < p < 2 n 8 n 2 N. 9 p 2 N. n >1 ! (isprime( p ) Æ n < p < 2 n )

4 Decision Procedures - An algorithmic point of view 4 Actually… Satisfiability of  ( x 1, , x n ) = does there exist an interpretation of x 1, , x n that satisfies  Validity of  ( x 1, , x n ) = does it hold that all interpretation of x 1, , x n satisfy  Conclusion: what we did so far (satisfiability, validity) is non-alternating quantification.

5 Decision Procedures - An algorithmic point of view 5 Example #1: Quantified Linear Arithmetic formula = predicate | formula Ç formula | : formula | (formula) | 8 var. formula | 9 var. formula predicate =  i a i x i · c 8 x. 9 y. 9 z. ( y + 1 · x Æ z + 1 · y Æ 2 x + 1 · z )

6 Decision Procedures - An algorithmic point of view 6 Solving QLA with projection Eliminate 9 x. by projecting x. In Linear Arithmetic over R projection can be done with Fourier-Motzkin elimination. Fourier-Motzkin method to eliminate a variable x n : - for each pair of constraints:  i=1.. n -1 a i ’ x i < x n <  i=1.. n -1 a i x i add a constraint  i =1.. n -1 a i ’ x i <  i =1.. n -1 a i x i - in the end remove all constraints involving x n.

7 Decision Procedures - An algorithmic point of view 7 x + 1 · 3 z + 3 Solving QLA with projection Fourier Motzkin: example. Eliminate y : x + 1 · z + 2 Æ x + 1 · y Æ y · 3 z + 3 Æ 2 y · 2 z + 4

8 Decision Procedures - An algorithmic point of view 8 Quantifier elimination - example 8 x. 9 y. 9 z. ( y +1 · x Æ z +1 · y Æ 2 x +1 · z ) 8 x. 9 y. ( y +1 · x Æ 2 x +1 · y -1 ) 8 x. (2 x +2 · x -1)// transform to 9 :9 x. : (2 x +2 · x -1) :9 x. x > -3 : true false

9 Decision Procedures - An algorithmic point of view 9 Quantifier elimination by projection: summary Given a PNF formula f = Q[ n ]V[ n ]  Q[1]V[1]  For i = 1.. n { if Q[ i ] = 9 then  = project( ,V[ i ]) else  = : project( : ,V[ i ]) } Return 

10 Decision Procedures - An algorithmic point of view 10 Example#2: Quantified Propositional Logic Better known as Quantified Boolean Formulas (QBF)  P-Space Complete formula: var | : formula | formula Ç formula | ( formula ) | T | F| 8 var. (formula) | 9 var. (formula) 8 x. ( x Ç 9 y. ( y ! x )) 8 x. ( 9 y. (( x Ç : y ) Æ ( : x Ç y )) Æ 9 y. (( : y Ç : x ) Æ ( x Ç y ))) Binding scope of y X X

11 Decision Procedures - An algorithmic point of view 11 Motivations QBF has practical applications:  AI Planning  Sequential circuit verification  …

12 Decision Procedures - An algorithmic point of view 12 Winning strategy in chess as QBF Given an initial configuration of the board, an odd natural k, does white have a winning strategy ?

13 Decision Procedures - An algorithmic point of view 13 Variables... s = board size. #locations = s 2 + 1, # pieces = 4s.

14 Constraint Decision Procedures - An algorithmic point of view 14 Problem: possibly false because of illegal moves of black ! Initial state W 1 st move B 1 st move

15 Decision Procedures - An algorithmic point of view 15 Constraint - 2nd attempt Problem: white can drive the black into stalemate! Solution:...

16 Decision Procedures - An algorithmic point of view 16 The State-Space Diameter Problem S0S0 S2S2 S1S1 S3S3 S5S5 S4S4 diameter = 3 Start from the initial states, the minimum number of steps needed to visit every reachable state S0S0 initial state: S 0 S2S2 S1S1 step 1: S 1, S 2 S4S4 S3S3 step 2: S 3, S 4 S5S5 step 3: S 5

17 Decision Procedures - An algorithmic point of view 17 Why is the Diameter Problem important? If the graph is given to us explicitly – an easy problem Typically, however, graphs are given to us symbolically.  That is, with formulas.  Those formulas are called a ‘transition system’.

18 Transition systems: examples 1. a 2 32 state graph described symbolically. Let ‘cnt’ be a 32-bit variable  init(cnt) = 0;  next(cnt) = cnt + 1; 2. same, but with an input. Let ‘in’ be a Boolean input.  init(cnt) = 0;  next(cnt) = cnt + in; Decision Procedures - An algorithmic point of view 18

19 Decision Procedures - An algorithmic point of view 19 Why is the Diameter Problem important? We are given a circuit as a transition system, and a property. Bounded model checking (BMC): search for a ‘bad’ state (that violates the property) up to k steps from an initial step. BMC can be formulated as SAT. Increasing k makes is harder. Q: how deep should we go ? A: as deep as the diameter The diameter can be found by solving a QBF problem

20 The Diameter Problem Decision Procedures - An algorithmic point of view 20 Inputs I drive this path … but inputs I’ drive a shorter path

21 The Diameter Problem Decision Procedures - An algorithmic point of view 21

22 QBF Formulation Decision Procedures - An algorithmic point of view 22 V inputs All other variables Circuit constraints Equal states

23 Decision Procedures - An algorithmic point of view 23 Prenex Normal-Form (PNF) Formulas in PNF look like this:  ’: Q[ n ]V[ n ]. .Q[1]V[1]. Quantifier-free formula where Q[ i ] 2 { 8, 9 } and V[ i ] is a variable. Every quantified formula can be transformed to PNF while preserving validity. How ? prefix

24 Decision Procedures - An algorithmic point of view 24 Prenex Normal Form (PNF) 1. Eliminate ! and $ (transform to Ç Æ : ) 2. Push negations inside using: : 8 x.  $ 9 x. :  : 9 x.  $ 8 x. :  3. If there are name conflicts across scopes, solve with renaming. 4. Move quantifiers out by using recursively rules such as: 1. Q 1 x.  1 (x) Æ Q 2 y.  2 (y) $ Q 1 x. Q 2 y. (  1 (x) Æ  2 (y))Q i 2 { 8, 9 } 2. Q 1 x.  1 (x) Ç Q 2 y.  2 (y) $ Q 1 x. Q 2 y. (  1 (x) Ç  2 (y))Q i 2 { 8, 9 }   1 Æ 9 x.  2 (x) $ 9 x. (  1 Æ  2 (x)) where x does not appear in  1   1 Æ 8 x.  2 (x) $ 8 x. (  1 Æ  2 (x)) where x does not appear in  1 5. 8 x.  1 (x) Æ 8 x.  2 (x) $ 8 x. (  1 (x) Æ  2 (x)) 6. 9 x.  1 (x) Ç 9 x.  2 (x) $ 9 x. (  1 (x) Ç  2 (x))

25 Decision Procedures - An algorithmic point of view 25 Prenex Normal Form (PNF): example :9 x. : ( 9 y. (( y ! x ) Æ ( : x Ç y )) Æ :8 y. (( y Æ x ) Ç ( : x Æ : y))) 1,2. Eliminate !, push negations inside: 8 x. ( 9 y. (( : y Ç x ) Æ ( : x Ç y )) Æ 9 y. (( : y Ç : x ) Æ ( x Ç y ))) 3. Renaming: 8 x. ( 9 y 1. (( : y 1 Ç x ) Æ ( : x Ç y 1 )) Æ 9 y 2. (( : y 2 Ç : x ) Æ ( x Ç y 2 ))) 4. Move quantifiers to front: 8 x. 9 y 1. 9 y 2. ( x Ç : y 1 ) Æ ( : x Ç y 1 ) Æ ( : y 2 Ç : x ) Æ ( x Ç y 2 )

26 Decision Procedures - An algorithmic point of view 26 Why eliminating 9 x. Æ i L i is enough A procedure for eliminating an existential quantifier applied to a conjunction of literals is enough, because:  Given a formula , write it in DNF.  Use the fact that  Eliminate universal quantifiers using the fact 8 x.  $ :9 x. : 

27 Decision Procedures - An algorithmic point of view 27 a Ç b Ç g Ç h’ Ç f a Ç b Ç g Ç h’ Solving QBF with projection: 9 Eliminate 9 x. by projecting x on variables in higher quantification levels (their scope includes x ’s scope). In Propositional Logic projection can be done with Resolution. Resolution example: g Ç h’ Ç c Ç fa Ç b Ç c’ Ç f

28 Decision Procedures - An algorithmic point of view 28 Solving QBF with projection: 8 Transform 8 to 9 via: ( 8 x.  $ ( :9 x. :  CNF is easier than general formulas: 8 u 1 u 2 9 e 1 8 u 3 ( u 1 Ç: e 1 )( : u 1 Ç e 1 )( u 2 Ç: u 3 Ç: e 1 ) 8 u 1 u 2 9 e 1 :9 u 3 : (( u 1 Ç: e 1 )( : u 1 Ç e 1 )( u 2 Ç: u 3 Ç: e 1 )) 8 u 1 u 2 9 e 1 :9 u 3 (( : u 1 Æ e 1 ) Ç ( u 1 Æ : e 1 ) Ç ( : u 2 Æ u 3 Æ e 1 )) 8 u 1 u 2 9 e 1 : (( : u 1 Æ e 1 ) Ç ( u 1 Æ : e 1 ) Ç ( : u 2 Æ ( 9 u 3. u 3 ) Æ e 1 )) 8 u 1 u 2 9 e 1 : (( : u 1 Æ e 1 ) Ç ( u 1 Æ : e 1 ) Ç ( : u 2 Æ e 1 )) 8 u 1 u 2 9 e 1 ( u 1 Ç: e 1 )( : u 1 Ç e 1 )( u 2 Ç: e 1 ) Suffix is DNF Back to CNF Shortcut for CNF formulas: simply erase universally quantified variables! Replace with true

29 Decision Procedures - An algorithmic point of view 29 Another example… 8 u 1 u 2 9 e 1 8 u 3 9 e 3 e 2 ( u 1 Ç: e 1 )( : u 1 Ç: e 2 Ç e 3 )( u 2 Ç: u 3 Ç: e 1 )( e 1 Ç e 2 )( e 1 Ç: e 3 ) 8 u 1 u 2 9 e 1 8 u 3 9 e 3 ( u 1 Ç: e 1 )( : u 1 Ç e 3 Ç e 1 )( u 2 Ç: u 3 Ç: e 1 )( e 1 Ç: e 3 ) 8 u 1 u 2 9 e 1 8 u 3 ( u 1 Ç: e 1 )( : u 1 Ç e 1 )( u 2 Ç: u 3 Ç: e 1 ) 8 u 1 u 2 9 e 1 ( u 1 Ç: e 1 )( : u 1 Ç e 1 )( u 2 Ç: e 1 ) 8u1u2(:u1Ç u2)8u1u2(:u1Ç u2) FALSE

30 Decision Procedures - An algorithmic point of view 30 An alternative way to project Booleans Shannon expansion: 9 x.  =  | x =0 Ç  | x =1 8 x.  =  | x =0 Æ  | x =1 // can be derived from 8 x.  = :9 x. :  The same applies for all finite-range variables. Applying 9 x. , where  in CNF $ resolution But:  does not need to be in CNF, and there is no need to transform the formula to DNF.

31 Decision Procedures - An algorithmic point of view 31 Example: Projecting with Shannon expan. 9 y 8 z 9 x. ( y Ç ( x Æ z )) 9 y 8 z. ( y Ç ( x Æ z ))| x =0 Ç ( y Ç ( x Æ z ))| x =1 9 y 8 z. (( y ) Ç ( y Ç z )) 9 y 8 z. ( y Ç z ) | z =0 Æ ( y Ç z ) | z =1 9 y. ( y ) True

32 Decision Procedures - An algorithmic point of view 32 Simplifications between resolution steps First resolve out existential variables After resolving out all existential variables  An empty clause (a clause with no literal or consisting only of universal variables)  false  An empty set of clauses  true Has the memory blowup problem Alleviate by simplifying the propositional part after each resolution step

33 Decision Procedures - An algorithmic point of view 33 Example: simplifying resolve out e 1 empty set of clause instance is true simplify resolve out e 2 8 u 1 u 2 9 e 1 e 2. ( u 1 Ç e 1 ) Æ ( : u 1 Ç : e 1 ) Æ ( : u 1 Ç u 2 Ç: e 2 ) Æ ( : u 2 Ç: e 1 Ç e 2 ) Æ ( e 1 Ç: e 2 ) 8 u 1 u 2 9 e 2. ( u 1 Ç : u 2 Ç e 2 ) Æ ( : u 1 Ç : e 2 ) Æ ( : u 1 Ç u 2 Ç: e 2 ) 8 u 1 u 2 9 e 2. ( u 1 Ç : u 2 Ç e 2 ) Æ ( : u 1 Ç : e 2 ) subsumed

34 Decision Procedures - An algorithmic point of view 34 More about QBF Example of using QBF  A chess problem  The diameter problem A search-based procedure for QBF.

35 Decision Procedures - An algorithmic point of view 35 Search Based QBF Algorithms Work by gradually assigning variables A partial assignment  [KGS98] M. Cadoli, A. Giovanardi, M. Schaerf. An Algorithm to Evaluate Quantified Boolean Formulae. In Proc. of 16th National Conference on Artificial Intelligence (AAAI-98)An Algorithm to Evaluate Quantified Boolean Formulae

36 Decision Procedures - An algorithmic point of view 36 Search Based QBF Algorithms Work by gradually assigning variables A partial assignment   Undetermined Continue search [KGS98] M. Cadoli, A. Giovanardi, M. Schaerf. An Algorithm to Evaluate Quantified Boolean Formulae. In Proc. of 16th National Conference on Artificial Intelligence (AAAI-98)An Algorithm to Evaluate Quantified Boolean Formulae

37 Decision Procedures - An algorithmic point of view 37 Search Based QBF Algorithms Work by gradually assigning variables A partial assignment   Undetermined  Conflict Backtrack Record the reason [KGS98] M. Cadoli, A. Giovanardi, M. Schaerf. An Algorithm to Evaluate Quantified Boolean Formulae. In Proc. of 16th National Conference on Artificial Intelligence (AAAI-98)An Algorithm to Evaluate Quantified Boolean Formulae

38 Decision Procedures - An algorithmic point of view 38 Search Based QBF Algorithms Work by gradually assigning variables A partial assignment   Undetermined  Conflict  Satisfied Backtrack Determine the covered satisfying space [KGS98] M. Cadoli, A. Giovanardi, M. Schaerf. An Algorithm to Evaluate Quantified Boolean Formulae. In Proc. of 16th National Conference on Artificial Intelligence (AAAI-98)An Algorithm to Evaluate Quantified Boolean Formulae

39 Decision Procedures - An algorithmic point of view 39 Search Based QBF Algorithms Work by gradually assigning variables A partial assignment   Undetermined  Conflict  Satisfied The majority of QBF solvers are search based, the DPLL algorithm is an example of this

40 Decision Procedures - An algorithmic point of view 40 Basic DPLL Flow for QBF  e  u ( e Ç u )( : e Ç : u ) Unknown True (1) False(0)

41 Decision Procedures - An algorithmic point of view 41 Basic DPLL Flow for QBF e = 0 Unknown True (1) False(0)  e  u ( e Ç u )( : e Ç : u )

42 Decision Procedures - An algorithmic point of view 42 Basic DPLL Flow for QBF e = 0 u = 1 Unknown True (1) False(0) Satisfying Node  e  u ( e Ç u )( : e Ç : u ) Universal quantification Existential quantification

43 Decision Procedures - An algorithmic point of view 43 Basic DPLL Flow for QBF e = 0 u = 1 Unknown True (1) False(0) Backtrack  e  u ( e Ç u )( : e Ç : u )

44 Decision Procedures - An algorithmic point of view 44 Basic DPLL Flow for QBF e = 0 u = 1 u = 0 Unknown True (1) False(0)  e  u ( e Ç u )( : e Ç : u )

45 Decision Procedures - An algorithmic point of view 45 Basic DPLL Flow for QBF e = 0 u = 1 u = 0 Unknown True (1) False(0)  e  u ( e Ç u )( : e Ç : u )

46 Decision Procedures - An algorithmic point of view 46 Basic DPLL Flow for QBF e = 1 Unknown True (1) False(0)  e  u ( e Ç u )( : e Ç : u ) e = 0 u = 1 u = 0

47 Decision Procedures - An algorithmic point of view 47 Basic DPLL Flow for QBF e = 1 u = 1 Unknown True (1) False(0)  e  u ( e Ç u )( : e Ç : u ) e = 0 u = 1 u = 0

48 Decision Procedures - An algorithmic point of view 48 Basic DPLL Flow for QBF e = 1 u = 1 Unknown True (1) False(0) Conflicting Node  e  u ( e Ç u )( : e Ç : u ) e = 0 u = 1 u = 0

49 Decision Procedures - An algorithmic point of view 49 Basic DPLL Flow for QBF e = 1 u = 1 Unknown True (1) False(0)  e  u ( e Ç u )( : e Ç : u ) e = 0 u = 1 u = 0

50 Decision Procedures - An algorithmic point of view 50 Basic DPLL Flow for QBF e = 1 u = 1 e = 0 u = 1 u = 0 False Unknown True (1) False(0)  e  u ( e Ç u )( : e Ç : u )

51 Decision Procedures - An algorithmic point of view 51 Basic DPLL Flow for QBF  u  e ( u Ç e )( : u Ç : e ) Unknown True (1) False(0)

52 Decision Procedures - An algorithmic point of view 52 Basic DPLL Flow for QBF Unknown True (1) False(0) u = 1  u  e ( u Ç e )( : u Ç : e )

53 Decision Procedures - An algorithmic point of view 53 Basic DPLL Flow for QBF Unknown True (1) False(0) u = 1 e = 1  u  e ( u Ç e )( : u Ç : e )

54 Decision Procedures - An algorithmic point of view 54 Basic DPLL Flow for QBF Unknown True (1) False(0) u = 1 e = 1e = 0  u  e ( u Ç e )( : u Ç : e )

55 Decision Procedures - An algorithmic point of view 55 Basic DPLL Flow for QBF Unknown True (1) False(0) u = 1 e = 1e = 0  u  e ( u Ç e )( : u Ç : e )

56 Decision Procedures - An algorithmic point of view 56 Basic DPLL Flow for QBF Unknown True (1) False(0) u = 1 e = 1e = 0 u = 0 e = 1  u  e ( u Ç e )( : u Ç : e )

57 Decision Procedures - An algorithmic point of view 57 Basic DPLL Flow for QBF Unknown True (1) False(0) u = 1 e = 1e = 0 u = 0 e = 1 True  u  e ( u Ç e )( : u Ç : e )

58 Decision Procedures - An algorithmic point of view 58 What we saw is DPLL - QBF while (true) { decide_next_branch() //choose a branch variable while(true) { status = deduce(); //unit propagation if (status == CONFLICT) { blevel = analyze_conflict(); //find out the reason for conflict if (blevel < 0) return UNSATISFIABLE; else backtrack(blevel); } else if (status == SATISFIABLE) { blevel = analyze_SAT() //find out the reason for satisfaction if (blevel < 0) return SATISFIABLE; else backtrack(blevel); } else break; }}

59 Decision Procedures - An algorithmic point of view 59 Solving QBF of ACNF formulas We will see a special case: 2QBF 2QBF = QBF with one quantifier alternation very useful!

60 Decision Procedures - An algorithmic point of view 60 A special case: 2QBF DPLL search based, utilize a standard SAT solver  Algorithm I: Assign universal variables first  Algorithm II: no restriction in decision order w.r.t. variable quantification order

61 Decision Procedures - An algorithmic point of view 61 Example for Algorithm I universal assignment: u 1 =0, u 2 =0 SAT assignment: u 1 =0, u 2 =0, e 1 =1, e 2 =1 satisfying cube (cover set): u 1 =0, e 1 =1, e 2 =1 coverage cube: u 1 =0 universal assignment: u 1 =1, u 2 =0 SAT assignment: u 1 =1, u 2 =0, e 1 =0, e 2 =0 satisfying cube (cover set): u 1 =1, e 1 =0, e 2 =0 coverage cube: u 1 =1 no more universal assignment left, instance is true 8 u 1 u 2 9 e 1 e 2. ( u 1 Ç e 1 ) Æ ( : u 1 Ç : e 1 ) Æ ( : u 1 Ç u 2 Ç: e 2 ) Æ ( : u 2 Ç: e 1 Ç e 2 ) Æ ( e 1 Ç: e 2 )

62 Decision Procedures - An algorithmic point of view 62 satisfying cube (cover set) 3 Algorithm I universal space (u 1,u 2,…,u m ) SAT assignmentuniversal assignment coverage cube existential space (e 1,e 2,…,e n ) 1 2 4 5

63 Decision Procedures - An algorithmic point of view 63 Example for Algorithm II SAT assignment: u 1 =0, e 1 =1, e 2 =1, u 2 =0 blocking clause: (u 1 Ç : e 1 Ç : e 2 ) coverage cube: u 1 =0 SAT assignment: u 1 =1, e 1 =0, e 2 =0, u 2 =0 coverage cube: u 1 =1 blocking clause: (u 1 Ç : e 1 Ç : e 2 ) The entire universal space is covered, instance is true 8 u 1 u 2 9 e 1 e 2. ( u 1 Ç e 1 ) Æ ( : u 1 Ç : e 1 ) Æ ( : u 1 Ç u 2 Ç: e 2 ) Æ ( : u 2 Ç: e 1 Ç e 2 ) Æ ( e 1 Ç: e 2 )

64 Decision Procedures - An algorithmic point of view 64 blocking clause 2 Algorithm II universal variable space (u 1,u 2,…,u m ) SAT assignment, no need to respect quantification order to get that 1 3 all variable space (u 1,u 2,…,u m,e 1,e 2,…,e n ) coverage cube 4

65 Decision Procedures - An algorithmic point of view 65 Experimental Results (Malik et al.) >400 Res w/o simp >400 4.29 208.6 25.04 2.19 Res w/ simp >400 298.8634** >400 2.55 18.23294.270.803 Depth s1423 s1488 >400 0.22 0.27 Quaffle >4002.1115 >4000.151 0.260.151 Alg. IIAlg. ICircuit 0.36(10) 0.01(100) Res w/o simp 169.09(6) 0.25(100) Res w/ simp 200 (10 instances) 100 (100 instances) >400(0)16.22(98)0(100) >400(0) Quaffle >400(0)160(6) Alg. IIAlg. I # of clauses (100 vars, 5 lits/clause) * The tests were done on an Intel Pentium III 933 MHz machine with 1GB of RAM running linux. ** Improves on previous diameter lower bound of 26

66 Decision Procedures - An algorithmic point of view 66 Naïve DPLL Based Approach Works on a CNF database Learning and non-chronological backtracking is much harder – requires a change! Modern QBF solvers do not work with CNF, rather with a combination of CNF with Cubes. This lets them apply learning efficiently.

67 Decision Procedures - An algorithmic point of view 67 ACNF Definition: Augmented CNF (ACNF)   = C 1 Æ C 2 Æ … Æ C m Ç S 1 Ç S 2 Ç …… Ç S k  Where C i ’s are clauses, and S j ’s are cubes.  Each S j is contained in the clause term C 1 C 2 …C m. i.e.  i  {1,2…k}, S i  C 1 Æ C 2 Æ … Æ C m In ACNF, cubes are redundant Cubes are necessary for saving information on the (universal) space already covered. Example: ( : a Ç: b Ç: c) Æ ( : a Ç b Ç c) Æ (a Ç: b Ç c) Æ (a Ç b Ç: c) Ç ( : a Æ: b Æ: c) Ç (a Æ : b Æ c)

68 Decision Procedures - An algorithmic point of view 68 Coverage Cubes and Blocking Clauses (u 1 Ç u 2 Ç e 1 ) Æ (u 3 Ç : e 2 ) Æ (u 1 Ç : e 1 Ç : e 2 )( : u 1 Ç : u 2 Ç e 2 ) Æ satisfying assignment : {u 1 =1, u 2 =0, u 3 =X, e 1 =0, e 2 =0} satisfying cube: {u 1 =1, u 2 =0, e 2 =0} select a set of literals that satisfy all clauses coverage cube for the universal Boolean space: u 1  : u 2 blocking clause: : u 1 Ç u 2 prevents revisiting the already searched space


Download ppt "Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View Quantified Formulas Acknowledgement: QBF slides borrowed from S."

Similar presentations


Ads by Google