Results 1 -
3 of
3
Preservation of Strong Normalisation in Named Lambda Calculi with Explicit Substitution and Garbage Collection
- IN CSN-95: COMPUTER SCIENCE IN THE NETHERLANDS
, 1995
"... In this paper we introduce and study a new lambda-calculus with explicit substitution, lambda-xgc, 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 54 (7 self)
- Add to MetaCart
In this paper we introduce and study a new lambda-calculus with explicit substitution, lambda-xgc, 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 lambda-xgc is a conservative extension which preserves strong normalisation (PSN) of the untyped lambda-calculus. The result is obtained in a modular way by first proving it for garbage-free reduction and then extending to `reductions in garbage'. This provides insight into the counterexample to PSN for lambda-sigma of Melliès (1995); we exploit the abstract nature of lambda-xgc 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.
Combinatory Reduction Systems with Explicit Substitution
- REWRITING TECHNIQUES AND APPLICATIONS (RTA), LECTURE NOTES IN COMPUTER SCIENCE
, 1996
"... We generalise the notion of explicit substitution from the lambda-calculus to higher order rewriting, realised by combinatory reduction systems (CRS). In this general framework this is achieved by identifying the "explicit" subclass of CRSs within which rewriting can be implemented efficiently.
Fo ..."
Abstract
-
Cited by 16 (2 self)
- Add to MetaCart
We generalise the notion of explicit substitution from the lambda-calculus to higher order rewriting, realised by combinatory reduction systems (CRS). In this general framework this is achieved by identifying the "explicit" subclass of CRSs within which rewriting can be implemented efficiently.
For every CRS R we show how to construct an explicit substitution variant, Rx, which is a conservative extension of R (and hence confluent when R is confluent). Furthermore we give a syntactic criterion on the rewrite rules that identifies a large subset of the CRSs, the redex-preserving CRSs, for which we show that Rx preserves strong normalisation of R.
We believe that this is a significant first step towards providing a methodology for reasoning about the operational properties of higher-order rewriting in general, and higher-order program transformations in particular, since confluence ensures correctness of such transformations and preservation of strong normalisation ensures that the transformations are always safe, in both cases independently of the used reduction strategy.

