reasoning with quantified boolean formulas
play

Reasoning with Quantified Boolean Formulas Marijn J.H. Heule - PowerPoint PPT Presentation

Reasoning with Quantified Boolean Formulas Marijn J.H. Heule marijn@cs.utexas.edu slides based on a lecture by Martina Seidl, JKU, Linz 1/32 What are QBF? Quantified Boolean formulas (QBF) are formulas of propositional logic + quantifiers


  1. Reasoning with Quantified Boolean Formulas Marijn J.H. Heule marijn@cs.utexas.edu slides based on a lecture by Martina Seidl, JKU, Linz 1/32

  2. What are QBF? ◮ Quantified Boolean formulas (QBF) are formulas of propositional logic + quantifiers ◮ Examples : ◮ ( x ∨ ¯ y ) ∧ (¯ x ∨ y ) (propositional logic) ◮ ∃ x ∀ y ( x ∨ ¯ y ) ∧ (¯ x ∨ y ) Is there a value for x such that for all values of y the formula is true? ◮ ∀ y ∃ x ( x ∨ ¯ y ) ∧ (¯ x ∨ y ) For all values of y , is there a value for x such that the formula is true? 2/32

  3. SAT vs. QSAT aka NP-complete vs. PSPACE-complete SAT QBF φ ( x 1 , x 2 , x 3 ) ∃ x 1 ∀ x 2 ∃ x 3 φ ( x 1 , x 2 , x 3 ) Is there a satisfying Is there a satisfying assignment? assignment tree ? 3/32

  4. Small Example QSAT Problems a ∨ c ) ∧ (¯ Consider the formula ∀ a ∃ b , c . ( a ∨ b ) ∧ (¯ b ∨ ¯ c ) 4/32

  5. Small Example QSAT Problems a ∨ c ) ∧ (¯ Consider the formula ∀ a ∃ b , c . ( a ∨ b ) ∧ (¯ b ∨ ¯ c ) 1 0 c 0 b ⊤ A model is: a 1 c b ⊤ 0 1 4/32

  6. Small Example QSAT Problems a ∨ c ) ∧ (¯ Consider the formula ∀ a ∃ b , c . ( a ∨ b ) ∧ (¯ b ∨ ¯ c ) 1 0 c 0 b ⊤ A model is: a 1 c b ⊤ 0 1 a ∨ c ) ∧ (¯ Consider the formula ∃ b ∀ a ∃ c . ( a ∨ b ) ∧ (¯ b ∨ ¯ c ) 4/32

  7. Small Example QSAT Problems a ∨ c ) ∧ (¯ Consider the formula ∀ a ∃ b , c . ( a ∨ b ) ∧ (¯ b ∨ ¯ c ) 1 0 c 0 b ⊤ A model is: a 1 c b ⊤ 0 1 a ∨ c ) ∧ (¯ Consider the formula ∃ b ∀ a ∃ c . ( a ∨ b ) ∧ (¯ b ∨ ¯ c ) 0 a 0 ⊥ b 0 ⊥ A counter-model is: 1 a c 1 1 ⊥ The quantifier prefix frequently determines the truth of a QBF. 4/32

  8. The Two Player Game Interpretation of QSAT Interpretation of QSAT as two player game for a QBF ∃ x 1 ∀ a 1 ∃ x 2 ∀ a 2 · · · ∃ x n ∀ a n ψ : ◮ Player A (existential player) tries to satisfy the formula by assigning existential variables ◮ Player B (universal player) tries to falsify the formula by assigning universal variables ◮ Player A and Player B make alternately an assignment of the variables in the outermost quantifier block ◮ Player A wins: formula is satisfiable, i.e., there is a strategy for assigning the existential variables such that the formula is always satisfied ◮ Player B wins: formula is unsatisfiable 5/32

  9. Promises of QBF ◮ QSAT is the prototypical problem for PSPACE . ◮ QBFs are suitable as host language for the encoding of many application problems like ◮ verification ◮ artificial intelligence ◮ knowledge representation ◮ game solving ◮ In general, QBF allow more succinct encodings then SAT 6/32

  10. Application of a QBF Solver QBF Solver returns 1. yes/no 2. witnesses 7/32

  11. Example of ∃∀∃ : Synthesis Given an input-output specification, does there exists a circuit that satisfies the input-output specification. QBF solving can be used to find the smallest sorting network: ◮ ( ∃ ) Does there exists a sorting network of k wires, ◮ ( ∀ ) such that for all input variables of the network ◮ ( ∃ ) the output O i ≤ O i + 1 8/32

  12. Example of ∀∃ . . . ∀∃ : Games Many games, such as Go and Reversi, can be naturally expressed as a QBF problem. Boolean variables a i , k , b j , k express that the existential player places a piece on row i and column j at his k th turn. Variables c i , k , d j , k are used for the universal player. Go The QBF problem is of the form ∀ c i , 1 , d j , 1 ∃ a i , 1 , b j , 1 . . . ∀ c i , n , d j , n ∃ a i , n , b j , n .ψ Outcome “satisfiable": the second player (existential) can always prevent that the first player (universal) wins. Reversi 9/32

  13. Illustrating Example ∀∃ : Conway’s Game of Life Conway’s Game of Life is an infinite 2D grid of cells that are either alive or dead using the following update rules: ◮ Any alive cell with fewer than two alive neighbors dies; ◮ Any alive cell with two or three live neighbors lives; ◮ Any alive cell with more than three alive neighbors dies; ◮ Any dead cell with exactly three alive neighbors becomes alive. Game of Life is very popular: over 1,100 wiki articles 10/32

  14. Garden of Eden in Conway’s Game of Life A Garden of Eden (GoE) is a state that can only exist as initial state. Let T ( x , y ) denote the CNF formula that encodes the transition relation from a state to its successor using variables x that describe the current state and variables y the successor state. A QBF that encodes the GoE problem is simply ∀ y ∃ x . T ( x , y ) The smallest Garden of Eden known so far (shown above) was found using a QBF solver. [Hartman et al. 2013] 11/32

  15. The Language of QBF The language of quantified Boolean formulas L P over a set of propositional variables P is the smallest set such that ◮ if v ∈ P ∪ {⊤ , ⊥} then v ∈ L P (variables, constants) ◮ if φ ∈ L P then ¯ φ ∈ L P (negation) ◮ if φ and ψ ∈ L P then φ ∧ ψ ∈ L P (conjunction) ◮ if φ and ψ ∈ L P then φ ∨ ψ ∈ L P (disjunction) ◮ if φ ∈ L P then ∃ v φ ∈ L P (existential quantifier) ◮ if φ ∈ L P then ∀ v φ ∈L P (universal quantifier) 12/32

  16. Some Notes on Variables and Truth Constants ◮ ⊤ stands for top ◮ always true ◮ empty conjunction ◮ ⊥ stands for bottom ◮ always false ◮ empty disjunction ◮ literal : variable or negation of a variable ◮ examples: l 1 = v , l 2 = ¯ w ◮ var( l ) = v if l = v or l = ¯ v ◮ complement of literal l : l ◮ var ( φ ) : set of variables occurring in QBF φ 13/32

  17. Some QBF Terminology Let Qv ψ with Q ∈{∀ , ∃} be a subformula in a QBF φ , then ◮ ψ is the scope of v ◮ Q is the quantifier binding of v ◮ quant( v ) = Q ◮ free variable w in φ : w has no quantifier binding in φ ◮ bound variable w in QBF φ : w has quantifier binding in φ ◮ closed QBF : no free variables Example closed QBF � �� � scope of y , z bound vars y , z bound var a free variable � �� � ���� � �� � ���� ∀ a ( a ∧ ∨ ∀ y ∃ z (( y ∨ ¯ z ) ∧ (¯ y ∨ z ))) x � �� � scope of a 14/32

  18. Prenex Conjunctive Normal Form (PCNF) A QBF φ is in prenex conjunctive normal form iff ◮ φ is in prenex normal form φ = Q 1 v 1 . . . Q n v n ψ ◮ matrix ψ is in conjunctive normal form , i.e., ψ = C 1 ∧ · · · ∧ C n where C i are clauses, i.e., disjunctions of literals. Example ∀ x ∃ y (( x ∨ ¯ y ) ∧ (¯ x ∨ y )) � �� � � �� � prefix matrix in CNF 15/32

  19. Some Words on Notation If convenient, we write ◮ a conjunction of clauses as a set, i.e., C 1 ∧ . . . ∧ C n = { C 1 , . . . , C n } ◮ a clause as a set of literals, i.e., l 1 ∨ . . . ∨ l k = { l 1 , . . . , l k } ◮ var ( φ ) for the variables occurring in φ ◮ var ( l ) for the variable of a literal, i.e., var ( l ) = x iff l = x or l = ¯ x Example ∀ x ∃ y (( x ∨ ¯ y ) ∧ (¯ x ∨ y )) ≈ ∀ x ∃ y {{ x , ¯ y } , { ¯ x , y }} � �� � � �� � � �� � � �� � prefix prefix matrix in CNF matrix in CNF 16/32

  20. Semantics of QBFs A valuation function I : L P → { T , F } for closed QBFs is defined as follows: ◮ I ( ⊤ ) = T ; I ( ⊥ ) = F ◮ I ( ¯ ψ ) = T iff I ( ψ ) = F ◮ I ( φ ∨ ψ ) = T iff I ( φ ) = T or I ( ψ ) = T ◮ I ( φ ∧ ψ ) = T iff I ( φ ) = T and I ( ψ ) = T ◮ I ( ∀ v ψ ) = T iff I ( ψ [ ⊥ / v ]) = T and I ( ψ [ ⊤ / v ]) = T ◮ I ( ∃ v ψ ) = T iff I ( ψ [ ⊥ / v ]) = T or I ( ψ [ ⊤ / v ]) = T 17/32

  21. Boolean s p l i t (QBF φ ) switch ( φ ) case ⊤ : r e t u r n true ; case ⊥ : r e t u r n f a l s e ; ¯ ψ : r e t u r n ( not s p l i t ( ψ ) ) ; case case ψ ′ ∧ ψ ′′ : s p l i t ( ψ ′ ) && s p l i t ( ψ ′′ ) ; r e t u r n case ψ ′ ∨ ψ ′′ : s p l i t ( ψ ′ ) s p l i t ( ψ ′′ ) ; r e t u r n | | case QX ψ : s e l e c t x ∈ X ; X ′ = X \{ x } ; i f ( Q == ∀ ) ( s p l i t ( QX ′ ψ [ x / ⊤ ] ) && r e t u r n s p l i t ( QX ′ ψ [ x / ⊥ ] ) ) ; else ( s p l i t ( QX ′ ψ [ x / ⊤ ] ) r e t u r n | | s p l i t ( QX ′ ψ [ x / ⊥ ] ) ) ; 18/32

  22. Some Simplifications The following rewritings are equivalence preserving : 1. ¯ ¯ ⊤ ⇒ ⊥ ; ⊥ ⇒ ⊤ ; 2. ⊤ ∧ φ ⇒ φ ; ⊥ ∧ φ ⇒ ⊥ ; ⊤ ∨ φ ⇒ ⊤ ; ⊥ ∨ φ ⇒ φ ; 3. ( Q x φ ) ⇒ φ , Q ∈ {∀ , ∃} , x does not occur in φ ; Example c } , { a , ¯ b , ¯ ∀ ab ∃ x ∀ c ∃ yz ∀ d {{ a , b , ¯ ⊤} , { c , y , d , ⊥} , { x , y , ¯ ⊥} , { x , c , d , ⊤}} ≈ c } , { a , ¯ ∀ abc ∃ y ∀ d {{ a , b , ¯ b } , { c , y , d }} 19/32

  23. Boolean splitCNF ( P r e f i x P , matrix ψ ) ( ψ == ∅ ) : i f r e t u r n true ; ( ∅ ∈ ψ ) : r e t u r n f a l s e ; i f P = QXP ′ , x ∈ X , X ′ = X \{ x } ; i f ( Q == ∀ ) ( splitCNF ( QX ′ P ′ , ψ ′ ) && r e t u r n splitCNF ( QX ′ P ′ , ψ ′′ ) ) ; else ( splitCNF ( QX ′ P ′ , ψ ′ ) r e t u r n | | splitCNF ( QX ′ P ′ , ψ ′′ ) ) ; where ψ ′ : take clauses of ψ, delete clauses with x , delete ¯ x ψ ′′ : take clauses of ψ, delete clauses with ¯ x , delete x 20/32

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