Results 1  10
of
18
Comparing and Implementing Calculi of Explicit Substitutions with Eta Reduction
 Annals of Pure and Applied Logic
, 2005
"... The past decade has seen an explosion of work on calculi of explicit substitutions. Numerous work has illustrated the usefulness of these calculi for practical notions like the implementation of typed functional programming languages and higher order proof assistants. It has also been shown that e ..."
Abstract

Cited by 10 (8 self)
 Add to MetaCart
The past decade has seen an explosion of work on calculi of explicit substitutions. Numerous work has illustrated the usefulness of these calculi for practical notions like the implementation of typed functional programming languages and higher order proof assistants. It has also been shown that eta reduction is useful for adapting substitution calculi for practical problems like higher order uni cation. This paper concentrates on rewrite rules for eta reduction in three dierent styles of explicit substitution calculi: , se and the suspension calculus. Both and se when extended with eta reduction, have proved useful for solving higher order uni cation. We enlarge the suspension calculus with an adequate etareduction which we show to preserve termination and conuence of the associated substitution calculus and to correspond to the etareductions of the other two calculi. We prove that and se as well as and the suspension calculus are non comparable while se is more adequate than the suspension calculus in simulating one step of betacontraction.
The Suspension Notation for Lambda Terms and its Use in Metalanguage Implementations
 Proc. 9th Workshop on Logic, Language, Information and Computation (WoLLIC 2002), volume 67 of ENTCS
, 2003
"... Many metalanguages and logical frameworks have emerged in recent years that use the terms of the lambda calculus as data structures. A common set of questions govern the suitability of a representation for lambda terms in the implementation of such systems: convertibility must be easily recognizabl ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
Many metalanguages and logical frameworks have emerged in recent years that use the terms of the lambda calculus as data structures. A common set of questions govern the suitability of a representation for lambda terms in the implementation of such systems: convertibility must be easily recognizable, sharing in reduction steps, term traversal and term structure must be possible, comparison and unification operations should be eciently supported and it should be possible to examine terms embedded inside abstractions. Explicit substitution notations for lambda calculi provide a basis for realizing such requirements. We discuss here the issues related to using one such notation  the suspension notation of Nadathur and Wilson  in this capacity. This notation has been used in two significant practical systems: the Standard ML of New Jersey compiler and the Teyjus implementation of Prolog. We expose the theoretical properties of this notation, highlight pragmatic considerations in its use in implementing operations such as reduction and unification and discuss its relationship to other explicit substitution notations.
Explicit Substitutions and All That
, 2000
"... Explicit substitution calculi are extensions of the lambdacalculus where the substitution mechanism is internalized into the theory. This feature makes them suitable for implementation and theoretical study of logic based tools as strongly typed programming languages and proof assistant systems. In ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
Explicit substitution calculi are extensions of the lambdacalculus where the substitution mechanism is internalized into the theory. This feature makes them suitable for implementation and theoretical study of logic based tools as strongly typed programming languages and proof assistant systems. In this paper we explore new developments on two of the most successful styles of explicit substitution calculi: the lambdasigma and lambda_secalculi.
Two equivalent calculi of explicit substitution with confluence on metaterms and preservation of strong normalization (one with names and one firstorder) (Extended Abstract)
 In Proceedings of the 1st Int. Workshop on Explicit Substitutions: Theory and Applications to Programs and Proofs
, 1998
"... We propose a solution to the standing open problem of finding a calculus of explicit substitution with the following four properties: 1. simulates onestep βreduction, 2. is confluent on metaterms (also known as "open terms"), 3. has a strongly normalizing substitution subcalculus, an ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
We propose a solution to the standing open problem of finding a calculus of explicit substitution with the following four properties: 1. simulates onestep βreduction, 2. is confluent on metaterms (also known as "open terms"), 3. has a strongly normalizing substitution subcalculus, and 4. preserves βstrong normalization. Our solution, λxci, is based on insights gained by studying the critical pair between two metaterms that makes calculi without substitution composition nonconfluent (on metaterms). The insight is closely tied to the fact that this critical pair is essentially an explicit representation of the "substitution lemma" of λcalculus, and the missing link in the solution is to express finiteness of all reductions starting from any reachable development of the source term. We give an encoding of the system as a first order system using de Bruijn's explicit variable indexing idea, and show that it enjoys the same properties by an easy equivalence.
Intersection Type Systems and Explicit Substitutions Calculi
 In Proc. of WRS’09. EPTCS 15:69–82
, 2010
"... calculi ..."
SUBSEXPL: A Tool for Simulating and Comparing Explicit Substitutions Calculi ⋆
"... Abstract. We present the system SUBSEXPL used for simulating and comparing explicit substitutions calculi. The system allows the manipulation of expressions of the λcalculus and of three different styles of explicit substitutions: the λσ, the λse and the suspension calculus. Implementations of the ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Abstract. We present the system SUBSEXPL used for simulating and comparing explicit substitutions calculi. The system allows the manipulation of expressions of the λcalculus and of three different styles of explicit substitutions: the λσ, the λse and the suspension calculus. Implementations of the ηreduction are provided for each calculi. Other explicit substitutions calculi can be incorporated into the system easily due to its modular structure. Its applications include: the visualisation of the contractions of the λcalculus, and of guided onestep reductions as well as normalisation via each of the associated substitution calculi. Many useful facilities are available: reductions can be easily recorded and stored into files or Latex outputs and several examples for dealing with arithmetic operations and computational operators such as conditionals and repetitions in the λcalculus are available. The system has been of great help for systematically comparing explicit substitutions calculi, as well as for understanding properties of explicit substitutions such as the Preservation of Strong Normalisation. In addition, it has been used for teaching basic properties of the λcalculus such as: computational adequacy, the importance of de Bruijn’s notation and of making explicit substitutions in real implementations.
Systems for open terms: An overview
, 2001
"... In this paper we make an overview of some existing systems of open (incomplete) terms including ALF, Typelab, OLEG, L, Automath, c and s e. ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
In this paper we make an overview of some existing systems of open (incomplete) terms including ALF, Typelab, OLEG, L, Automath, c and s e.
SUBSEXPL: A Framework for Simulating and Comparing Explicit Substitutions Calculi A Tutorial
, 2005
"... In this paper we present a framework, called SUBSEXPL, for simulating and comparing explicit substitutions calculi. This framework was developed in Ocaml, a language of the ML family, and it allows the manipulation of expressions of the λcalculus and of several styles of explicit substitutions calc ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
In this paper we present a framework, called SUBSEXPL, for simulating and comparing explicit substitutions calculi. This framework was developed in Ocaml, a language of the ML family, and it allows the manipulation of expressions of the λcalculus and of several styles of explicit substitutions calculi. Applications of this framework include: the visualisation of the contractions of the λcalculus, and of guided onestep reductions and normalisation via each of the associated substitution calculi. Many useful facilities are available: reductions can be easily recorded and stored into files, latex output and useful examples for dealing with, among other things, arithmetic operations and computational operators such as conditionals and repetitions in the λcalculus. The current implementation of SUBSEXPL includes treatment of three different calculi of explicit substitutions: the λσ, the λse and the suspension calculus; other explicit substitutions calculi can be easily incorporated into the system. An implementation of the ηreduction is provided for each of these explicit substitutions calculi. This system has been of great help for systematically comparing explicit substitutions calculi, as well as for understanding properties of explicit substitutions such as the Preservation of Strong Normalisation. In addition, it has been used for teaching basic properties of the λcalculus such as: computational adequacy, the importance of de Bruijn’s notation and of making explicit substitutions in real implementations based on the λcalculus. Keywords: λCalculus, Explicit Substitutions, Visualisation of β and ηContraction and Normalisation. 1
Comparing Calculi of Explicit . . .
 ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE 67 (2002)
, 2002
"... The past decade has seen an explosion of work on calculi of explicit substitutions. Numerous work has illustrated the usefulness of these calculi for practical notions like the implementation of typed functional programming languages and higher order proof assistants. Three styles of explicit substi ..."
Abstract
 Add to MetaCart
The past decade has seen an explosion of work on calculi of explicit substitutions. Numerous work has illustrated the usefulness of these calculi for practical notions like the implementation of typed functional programming languages and higher order proof assistants. Three styles of explicit substitutions are treated in this paper: the and the s e which have proved useful for solving practical problems like higher order uni cation, and the suspension calculus related to the implementation of the language Prolog. We enlarge the suspension calculus with an adequate etareduction which we show to preserve termination and conuence of the associated substitution calculus and to correspond to the etareductions of the other two calculi. Additionally, we prove that and s e as well as and the suspension calculus are non comparable while s e is more adequate than the suspension calculus.
On Strong Normalisation of Explicit Substitution Calculi
, 1999
"... In this paper, we present an attempt to build a calculus of explicit substitution expected to be conuent on open terms, to preserve strong normalisation and to simulate one step reduction. We show why our attempt failed and we explain how we found a counterexample to the strong normalisation or ..."
Abstract
 Add to MetaCart
In this paper, we present an attempt to build a calculus of explicit substitution expected to be conuent on open terms, to preserve strong normalisation and to simulate one step reduction. We show why our attempt failed and we explain how we found a counterexample to the strong normalisation or termination of the substitution calculus. As a consequence, we provide also a counterexample to the strong normalisation of another calculus, namely (the substitution calculus of ) of Ris, for which the problem was open.