An equality theorem prover based on grammar rewriting (original) (raw)
Related papers
An equational approach to theorem proving in first-order predicate calculus
International Joint Conference on Artificial Intelligence, 1985
A new approach for proving theorems in first-order predi cate calculus is developed based on term rewriting and polynomial simplification methods. A formula is translat ed into an equivalent set of formulae expressed in terms of 'true', 'false', 'exclusive-or', and 'and' by analyzing the semantics of its top-level operator. In this representation, formulae are polynomials over atomic formulae with 'and' as multiplication and 'exclusive-or' as addition, and they can be manipulated just like polynomials using familiar rules of multiplication and addition. Polynomials representing a formula are converted into rewrite rules which are used to simplify polynomials. New rules are generated by overlapping polynomials using a critical-pair completion procedure closely related to the Knuth-Bendix procedure. This process is repeated until a contradiction is reached or it is no longer possible to gen erate new rules. It is shown that resolution is subsumed by this method.
Validating Assertion Language Rewrite Rules and Semantics With Automated Theorem Provers
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2000
Modern assertion languages such as property specification language (PSL) and SystemVerilog assertions include many language constructs. By far, the most economical way to process the full languages in automated tools is to rewrite the majority of operators to a small set of base cases, which are then processed in an efficient way. Since recent rewrite attempts in the literature have shown that the rules could be quite involved, sometimes counterintuitive, and that they can make a significant difference in the complexity of interpreting assertions, ensuring that the rewrite rules are correct is a major contribution toward ensuring that the tools are correct, and even that the semantics of the assertion languages are well founded. This paper outlines the methodology for computer-assisted proofs of several publicly known rewrite rules for PSL properties. We first present the ways to express the PSL syntax and semantics in the prototype verification system (PVS) theorem prover, and then prove or disprove the correctness of over 50 rewrite rules published without proofs in various sources in the literature. In doing so, we also demonstrate how to circumvent known issues with PSL semantics regarding the never and eventually! operators, and offer our proposals on assertion language semantics.
Natural Rewriting for General Term Rewriting Systems
2004
We address the problem of an efficient rewriting strategy for general term rewriting systems. Several strategies have been proposed over the last two decades for rewriting, the most efficient of all being the natural rewriting strategy . All the strategies so far, including natural rewriting, assume that the given term rewriting system is a left-linear constructor system. Although these restrictions are reasonable for some functional programming languages, they limit the expressive power of equational languages, and they preclude certain applications of rewriting to equational theorem proving and to languages combining equational and logic programming. In this paper, we propose a conservative generalization of natural rewriting that does not require the rules to be left-linear and constructor-based. We also establish the soundness and completeness of this generalization.
Proving and disproving assertion rewrite rules with automated theorem provers
2008 IEEE International High Level Design Validation and Test Workshop, 2008
Modern assertion languages, such as PSL and SVA, include many constructs that are best handled by rewriting to a small set of base cases. Since previous rewrite attempts have shown that the rules could be quite involved, sometimes counterintuitive, and that they can make a significant difference in the complexity of interpreting assertions, workable procedures for proving the correctness of these rules must be established. In this paper, we outline the methodology for computer-assisted proofs of a set of previously published rewrite rules for PSL properties. We show how to express PSL's syntax and semantics in the PVS theorem prover, and proceed to prove the correctness of a set of thirty rewrite rules. In doing so, we also demonstrate how to circumvent issues with PSL semantics regarding the never and eventually! operators.
Formalizations of substitution of equals for equals
1998
Inference rule "substitution of equals for equals" has been formalized in terms of simple substitution (which performs a replacement even though a free occurrence of a variable is captured), contextual substitution (which prevents such capture), and function application. We show that in connection with pure first-order predicate calculus, the function-application and no-capture versions of the inference rule are the same and are weaker than the capture version. We also give reasons, which have nothing to do with the relative power of the three formalizations, for preferring the no-capture version when performing logical calculations by hand.
Equational Termination by Semantic Labelling
Lecture Notes in Computer Science, 2000
Semantic labelling is a powerful tool for proving termination of term rewrite systems. The usefulness of the extension to equational term rewriting described in Zantema [24] is however rather limited. In this paper we introduce a stronger version of equational semantical labelling, parameterized by three choices: (1) the order on the underlying algebra (partial order vs. quasi-order), (2) the relation between the algebra and the rewrite system (model vs. quasi-model), and (3) the labelling of the function symbols appearing in the equations (forbidden vs. allowed). We present soundness and completeness results for the various instantiations and analyze the relationships between them. Applications of our equational semantic labelling technique include a short proof of the main result of Ferreira et al.
Dei: A Theorem Prover for Terms with Integer Exponents
Lecture Notes in Computer Science, 2009
An extension of the superposition-based E-prover [8] is described. The extension allows terms with integer exponents [3] in the input language. Obviously, this possibility increases the capabilities of the E-prover particularly for preventing non-termination.
Automatic Inference of Term Equivalence in Term Rewriting Systems
In this paper we propose a method to automatically infer algebraic property-oriented specifications from Term Rewriting Systems. Namely, having three semantics with suitable properties, given the source code of a TRS we infer a specification which consists of a set of \emph{most general} equations relating terms that rewrite, for all possible instantiations, to the same set of constructor terms. The semantic-based inference method that we propose can cope with non-constructor-based TRSs, and considers non-ground terms.
Attribute grammar based theorem prover
Information & Software Technology, 1988
In this paper a software tool called attribute grammar based theorem prover (A GBTP) is proposed, which can be used both as a processor of attribute grammars and as a theorem prover, Hence, attribute grammars' applications from the area of software engineering as well as theorem proving applications from the area of knowledge engineering can be faced using the same tool. The main advantages of the proposed tool are that it can combine procedural and declarative characteristics using a very high level language i.e. the attribute grammars'language and user defined semantic functions in the host language. Second, full theorem proving capabilities are obtained through an extended parser, which implements the model elimination procedure.