Results 1 
6 of
6
Preservation of Strong Normalisation in Named Lambda Calculi with Explicit Substitution and Garbage Collection
 IN CSN95: COMPUTER SCIENCE IN THE NETHERLANDS
, 1995
"... In this paper we introduce and study a new lambdacalculus with explicit substitution, lambdaxgc, which has two distinguishing features: first, it retains the use of traditional variable names, specifying terms modulo renaming; this simplifies the reduction system. Second, it includes reduction rul ..."
Abstract

Cited by 65 (7 self)
 Add to MetaCart
In this paper we introduce and study a new lambdacalculus with explicit substitution, lambdaxgc, which has two distinguishing features: first, it retains the use of traditional variable names, specifying terms modulo renaming; this simplifies the reduction system. Second, it includes reduction rules for explicit garbage collection; this simplifies several proofs. We show that lambdaxgc is a conservative extension which preserves strong normalisation (PSN) of the untyped lambdacalculus. The result is obtained in a modular way by first proving it for garbagefree reduction and then extending to `reductions in garbage'. This provides insight into the counterexample to PSN for lambdasigma of Melliès (1995); we exploit the abstract nature of lambdaxgc to show how PSN is in conflict with any reasonable substitution composition rule (except for trivial composition rules of which we mention one). Key words: lambda calculus, explicit substitution, strong normalisation, garbage collection.
Hereditarily Sequential Functionals
 In Proceedings of the Symposium on Logical Foundations of Computer Science: Logic at St. Petersburg, Lecture notes in Computer Science
, 1994
"... In order to define models of simply typed functional programming languages being closer to the operational semantics of these languages, the notions of sequentiality, stability and seriality were introduced. These works originated from the definability problem for PCF, posed in [Sco72], and the full ..."
Abstract

Cited by 58 (0 self)
 Add to MetaCart
In order to define models of simply typed functional programming languages being closer to the operational semantics of these languages, the notions of sequentiality, stability and seriality were introduced. These works originated from the definability problem for PCF, posed in [Sco72], and the full abstraction problem for PCF, raised in [Plo77]. The presented computation model, forming the class of hereditarily sequential functionals, is based on a game in which each play describes the interaction between a functional and its arguments during a computation. This approach is influenced by the work of Kleene [Kle78], Gandy [Gan67], Kahn and Plotkin [KP78], Berry and Curien [BC82, Cur86, Cur92], and Cartwright and Felleisen [CF92]. We characterize the computable elements in this model in two different ways: (a) by recursiveness requirements for the game, and (b) as definability with the schemata (S1) (S8), (S11), which is related to definability in PCF. It turns out that both definitio...
A Notation for Lambda Terms I: A Generalization of Environments
 THEORETICAL COMPUTER SCIENCE
, 1994
"... A notation for lambda terms is described that is useful in contexts where the intensions of these terms need to be manipulated. This notation uses the scheme of de Bruijn for eliminating variable names, thus obviating ffconversion in comparing terms. This notation also provides for a class of terms ..."
Abstract

Cited by 33 (12 self)
 Add to MetaCart
A notation for lambda terms is described that is useful in contexts where the intensions of these terms need to be manipulated. This notation uses the scheme of de Bruijn for eliminating variable names, thus obviating ffconversion in comparing terms. This notation also provides for a class of terms that can encode other terms together with substitutions to be performed on them. The notion of an environment is used to realize this `delaying' of substitutions. The precise mechanism employed here is, however, more complex than the usual environment mechanism because it has to support the ability to examine subterms embedded under abstractions. The representation presented permits a ficontraction to be realized via an atomic step that generates a substitution and associated steps that percolate this substitution over the structure of a term. The operations on terms that are described also include ones for combining substitutions so that they might be performed simultaneously. Our notatio...
λν, a Calculus of Explicit Substitutions which Preserves Strong Normalisation
, 1995
"... Explicit substitutions were proposed by Abadi, Cardelli, Curien, Hardin and Lévy to internalise substitutions into λcalculus and to propose a mechanism for computing on substitutions. λν is another view of the same concept which aims to explain the process of substitution and to de ..."
Abstract
 Add to MetaCart
Explicit substitutions were proposed by Abadi, Cardelli, Curien, Hardin and Lévy to internalise substitutions into λcalculus and to propose a mechanism for computing on substitutions. λν is another view of the same concept which aims to explain the process of substitution and to decompose it in small steps. λν is simple and preserves strong normalisation. Apparently that important property cannot stay with another important one, namely confluence on open terms. The spirit of λν is closely related to another calculus of explicit substitutions proposed by de Bruijn and called Cλξφ. In this paper, we introduce λν, we present Cλξφ in the same framework as λν and we compare both calculi. Moreover, we prove properties of λν; namely λν correctly implements β reduction, λν is confluent on closed terms, i.e., on terms of classical λcalculus and on all terms that are derived from those terms, and finally λν preserves strong normalization of βreduction.
Conservativeness of Lambda over lambdasigmaCalculus
"... . 3 is a unique functional programming language which has the facility of the encapsulated assignment, without losing referential transparency [4]. The letconstruct in 3 can be considered as an environment, which has a close relationship to the substitution in oecalculus in [1]. This paper discus ..."
Abstract
 Add to MetaCart
. 3 is a unique functional programming language which has the facility of the encapsulated assignment, without losing referential transparency [4]. The letconstruct in 3 can be considered as an environment, which has a close relationship to the substitution in oecalculus in [1]. This paper discusses the relationship between these two calculi; we first define a slightly modified version of 3calculus which adopts de Bruijn's index notation. We then define an injective map from oecalculus to 3, and show that the Betareduction and the oereductions in oecalculus correspond to the fireduction and letreductions in 3calculus, respectively. Finally, we prove that, as equality theories, 3 is conservative over oecalculus. 1 Introduction 3 is a unique functional programming language which has the facility of the encapsulated assignment, without losing referential transparency [4]. We can assign a value to a variable in a similar way with imperative languages. By this facility, 3 ...
On Explicit Binding and Substitution Preserving Strong Normalisation (Extended Abstract)
, 1996
"... In recent years a large number of `explicit substitution calculi' have been proposed with various combinations of properties. One property that has attracted special attention is `PSN:' whether the set of fistrongly normalising terms is still strongly normalising with explicit substitution. Sever ..."
Abstract
 Add to MetaCart
In recent years a large number of `explicit substitution calculi' have been proposed with various combinations of properties. One property that has attracted special attention is `PSN:' whether the set of fistrongly normalising terms is still strongly normalising with explicit substitution. Several calculi with this property have been found: we discuss AE, Ø, s, t, and x; in this note we add two new variants: AE1 and AE0. We show that these calculi all have essentially the same reductions, or put differently: the renaming overhead is negligible with respect to normalisation. Furthermore x  the only one of the lot with implicit binding using usual calculus variables  is a least common denominator in the sense that all the others are (strict) conservative extensions of it. A consequence of this is that all the PSN results proven for these calculi are equivalent (and follow from PSN for x).