🤖 AI Summary
This project addresses the fundamental problem of equivalence checking for logical constraints. Method: We introduce the novel concept of “existential constraint terms,” embedding original constraints within them to construct the first syntax-based framework for characterizing constraint equivalence. Our approach formally models existential constraint terms by integrating logical rewriting, first-order logic modeling, syntactic equivalence checking, and constraint solving. Contribution/Results: We establish two sound and complete equivalence characterizations: one enabling efficient automated verification, and the other supporting rigorous theoretical analysis. The resulting algorithm is both sound and complete for equivalence determination. This work provides a new paradigm—grounded in formal rigor yet practically implementable—for constraint handling in program analysis, theorem proving, and symbolic execution, accompanied by a prototype tool implementation.
📝 Abstract
Logically constrained term rewriting is a rewriting framework that supports built-in data structures such as integers and bit vectors. Recently, constrained terms play a key role in various analyses and applications of logically constrained term rewriting. A fundamental question on constrained terms arising there is how to characterize equivalence between them. However, in the current literature only limited progress has been made on this. In this paper, we provide several sound and complete solutions to tackle this problem. Our key idea is the introduction of a novel concept, namely existentially constrained terms, into which the original form of constrained terms can be embedded. We present several syntactic characterizations of equivalence between existentially constrained terms. In particular, we provide two different kinds of complete characterizations: one is designed to facilitate equivalence checking, while the other is intended for theoretical analysis.