SMT/SAT exercises Bruno Dutertre and Leonardo de Moura 1. Given the formula ( a 1 ∧ b 1 ) ∨ ( a 2 ∧ b 2 ) ∨ . . . ∨ ( a 20 ∧ b 20 ) Is it feasible to convert it into an equivalent CNF formula? Convert it into an equisatisfiable CNF formula using auxiliary variables. Prove they are indeed equisatisfiable using Yices or Z3. 2. Many problems can be easily encoded using the constraint at-most-one ( a 1 , . . . , a n ) . This constraint is satisfied if at most one of the Boolean variables is true. Encode the constraint at-most-one ( a 1 , a 2 , a 3 , a 4 , a 5 ) into an equivalent set of clauses. Try it using Yices or Z3. How many clauses do you need to encode an at-most-one constraint containing n arguments? 3. The pigeon-hole problem is a classic satisfiability problem. We use the Boolean variable p i , j to represent that pigeon i is at hole j . Assume we have n + 1 pigeons and n holes, and we want to encode the following constraints: • Each pigeon is in some hole.
This is the end of the preview.
access the rest of the document.
Conjunctive normal form, Boolean satisfiability problem, CNF formula