CAV 2005: Computer Aided Verification pp 307-320

# Yet Another Decision Procedure for Equality Logic

• Orly Meir
• Ofer Strichman
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3576)

## Abstract

We introduce a new decision procedure for Equality Logic. The procedure improves on Bryant and Velev’s sparse method [4] from CAV’00, in which each equality predicate is encoded with a Boolean variable, and then a set of transitivity constraints are added to compensate for the loss of transitivity of equality. We suggest the Reduced Transitivity Constraints (RTC) algorithm, that unlike the sparse method, considers the polarity of each equality predicate, i.e. whether it is an equality or disequality when the given equality formula ϕ E is in Negation Normal Form (NNF). Given this information, we build the Equality Graph corresponding to ϕ E with two types of edges, one for each polarity. We then define the notion of Contradictory Cycles to be cycles in that graph that the variables corresponding to their edges cannot be simultaneously satisfied due to transitivity of equality. We prove that it is sufficient to add transitivity constraints that only constrain Contradictory Cycles, which results in only a small subset of the constraints added by the Reconstruct-αsparse method. The formulas we generate are smaller and define a larger solution set, hence are expected to be easier to solve, as indeed our experiments show. Our new decision procedure is now implemented in the uclid verification system.

## Keywords

Decision Procedure Recursive Call Graph Chordal Boolean Formula Equality Graph
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

## References

1. 1.
Ackermann, W.: Solvable cases of the Decision Problem. In: Studies in Logic and the Foundations of Mathematics. North-Holland, Amsterdam (1954)Google Scholar
2. 2.
Bryant, R., German, S., Velev, M.: Exploiting positive equality in a logic of equality with uninterpreted functions. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 470–482. Springer, Heidelberg (1999)
3. 3.
Bryant, R., German, S., Velev, M.: Processor verification using efficient reductions of the logic of uninterpreted functions to propositional logic. ACM Transactions on Computational Logic 2(1), 1–41 (2001)
4. 4.
Bryant, R., Velev, M.: Boolean satisfiability with transitivity constraints. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855. Springer, Heidelberg (2000)
5. 5.
Bryant, R.E., Lahiri, S.K., Seshia, S.A.: Modeling and verifying systems using a logic of counter arithmetic with lambda expressions and uninterpreted functions. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, p. 78. Springer, Heidelberg (2002)
6. 6.
Burch, J.R., Dill, D.L.: Automatic verification of pipelined microprocessor control. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818, pp. 68–80. Springer, Heidelberg (1994)Google Scholar
7. 7.
Cormen, T., Leiserson, C., Rivest, R.: Introduction to Algorithms, ch. 26, p. 563. MIT Press, Cambridge (2000)Google Scholar
8. 8.
Gershman, R., Strichman, O.: Cost-effective hyper-resolution for preprocessing cnf formulas. In: Bacchus, F., Walsh, T. (eds.) SAT 2005. LNCS, vol. 3569, pp. 423–429. Springer, Heidelberg (2005)
9. 9.
Goel, A., Sajid, K., Zhou, H., Aziz, A., Singhal, V.: BDD based procedures for a theory of equality with uninterpreted functions. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427. Springer, Heidelberg (1998)
10. 10.
Ryan, L.: Efficient algorithms for clause-learning SAT solvers. Master’s thesis, Simon Fraser University (2004)Google Scholar
11. 11.
Meir, O., Strichman, O.: Yet another decision procedure for equality logic (full version) (2005) ie.technion.ac.il/~ofers/cav05_full.ps
12. 12.
Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Proc. Design Automation Conference, DAC 2001 (2001)Google Scholar
13. 13.
Pnueli, A., Rodeh, Y., Shtrichman, O., Siegel, M.: Deciding equality formulas by small-domains instantiations. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 455–469. Springer, Heidelberg (1999)
14. 14.
Pnueli, A., Rodeh, Y., Strichman, O., Siegel, M.: The small model property: How small can it be? Information and computation 178(1), 279–293 (2002)
15. 15.
Pnueli, A., Siegel, M., Shtrichman, O.: Translation validation for synchronous languages. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) ICALP 1998. LNCS, vol. 1443, pp. 235–246. Springer, Heidelberg (1998)
16. 16.
Rodeh, Y., Shtrichman, O.: Finite instantiations in equivalence logic with uninterpreted functions. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, p. 144. Springer, Heidelberg (2001)
17. 17.
Shostak, R.: An algorithm for reasoning about equality. Communications of the ACM 21(7), 583–585 (1978)