Results 1 
4 of
4
MembershipConstraints 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 18 (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 membershipconstraints 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 membershipconstraints. 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 mostgeneral 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 10 (7 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 mostgeneral 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 setunification algorithm. Based on this combinatorial study, a new SetUnification Algorithm (named SUA) is also described and proved to be minimal for all the analyzed problems. Furthermore, an existing nave setunification 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 lambdacalculi 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 lambdacalculi 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 socalled 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 leftcommutativity modelling multisets, context variables and manysorted 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 argumentsort in the free part of the signature. We also extend the unification algorithm by the treatment of bindingchains in let and letrecenvironments and by contextclasses. This results in a unification algorithm that can be applied to all overlaps of normalorder 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 letexpressions, constructor applications, case expressions and a seq construct for strict evaluation. The unification algorithm uses manysorted terms, the equational theory of leftcommutativity to model multisets, context variables of different kinds and a mechanism for compactly representing binding chains in recursive letexpressions. 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/91.2 C. Rau and M. SchmidtSchauß