We consider a variant of the Boolean satisfiability problem where a subset £ of the propositional variables appearing in formula F sat  encode a symmetric, transitive, binary relation over N elements. Each of these relational variables, e i,j , for 1 < i < j ≤ N, expresses whether or not the relation holds between elements i and j. The task is to either find a satisfying assignment to F sat  that also satisfies all transitivity constraints over the relational variables (e.g., e 1,2  ∧ e 2,3  ⇒ e 1,3 ), or to prove that no such assignment exists. Solving this satisfiability problem is the final and most difficult step in our decision procedure for a logic of equality with uninterpreted functions. This procedure forms the core of our tool for verifying pipelined microprocessors. To use a conventional Boolean satisfiability checker, we augment the set of clauses expressing F sat  with clauses expressing the transitivity constraints. We consider methods to reduce the number of such clauses based on the sparse structure of the relational variables. To use Ordered Binary Decision Diagrams (OBDDs), we show that for some sets £, the OBDD representation of the transitivity constraints has exponential size for all possible variable orderings. By considering only those relational variables that occur in the OBDD representation of F sat , our experiments show that we can readily construct an OBDD representation of the relevant transitivity constraints and thus solve the constrained satisfiability problem.
['Randal E. Bryant', 'Miroslav N. Velev']
Boolean satisfiability with transitivity constraints