This preview shows page 1. Sign up to view the full content.
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
atmostone
(
a
1
, . . . ,
a
n
)
. This constraint
is satisfied if at most one of the Boolean variables is true. Encode the constraint
atmostone
(
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
atmostone
constraint containing
n
arguments?
3. The pigeonhole 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. Sign up
to
access the rest of the document.
This note was uploaded on 02/07/2012 for the course CS 4322 taught by Professor Martinrinard during the Spring '11 term at MIT.
 Spring '11
 MartinRinard

Click to edit the document details