Boolean satisfiability with transitivity constraints

We consider a variant of the Boolean satisfiability problem where a subset ϵ of the propositional variables appearing in formula <i>F</i><inf>sat</inf> encode a symmetric, transitive, binary relation over <i>N</i> elements. Each of these <i>relational</i> variables, <i>e</i><inf><i>i,j</i></inf>, for 1 ≤ <i>i</i> < <i>j</i> ≤ <i>N</i>, expresses whether or not the relation holds between elements <i>i</i> and <i>j</i>. The task is to either find a satisfying assignment to <i>F</i><inf>sat</inf> that also satisfies all transitivity constraints over the relational variables (e.g., <i>e</i><inf>1,2</inf> ∧ <i>e</i><inf>2,3</inf> ⇒ <i>e</i><inf>1,3</inf>), 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 <i>F</i><inf>sat</inf> 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 <i>F</i><inf>sat</inf>, our experiments show that we can readily construct an OBDD representation of the relevant transitivity constraints and thus solve the constrained satisfiability problem.

[1]  Joao Marques-Silva,et al.  GRASP: A Search Algorithm for Propositional Satisfiability , 1999, IEEE Trans. Computers.

[2]  K DasSajal Book Review: Introduction to Parallel Algorithms and Architectures : Arrays, Trees, Hypercubes by F. T. Leighton (Morgan Kauffman Pub, 1992) , 1992 .

[3]  Joao Marques-Silva,et al.  The Impact of Branching Heuristics in Propositional Satisfiability Algorithms , 1999, EPIA.

[4]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[5]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[6]  David L. Dill,et al.  Automatic verification of Pipelined Microprocessor Control , 1994, CAV.

[7]  João P. Silva The Impact of Branching Heuristics in Propositional Satisfiability Algorithms , 1999 .

[8]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[9]  F. Leighton,et al.  Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes , 1991 .

[10]  David A. Patterson,et al.  Computer architecture (2nd ed.): a quantitative approach , 1996 .

[11]  M. Yannakakis Computing the Minimum Fill-in is NP^Complete , 1981 .

[12]  Hai Zhou,et al.  BDD Based Procedures for a Theory of Equality with Uninterpreted Functions , 2003, Formal Methods Syst. Des..

[13]  Randal E. Bryant,et al.  Superscalar Processor Verification Using Efficient Reductions of the Logic of Equality with Uninterpreted Functions to Propositional Logic , 1999, CHARME.

[14]  Jerry R. Burch Techniques for verifying superscalar microprocessors , 1996, DAC '96.

[15]  David A. Patterson,et al.  Computer Architecture - A Quantitative Approach, 5th Edition , 1996 .

[16]  Randal E. Bryant,et al.  Processor verification using efficient reductions of the logic of uninterpreted functions to propositional logic , 1999, TOCL.

[17]  Randal E. Bryant,et al.  Effective use of Boolean satisfiability procedures in the formal verification of superscalar and VLIW microprocessors , 2003, J. Symb. Comput..

[18]  E T. Leighton,et al.  Introduction to parallel algorithms and architectures , 1991 .

[19]  Randal E. Bryant,et al.  Effective use of boolean satisfiability procedures in the formal verification of superscalar and VLIW , 2001, DAC '01.

[20]  Randal E. Bryant,et al.  EVC: A Validity Checker for the Logic of Equality with Uninterpreted Functions and Memories, Exploiting Positive Equality, and Conservative Transformations , 2001, CAV.

[21]  Sajal K. Das,et al.  Book Review: Introduction to Parallel Algorithms and Architectures : Arrays, Trees, Hypercubes by F. T. Leighton (Morgan Kauffman Pub, 1992) , 1992, SIGA.

[22]  Randal E. Bryant,et al.  On the Complexity of VLSI Implementations and Graph Representations of Boolean Functions with Application to Integer Multiplication , 1991, IEEE Trans. Computers.

[23]  D. Rose Triangulated graphs and the elimination process , 1970 .

[24]  F. Thomson Leighton,et al.  ARRAYS AND TREES , 1992 .

[25]  Randal E. Bryant,et al.  Boolean Satisfiability with Transitivity Constraints , 2000, CAV.

[26]  Randal E. Bryant,et al.  Exploiting Positive Equality in a Logic of Equality with Uninterpreted Functions , 1999, CAV.