Results 1  10
of
42
Specification and Proof in Membership Equational Logic
 THEORETICAL COMPUTER SCIENCE
, 1996
"... This paper is part of a longterm effort to increase expressiveness of algebraic specification languages while at the same time having a simple semantic basis on which efficient execution by rewriting and powerful theoremproving tools can be based. In particular, our rewriting techniques provide s ..."
Abstract

Cited by 129 (52 self)
 Add to MetaCart
This paper is part of a longterm effort to increase expressiveness of algebraic specification languages while at the same time having a simple semantic basis on which efficient execution by rewriting and powerful theoremproving tools can be based. In particular, our rewriting techniques provide semantic foundations for Maude's functional sublanguage, where they have been efficiently implemented. Membership equational logic is quite simple, and yet quite powerful. Its atomic formulae are equations and sort membership assertions, and its sentences are Horn clauses. It extends in a conservative way both ordersorted equational logic and partial algebra approaches, while Horn logic can be very easily encoded. After introducing the basic concepts of the logic, we give conditions and proof rules with which efficient equational deduction by rewriting can be achieved. We also give completion techniques to transform a specification into one meeting these conditions. We address the important ...
Equations and rewrite rules: a survey
 IN FORMAL LANGUAGE THEORY: PERSPECTIVES AND OPEN PROBLEMS
, 1980
"... ..."
Rules and Strategies for Transforming Functional and Logic Programs
 ACM Computing Surveys
, 1996
"... We present an overview of the program transformation methodology, focusing our attention on the socalled `rules + strategies' approach in the case of functional and logic programs. The paper is intended to offer an introduction to the subject. The various techniques we present are illustrated ..."
Abstract

Cited by 86 (5 self)
 Add to MetaCart
We present an overview of the program transformation methodology, focusing our attention on the socalled `rules + strategies' approach in the case of functional and logic programs. The paper is intended to offer an introduction to the subject. The various techniques we present are illustrated via simple examples. A preliminary version of this report has been published in: Moller, B., Partsch, H., and Schuman, S. (eds.): Formal Program Development. Lecture Notes in Computer Science 755, Springer Verlag (1993) 263304. Also published in: ACM Computing Surveys, Vol 28, No. 2, June 1996. 3 1 Introduction The program transformation approach to the development of programs has first been advocated by [BurstallDarlington 77], although the basic ideas were already presented in previous papers by the same authors [Darlington 72, BurstallDarlington 75]. In that approach the task of writing a correct and efficient program is realized in two phases: the first phase consists in writing an in...
Hope: An Experimental Applicative Language
, 1980
"... An applicative language called HOPE is described and discussed. The underlying goal of the design and implementation effort was to produce a very simple programming language which encourages the construction of clear and manipulable programs. HOPE does not include an assignment statement; this is fe ..."
Abstract

Cited by 42 (4 self)
 Add to MetaCart
An applicative language called HOPE is described and discussed. The underlying goal of the design and implementation effort was to produce a very simple programming language which encourages the construction of clear and manipulable programs. HOPE does not include an assignment statement; this is felt to be an important simplification. The user may freely define his own data types, without the need to devise a complicated encoding in terms of lowlevel types. The language is very strongly typed, and as implemented it incorporates a typechecker which handles polymorphic types and overloaded operators. Functions are defined by a set of recursion equations; the lefthand side of each equation includes a pattern used to determine which equation to use for a given argument. The availability of arbitrary higherorder types allows functions to be defined which 'package' recursion. Lazilyevaluated lists are provided, allowing the use of infinite lists which could be used to provide interactive input/output and concurrency.
A mechanically verified code generator
 Journal of Automated Reasoning
, 1989
"... in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of Computational ..."
Abstract

Cited by 32 (1 self)
 Add to MetaCart
(Show Context)
in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of Computational
Automated Theorem Proving by Test Set Induction
 JOURNAL OF SYMBOLIC COMPUTATION
, 1997
"... Test set induction is a goaldirected proof technique which combines the full power of explicit induction and proof by consistency. It works by computing an appropriate explicit induction scheme called a test set, to trigger the induction proof, and then applies a refutation principle using proof by ..."
Abstract

Cited by 28 (10 self)
 Add to MetaCart
Test set induction is a goaldirected proof technique which combines the full power of explicit induction and proof by consistency. It works by computing an appropriate explicit induction scheme called a test set, to trigger the induction proof, and then applies a refutation principle using proof by consistency techniques. We present a general scheme for test set induction together with a simple soundness proof. Our method is based on new notions of test sets, induction variables, and provable inconsistency, which allow us to refute false conjectures even in the case where the functions are not completely deøned. We show how test sets can be computed when the constructors are not free, and give an algorithm for computing induction variables. Finally, we present a procedure for proof by test set induction which is refutationally complete for a larger class of specifications than has been shown in previous work. The method has been implemented in the prover SPIKE. Based on computer ex...
Automated Mathematical Induction
, 1992
"... Proofs by induction are important in many computer science and artiøcial intelligence applications, in particular, in program veriøcation and speciøcation systems. We present a new method to prove (and disprove) automatically inductive properties. Given a set of axioms, a wellsuited induction schem ..."
Abstract

Cited by 27 (6 self)
 Add to MetaCart
(Show Context)
Proofs by induction are important in many computer science and artiøcial intelligence applications, in particular, in program veriøcation and speciøcation systems. We present a new method to prove (and disprove) automatically inductive properties. Given a set of axioms, a wellsuited induction scheme is constructed automatically. We call such an induction scheme a test set. Then, for proving a property, we just instantiate it with terms from the test set and apply pure algebraic simpliøcation to the result. This method needs no completion and explicit induction. However it retains their positive features, namely, the completeness of the former and the robustness of the latter. It has been implemented in the theoremprover SPIKE 1 . 1 Introduction 1.1 Motivation Inductive reasoning is simply a method of performing inferences in domains where there exists a wellfounded relation on the objects. It is fundamental when proving properties of numbers, datastructures, or programs axiomat...
Colouring Terms to Control Equational Reasoning
 Journal of Automated Reasoning
, 1997
"... . In this paper we present an approach to prove the equality between terms in a goaldirected way developed in the field of inductive theorem proving. The two terms to be equated are syntactically split into expressions which are common to both and those which occur only in one term. According to the ..."
Abstract

Cited by 25 (14 self)
 Add to MetaCart
(Show Context)
. In this paper we present an approach to prove the equality between terms in a goaldirected way developed in the field of inductive theorem proving. The two terms to be equated are syntactically split into expressions which are common to both and those which occur only in one term. According to the computed differences we apply appropriate equations to the terms in order to reduce the differences in a goaldirected way. Although this approach was developed for purposes of inductive theorem proving  we use this technique to manipulate the conclusion of an induction step to enable the use of the hypothesis  it is a powerful method for the control of equational reasoning in general. 1. Introduction The automation of equational reasoning is one of the most important obstacles in the field of automating deductions. Even small equational problems result in a huge search space, and finding a proof often fails due to the combinatorial explosion. Proving (conditional) equations by inductio...