Results 1  10
of
23
Unification: A multidisciplinary survey
 ACM Computing Surveys
, 1989
"... The unification problem and several variants are presented. Various algorithms and data structures are discussed. Research on unification arising in several areas of computer science is surveyed, these areas include theorem proving, logic programming, and natural language processing. Sections of the ..."
Abstract

Cited by 124 (1 self)
 Add to MetaCart
The unification problem and several variants are presented. Various algorithms and data structures are discussed. Research on unification arising in several areas of computer science is surveyed, these areas include theorem proving, logic programming, and natural language processing. Sections of the paper include examples that highlight particular uses
Symbolic Reachability Analysis Using Narrowing and its Application to Verification of Cryptographic Protocols
 Journal of HigherOrder and Symbolic Computation
, 2004
"... Narrowing was introduced, and has traditionally been used, to solve equations in initial and free algebras modulo a set of equations E. This paper proposes a generalization of narrowing which can be used to solve reachability goals in initial and free models of a rewrite theory R. We show that narro ..."
Abstract

Cited by 34 (12 self)
 Add to MetaCart
(Show Context)
Narrowing was introduced, and has traditionally been used, to solve equations in initial and free algebras modulo a set of equations E. This paper proposes a generalization of narrowing which can be used to solve reachability goals in initial and free models of a rewrite theory R. We show that narrowing is sound and weakly complete (i.e., complete for normalized solutions) under reasonable executability assumptions about R. We also show that in general narrowing is not strongly complete, that is, not complete when some solutions can be further rewritten by R. We then identify several large classes of rewrite theories, covering many practical applications, for which narrowing is strongly complete. Finally, we illustrate an application of narrowing to analysis of cryptographic protocols.
Inductive Theorem Proving for Design Specifications
 J. Symbolic Computation
, 1997
"... We present a number of new results on inductive theorem proving for design specifications based on Horn logic with equality. Induction is explicit here because induction orderings are supposed to be part of the specification. We show how the automatic support for program verification is enhanced i ..."
Abstract

Cited by 12 (8 self)
 Add to MetaCart
(Show Context)
We present a number of new results on inductive theorem proving for design specifications based on Horn logic with equality. Induction is explicit here because induction orderings are supposed to be part of the specification. We show how the automatic support for program verification is enhanced if the specification satisfies a bunch of rewrite properties, summarized under the notion of canonicity. The enhancement is due to inference rules and corresponding strategies whose soundness is implied by the specification's canonicity. The second main result of the paper provides a method for proving canonicity by using the same rules, which are applied in proofs of conjectures about the specification and the functionallogic programs it contains. Contents 1 Introduction 2 1.1 Expander . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Proof by term rewriting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
Natural narrowing for general term rewriting systems
 Proc. of 16th International Conference on Rewriting Techniques and Applications, RTA’05, Lecture Notes in Computer Science
, 2005
"... Abstract. For narrowing to be an efficient evaluation mechanism, several lazy narrowing strategies have been proposed, although typically for the restricted case of leftlinear constructor systems. These assumptions, while reasonable for functional programming applications, are too restrictive for a ..."
Abstract

Cited by 10 (7 self)
 Add to MetaCart
(Show Context)
Abstract. For narrowing to be an efficient evaluation mechanism, several lazy narrowing strategies have been proposed, although typically for the restricted case of leftlinear constructor systems. These assumptions, while reasonable for functional programming applications, are too restrictive for a much broader range of applications to which narrowing can be fruitfully applied, including applications where rules have a nonequational meaning either as transitions in a concurrent system or as inferences in a logical system. In this paper, we propose an efficient lazy narrowing strategy called natural narrowing which can be applied to general term rewriting systems with no restrictions whatsoever. An important consequence of this generalization is the wide range of applications that can now be efficiently supported by narrowing. We highlight a few such applications including symbolic model checking, theorem proving, programming languages, and partial evaluation. What thus emerges is a general and efficient unified mechanism based on narrowing, that seamlessly integrates a very wide range of applications in programming and proving. 1
A Combinatory Logic Approach to Higherorder Eunification
 in Proceedings of the Eleventh International Conference on Automated Deduction, SpringerVerlag LNAI 607
, 1992
"... Let E be a firstorder equational theory. A translation of typed higherorder Eunification problems into a typed combinatory logic framework is presented and justified. The case in which E admits presentation as a convergent term rewriting system is treated in detail: in this situation, a modifi ..."
Abstract

Cited by 9 (3 self)
 Add to MetaCart
(Show Context)
Let E be a firstorder equational theory. A translation of typed higherorder Eunification problems into a typed combinatory logic framework is presented and justified. The case in which E admits presentation as a convergent term rewriting system is treated in detail: in this situation, a modification of ordinary narrowing is shown to be a complete method for enumerating higherorder Eunifiers. In fact, we treat a more general problem, in which the types of terms contain type variables. 1 Introduction Investigation of the interaction between firstorder and higherorder equational reasoning has emerged as an active line of research. The collective import of a recent series of papers, originating with [Bre88] and including (among others) [Bar90], [BG91a], [BG91b], [Dou92], [JO91] and [Oka89], is that when various typed calculi are enriched by firstorder equational theories, the validity problem is wellbehaved, and furthermore that the respective computational approaches to ...
HigherOrder Unification via Combinators
 Theoretical Computer Science
, 1993
"... We present an algorithm for unification in the simply typed lambda calculus which enumerates complete sets of unifiers using a finitely branching search space. In fact, the types of terms may contain typevariables, so that a solution may involve typesubstitution as well as termsubstitution. the ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
(Show Context)
We present an algorithm for unification in the simply typed lambda calculus which enumerates complete sets of unifiers using a finitely branching search space. In fact, the types of terms may contain typevariables, so that a solution may involve typesubstitution as well as termsubstitution. the problem is first translated into the problem of unification with respect to extensional equality in combinatory logic, and the algorithm is defined in terms of transformations on systems of combinatory terms. These transformations are based on a new method (itself based on systems) for deciding extensional equality between typed combinatory logic terms. 1 Introduction This paper develops a new algorithm for higherorder unification. A higherorder unification problem is specified by two terms F and G of the explicitly simply typed lambda calculus LC; a solution is a substitution oe such that oeF = fij oeG. We will always assume the extensionality axiom j in this paper. In fact we tre...
The Semantics of Equational Logic Programming as an instance of CLP
, 1993
"... We show how functional (i.e. equational) and logic programming can be integrated within the Constraint Logic Programming paradigm. The resulting language CLP(H/E) is specialized in solving equations with respect to a Horn equational theory. CLP(H/E) inherits all the semantic properties of the CLP sc ..."
Abstract

Cited by 6 (5 self)
 Add to MetaCart
We show how functional (i.e. equational) and logic programming can be integrated within the Constraint Logic Programming paradigm. The resulting language CLP(H/E) is specialized in solving equations with respect to a Horn equational theory. CLP(H/E) inherits all the semantic properties of the CLP scheme, including a new semantics which models answer constraints. The operational semantics of CLP(H/E) is defined by a constraint solver based on conditional narrowing. Several strategies to obtain an incremental constraint solver are considered.
A Semantic Matching Algorithm: Analysis and Implementation
 Proc. Mathematical Foundations of Computer Science '96, number 1113 in LNCS
, 1996
"... . A decision procedure for a class of semantic matching problems was proposed in [3], but it yielded efficiency problems, principally because of redundancies. We present in this paper a new semantic matching algorithm for a restricted class of convergent rewrite systems, its theoretical properties, ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
. A decision procedure for a class of semantic matching problems was proposed in [3], but it yielded efficiency problems, principally because of redundancies. We present in this paper a new semantic matching algorithm for a restricted class of convergent rewrite systems, its theoretical properties, and an efficient implementation. This class of rewrite systems is particularly interesting for functional programming and for program manipulations. To make the algorithm efficient, two techniques are introduced: dependency analysis and sharing analysis. The possibility to divide the semantic matching problems into three complexity classes linear, polynomial, and decidable is also an advantage of our approach. A number of test results shed some light on the efficiency of an ML implementation in the theorem prover Isabelle. 1 Introduction Semantic matching is a useful mechanism. It is wellknown that any strategy for finding a complete set of matches with respect to a firstorder theory may ...
Narrowing and Rewriting Logic: from Foundations to Applications
, 2006
"... Narrowing was originally introduced to solve equational Eunification problems. It has also been recognized as a key mechanism to unify functional and logic programming. In both cases, narrowing supports equational reasoning and assumes confluent equations. The main goal of this work is to show that ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
Narrowing was originally introduced to solve equational Eunification problems. It has also been recognized as a key mechanism to unify functional and logic programming. In both cases, narrowing supports equational reasoning and assumes confluent equations. The main goal of this work is to show that narrowing can be greatly generalized, so as to support a much wider range of applications, when it is performed with rewrite theories (Σ, E, R), where (Σ, E) is an equational theory, and R is a collection of rewrite rules with no restrictions. Such theories axiomatize concurrent systems, whose states are equivalence classes of terms modulo E, and whose transitions are specified by R. In this context, narrowing is generalized from an equational reasoning technique to a symbolic model checking technique for reachability analysis of a, typically infinite, concurrent system. We survey the foundations of this approach, suitable narrowing strategies, and various applications to security protocol verification, theorem proving, and programming languages.
Natural narrowing as a general unified mechanism for programming and proving
, 2004
"... Abstract. For narrowing to be an efficient evaluation mechanism, several lazy narrowing strategies have been proposed, although typically for the restricted case of leftlinear constructor systems. These assumptions, while reasonable for functional programming applications, are too restrictive for a ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
(Show Context)
Abstract. For narrowing to be an efficient evaluation mechanism, several lazy narrowing strategies have been proposed, although typically for the restricted case of leftlinear constructor systems. These assumptions, while reasonable for functional programming applications, are too restrictive for a much broader range of applications to which narrowing can be fruitfully applied, including applications where rules have a nonequational meaning either as transitions in a concurrent system or as inferences in a logical system. In this paper, we propose an efficient lazy narrowing strategy called natural narrowing which can be applied to general term rewriting systems with no restrictions whatsoever. An important consequence of this generalization is the wide range of applications that can now be efficiently supported by narrowing. We highlight a few such applications including symbolic model checking, theorem proving, programming languages, and partial evaluation. What thus emerges is a general and efficient unified mechanism based on narrowing, that seamlessly integrates a very wide range of applications in programming and proving. 1