Results 1 -
4 of
4
Membership-Constraints and Complexity in Logic Programming with Sets
- Frontiers in Combining Systems
, 1996
"... . General agreement exists about the usefulness of sets as very highlevel representations of complex data structures. Therefore it is worthwhile to introduce sets into constraint logic programming or set constraints into programming languages in general. We start with a brief overview on different n ..."
Abstract
-
Cited by 17 (1 self)
- Add to MetaCart
. General agreement exists about the usefulness of sets as very highlevel representations of complex data structures. Therefore it is worthwhile to introduce sets into constraint logic programming or set constraints into programming languages in general. We start with a brief overview on different notions of sets. This seems to be necessary since there are almost as many different notions in the field as there are applications such as e.g. program analysis, rapid software prototyping, unificationbased grammar formalisms. An efficient algorithm for treating membership-constraints is introduced. It is used in the implementation of an algorithm for unifying finite sets with tails -- also presented here -- which is needed in any logic programming language embedding sets. Finally it is shown how a full set language including the operators 2, = 2, ", [ can be built on membership-constraints. The text closes with a reflection on the complexity of different algorithms -- which is single expone...
A Minimality Study for Set Unification
, 1997
"... A unification algorithm is said to be minimal for a unification problem if it generates exactly a (minimal) complete set of most-general unifiers, without instances, and without repetitions. The aim of this paper is to present a combinatorial minimality study for a significant collection of sample p ..."
Abstract
-
Cited by 9 (6 self)
- Add to MetaCart
A unification algorithm is said to be minimal for a unification problem if it generates exactly a (minimal) complete set of most-general unifiers, without instances, and without repetitions. The aim of this paper is to present a combinatorial minimality study for a significant collection of sample problems that can be used as benchmarks for testing any set-unification algorithm. Based on this combinatorial study, a new Set-Unification Algorithm (named SUA) is also described and proved to be minimal for all the analyzed problems. Furthermore, an existing nave set-unification algorithm has also been tested to show its bad behavior for most of the sample problems.
Towards Correctness of Program Transformations Through Unification and Critical Pair Computation
, 2010
"... Abstract. Correctness of program transformations in extended lambda-calculi with a contextual semantics is usually based on reasoning about the operational semantics which is a rewrite semantics. A successful approach is the combination of a context lemma with the computation of overlaps between pro ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Abstract. Correctness of program transformations in extended lambda-calculi with a contextual semantics is usually based on reasoning about the operational semantics which is a rewrite semantics. A successful approach is the combination of a context lemma with the computation of overlaps between program transformations and the reduction rules, which results in so-called complete sets of diagrams. The method is similar to the computation of critical pairs for the completion of term rewriting systems. We explore cases where the computation of these overlaps can be done in a first order way by variants of critical pair computation that use unification algorithms. As a case study of an application we describe a finitary and decidable unification algorithm for the combination of the equational theory of left-commutativity modelling multi-sets, context variables and many-sorted unification. Sets of equations are restricted to be almost linear, i.e. every variable and context variable occurs at most once, where we allow one exception: variables of a sort without ground terms may occur several times. Every context variable must have an argument-sort in the free part of the signature. We also extend the unification algorithm by the treatment of binding-chains in let- and letrec-environments and by context-classes. This results in a unification algorithm that can be applied to all overlaps of normal-order reductions and transformations in an extended lambda calculus with letrec that we use as a case study. 1
Computing Overlappings by Unification in the Deterministic Lambda Calculus LR with letrec, case, constructors, seq and variable chains
, 2011
"... Abstract. We investigate the possibilities to automatize correctness proofs of program transformations in an extended lambda calculus LR. The calculus is equipped with an operational semantics, a standardized form of evaluation and based on that a notion of contextual equivalence which is used to de ..."
Abstract
- Add to MetaCart
Abstract. We investigate the possibilities to automatize correctness proofs of program transformations in an extended lambda calculus LR. The calculus is equipped with an operational semantics, a standardized form of evaluation and based on that a notion of contextual equivalence which is used to define when a program transformations is considered as correct. A successful approach to proving correctness of program transformations is the combination of a context lemma with the computation of overlaps between program transformations and the reduction rules. The method is similar to the computation of critical pairs for the completion of term rewriting systems. We describe an effective unification algorithm to determine all overlaps of transformations with reduction rules for the lambda calculus LR which comprises a recursive let-expressions, constructor applications, case expressions and a seq construct for strict evaluation. The unification algorithm uses many-sorted terms, the equational theory of left-commutativity to model multi-sets, context variables of different kinds and a mechanism for compactly representing binding chains in recursive let-expressions. The algorithm computes a finite set of overlappings for the reduction rules of the calculus LR that serve as a starting point for the automation of the analysis of program transformations. This author is supported by the DFG under grant SCHM 986/9-1.2 C. Rau and M. Schmidt-Schauß

