Results 1  10
of
169
Term Rewriting Systems
, 1992
"... Term Rewriting Systems play an important role in various areas, such as abstract data type specifications, implementations of functional programming languages and automated deduction. In this chapter we introduce several of the basic comcepts and facts for TRS's. Specifically, we discuss Abstra ..."
Abstract

Cited by 578 (17 self)
 Add to MetaCart
Term Rewriting Systems play an important role in various areas, such as abstract data type specifications, implementations of functional programming languages and automated deduction. In this chapter we introduce several of the basic comcepts and facts for TRS's. Specifically, we discuss Abstract Reduction Systems
An Implementation of Narrowing Strategies
 Journal of the ACM
, 2001
"... This paper describes an implementation of narrowing, an essential component of implementations of modern functional logic languages. These implementations rely on narrowing, in particular on some optimal narrowing strategies, to execute functional logic programs. We translate functional logic progra ..."
Abstract

Cited by 296 (118 self)
 Add to MetaCart
This paper describes an implementation of narrowing, an essential component of implementations of modern functional logic languages. These implementations rely on narrowing, in particular on some optimal narrowing strategies, to execute functional logic programs. We translate functional logic programs into imperative (Java) programs without an intermediate abstract machine. A central idea of our approach is the explicit representation and processing of narrowing computations as data objects. This enables the implementation of operationally complete strategies (i.e., without backtracking) or techniques for search control (e.g., encapsulated search). Thanks to the use of an intermediate and portable representation of programs, our implementation is general enough to be used as a common back end for a wide variety of functional logic languages.
Termination of Term Rewriting Using Dependency Pairs
 Comput. Sci
, 2000
"... We present techniques to prove termination and innermost termination of term rewriting systems automatically. In contrast to previous approaches, we do not compare left and righthand sides of rewrite rules, but introduce the notion of dependency pairs to compare lefthand sides with special subter ..."
Abstract

Cited by 229 (46 self)
 Add to MetaCart
We present techniques to prove termination and innermost termination of term rewriting systems automatically. In contrast to previous approaches, we do not compare left and righthand sides of rewrite rules, but introduce the notion of dependency pairs to compare lefthand sides with special subterms of the righthand sides. This results in a technique which allows to apply existing methods for automated termination proofs to term rewriting systems where they failed up to now. In particular, there are numerous term rewriting systems where a direct termination proof with simplification orderings is not possible, but in combination with our technique, wellknown simplification orderings (such as the recursive path ordering, polynomial orderings, or the KnuthBendix ordering) can now be used to prove termination automatically. Unlike previous methods, our technique for proving innermost termination automatically can also be applied to prove innermost termination of term rewriting systems that are not terminating. Moreover, as innermost termination implies termination for certain classes of term rewriting systems, this technique can also be used for termination proofs of such systems.
Solution of the Robbins Problem
 Journal of Automated Reasoning
, 1997
"... . In this article we show that the three equations known as commutativity, associativity, and the Robbins equation are a basis for the variety of Boolean algebras. The problem was posed by Herbert Robbins in the 1930s. The proof was found automatically by EQP, a theoremproving program for equationa ..."
Abstract

Cited by 133 (3 self)
 Add to MetaCart
(Show Context)
. In this article we show that the three equations known as commutativity, associativity, and the Robbins equation are a basis for the variety of Boolean algebras. The problem was posed by Herbert Robbins in the 1930s. The proof was found automatically by EQP, a theoremproving program for equational logic. We present the proof and the search strategies that enabled the program to find the proof. Key words: Associativecommutative unification, Boolean algebra, EQP, equational logic, paramodulation, Robbins algebra, Robbins problem. 1. Introduction This article contains the answer to the Robbins question of whether all Robbins algebras are Boolean. The answer is yes, all Robbins algebras are Boolean. The proof that answers the question was found by EQP, an automated theoremproving program for equational logic. In 1933, E. V. Huntington presented the following three equations as a basis for Boolean algebra [6, 5]: x + y = y + x, (commutativity) (x + y) + z = x + (y + z), (associativit...
Higherorder Unification via Explicit Substitutions (Extended Abstract)
 Proceedings of LICS'95
, 1995
"... Higherorder unification is equational unification for βηconversion. But it is not firstorder equational unification, as substitution has to avoid capture. In this paper higherorder unification is reduced to firstorder equational unification in a suitable theory: the &lambda ..."
Abstract

Cited by 103 (13 self)
 Add to MetaCart
Higherorder unification is equational unification for &beta;&eta;conversion. But it is not firstorder equational unification, as substitution has to avoid capture. In this paper higherorder unification is reduced to firstorder equational unification in a suitable theory: the &lambda;&sigma;calculus of explicit substitutions.
Natural termination
 Theoretical Computer Science
"... Abstract. We generalize the various path orderings and the conditions under which they work, and describe an implementation of this general ordering. We look at methods for proving termination of orthogonal systems and give a new solution to a problem of Zantema's. 1 ..."
Abstract

Cited by 84 (11 self)
 Add to MetaCart
Abstract. We generalize the various path orderings and the conditions under which they work, and describe an implementation of this general ordering. We look at methods for proving termination of orthogonal systems and give a new solution to a problem of Zantema's. 1
Narrowingdriven Partial Evaluation of Functional Logic Programs
 ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS
, 1996
"... Languages that integrate functional and logic programming with a complete operational semantics are based on narrowing, a unificationbased goalsolving mechanism which subsumes the reduction principle of functional languages and the resolution principle of logic languages. Formal methods of transfo ..."
Abstract

Cited by 83 (37 self)
 Add to MetaCart
Languages that integrate functional and logic programming with a complete operational semantics are based on narrowing, a unificationbased goalsolving mechanism which subsumes the reduction principle of functional languages and the resolution principle of logic languages. Formal methods of transformation of functional logic programs can be based on this wellestablished operational semantics. In this paper, we present a partial evaluation scheme for functional logic languages based on an automatic unfolding algorithm which builds narrowing trees. We study the semantic properties of the transformation and the conditions under which the technique terminates, is sound and complete, and is also generally applicable to a wide class of programs. We illustrate our method with several examples and discuss the relation with Supercompilation and Partial Evaluation. To the best of our knowledge this is the first formal approach to partial evaluation of functional logic programs.
Theorem Proving Modulo
 Journal of Automated Reasoning
"... Abstract. Deduction modulo is a way to remove computational arguments from proofs by reasoning modulo a congruence on propositions. Such a technique, issued from automated theorem proving, is of much wider interest because it permits to separate computations and deductions in a clean way. The first ..."
Abstract

Cited by 83 (14 self)
 Add to MetaCart
(Show Context)
Abstract. Deduction modulo is a way to remove computational arguments from proofs by reasoning modulo a congruence on propositions. Such a technique, issued from automated theorem proving, is of much wider interest because it permits to separate computations and deductions in a clean way. The first contribution of this paper is to define a sequent calculus modulo that gives a proof theoretic account of the combination of computations and deductions. The congruence on propositions is handled via rewrite rules and equational axioms. Rewrite rules apply to terms and also directly to atomic propositions. The second contribution is to give a complete proof search method, called Extended Narrowing and Resolution (ENAR), for theorem proving modulo such congruences. The completeness of this method is proved with respect to provability in sequent calculus modulo. An important application is that higherorder logic can be presented as a theory modulo. Applying the Extended Narrowing and Resolution method to this presentation of higherorder logic subsumes full higherorder resolution.
ContextSensitive Computations in Functional and Functional Logic Programs
 JOURNAL OF FUNCTIONAL AND LOGIC PROGRAMMING
, 1998
"... ..."