Export Citations
We describe a simplifier for use in program manipulation and verification. The simplifier finds a normal form for any expression over the language consisting of individual variables, the usual boolean connectives, equality, the conditional function cond (denoting if-then-else), the numerals, the arithmetic functions and predicates +, - and $\leq$, the LISP constants, functions and predicates nil, car, cdr, cons and atom, the functions store and select for storing into and selecting from arrays, and uninterpreted function symbols. Individual variables range over the union of the reals, the set of arrays, LISP list structure and the booleans true and false. The simplifier is complete; that is, it simplifies every valid formula to true. Thus it is also a decision procedure for the quantifier-free theory of reals, arrays and list structure under the above functions and predicates. The organization of the simplifier is based on a method for combining decision procedures for several theories into a single decision procedure for a theory combining the original theories. More precisely, given a set S of functions and predicates over a fixed domain, a satisfiability program for S is a program which determines the satisfiability of conjunctions of literals (signed atomic formulas) whose predicate and function symbols are in S. We give a general procedure for combining satisfiability programs for sets S and T into a single satisfiability program for S $\cup$ T, given certain conditions on S and T. The simplifier described in this paper is currently used in the Stanford Pascal Verifier.
Cited By
- Armando A and Ranise S (2003). Constraint contextual rewriting, Journal of Symbolic Computation, 36:1-2, (193-216), Online publication date: 1-Jul-2003.
- Armando A, Ranise S and Rusinowitch M (2003). A rewriting approach to satisfiability procedures, Information and Computation, 183:2, (140-164), Online publication date: 15-Jun-2003.
- Armando A, Rusinowitch M and Stratulat S (2019). Incorporating decision procedures in implicit induction, Journal of Symbolic Computation, 34:4, (241-258), Online publication date: 1-Oct-2002.
- (1980). Workshop on formal verification, ACM SIGSOFT Software Engineering Notes, 5:3, (4-47), Online publication date: 1-Jul-1980.
- Luckham D A brief account Proceedings of the 1978 annual conference - Volume 2, (786-792)
Recommendations
Simplification by Cooperating Decision Procedures
A method for combining decision procedures for several theories into a single decision procedure for their combination is described, and a simplifier based on this method is discussed. The simplifier finds a normal form for any expression formed from ...
Verified decision procedures for MSO on words based on derivatives of regular expressions
ICFP '13Monadic second-order logic on finite words (MSO) is a decidable yet expressive logic into which many decision problems can be encoded. Since MSO formulas correspond to regular languages, equivalence of MSO formulas can be reduced to the equivalence of ...
Verified decision procedures for MSO on words based on derivatives of regular expressions
ICFP '13: Proceedings of the 18th ACM SIGPLAN international conference on Functional programmingMonadic second-order logic on finite words (MSO) is a decidable yet expressive logic into which many decision problems can be encoded. Since MSO formulas correspond to regular languages, equivalence of MSO formulas can be reduced to the equivalence of ...