articleJournal of the ACMMay 1, 2005Closed access

Simplify: a theorem prover for program checking

Oracle (United States) · Hewlett-Packard (United States)

Indexed incrossref

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

778
total citations
FWCI
114.37
Percentile
100%
References
59
Citations per year

Authors

3

Topics & keywords

Keywords
  • Automated theorem proving
  • Computer science
  • Gas meter prover
  • Equivalence (formal languages)
  • Programming language
  • Java
  • Theoretical computer science
  • Algorithm
UN Sustainable Development Goals
  • Peace, Justice and strong institutions
No related works found for this paper.