Affiliation:
1. Università degli Studi di Genova, Genova, Italy
2. Università degli Studi di Verona, Verona, Italy
3. LORIA & INRIA-Lorraine, Villers-lès-Nancy, France
Abstract
Program analysis and verification require decision procedures to reason on theories of data structures. Many problems can be reduced to the
satisfiability
of sets of
ground literals
in theory
T
. If a sound and complete inference system for first-order logic is guaranteed to
terminate
on
T-satisfiability problems
, any theorem-proving strategy with that system and a fair search plan is a
T-satisfiability procedure
. We prove termination of a rewrite-based first-order engine on the theories of
records
,
integer offsets
,
integer offsets modulo
and
lists
. We give a
modularity theorem
stating sufficient conditions for termination on a
combination of theories
, given termination on each. The above theories, as well as others, satisfy these conditions. We introduce several sets of benchmarks on these theories and their combinations, including both
parametric
synthetic benchmarks to test
scalability
, and real-world problems to test performances on huge sets of literals. We compare the rewrite-based theorem prover E with the validity checkers CVC and CVC Lite. Contrary to the folklore that a general-purpose prover cannot compete with reasoners with built-in theories, the experiments are overall favorable to the theorem prover, showing that not only the rewriting approach is elegant and conceptually simple, but has important practical implications.
Funder
Ministero dell'Istruzione, dell'Università e della Ricerca
Publisher
Association for Computing Machinery (ACM)
Subject
Computational Mathematics,Logic,General Computer Science,Theoretical Computer Science
Cited by
62 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献