Simplify: a theorem prover for program checking
Oracle (United States) · Hewlett-Packard (United States)
Abstract
This article provides a detailed description of the automatic theorem prover Simplify, which is the proof engine of the Extended Static Checkers ESC/Java and ESC/Modula-3. Simplify uses the Nelson--Oppen method to combine decision procedures for several important theories, and also employs a matcher to reason about quantifiers. Instead of conventional matching in a term DAG, Simplify matches up to equivalence in an E-graph, which detects many relevant pattern instances that would be missed by the conventional approach. The article describes two techniques, error context reporting and error localization, for helping the user to determine the reason that a false conjecture is false. The article includes detailed…
Citation impact
- FWCI
- 114.37
- Percentile
- 100%
- References
- 59
Authors
3Topics & keywords
- Automated theorem proving
- Computer science
- Gas meter prover
- Equivalence (formal languages)
- Programming language
- Java
- Theoretical computer science
- Algorithm
- Peace, Justice and strong institutions