## Choices in representation and reduction strategies for lambda terms in intensional contexts (2004)

Venue: | J. Autom. Reasoning |

Citations: | 8 - 5 self |

### BibTeX

@ARTICLE{Liang04choicesin,

author = {Chuck Liang and Gopalan Nadathur and Xiaochu Qi},

title = {Choices in representation and reduction strategies for lambda terms in intensional contexts},

journal = {J. Autom. Reasoning},

year = {2004},

volume = {33},

pages = {89--132}

}

### OpenURL

### Abstract

### Citations

716 | A framework for defining logics - Harper, Honsell, et al. - 1993 |

320 | Lambda-calculus notation with nameless dummies: a tool for automatic formula manipulation with application to the Church-Rosser theorem
- Bruijn
- 1972
(Show Context)
Citation Context ...lution to the problem of identifying two lambda terms that differ only in the names chosen for bound variables is, for instance, to transform them into a nameless form using a scheme due to de Bruijn =-=[Bru72]-=-. Similarly, several new notations for the lambda calculus have been described in recent years that have the purpose of making substitutions explicit (e.g., see [ACCL91, BBLRD96, KR97, NW98]). However... |

295 | A logic programming language with lambda-abstraction, function variables, and simple unification
- Miller
(Show Context)
Citation Context ...n other related systems such as Elf and Isabelle. Programs in this class use a special case of reduction—the argument of a redex is always a constant—and a restricted form of higher-order unification =-=[Mil91b]-=-. We included the following programs in this category: Compiler This is a compiler for a small imperative language with object-oriented features [Lia02]. Aspects of compilation had been studied in log... |

164 | Implementing Mathematics with the NuPRL Proof Development System - Constable, Allen, et al. - 1986 |

128 | Unification under a mixed prefix
- Miller
- 1992
(Show Context)
Citation Context ... using such terms. The programs we included in this category are the following: Hilbert This is an encoding in λProlog of the process of solving diophantine equations through higher-order unification =-=[Mil92]-=-. Solutions are not generated completely by this program in many instances. Rather, solvability is often determined, the exact identity of solutions being dependent on the unifiers for ‘flexible-flexi... |

119 |
An unification algorithm for typed λ-calculus
- Huet
- 1975
(Show Context)
Citation Context ...h the terms of a typed lambda calculus. Attendant on these lambda terms is a notion of equality given by the α-, β- and η-conversion rules. Second, λProlog uses the higher-order unification procedure =-=[Hue75]-=-, which respects this extended notion of equality. Finally, the language extends the collection of goals or queries with two new kinds of expressions, these being of the form ∀x G and D ⊃ G, in which ... |

111 |
a calculus of explicit substitutions which preserves strong normalisation
- Benaissa, Briaud, et al.
- 1996
(Show Context)
Citation Context ... them to be performed in the same traversal over a given term. The majority of the calculi that have been proposed do not, in fact, possess this ability. This is true, for example, of the λυ-calculus =-=[BBLRD96]-=-, the λζ-calculus [Muñ96], the λse-calculus [KR97] and the λwsocalculus [DG01]. The last two calculi are distinguished from the others in that they contain mechanisms for interchanging the order of su... |

106 | An overview of λProlog
- Nadathur, Miller
- 1988
(Show Context)
Citation Context ...dict from the usual static descriptions of computations. We seek to illuminate this empirical question in this paper. We base our investigation on computations carried out within the language λProlog =-=[NM88]-=- that employs lambda terms as data structures and that embodies many of the kinds of operations over these terms that we have described above. The specific vehicle for our study is a new implementatio... |

103 | Higher-order unification via explicit substitutions
- Dowek, Hardin, et al.
- 2000
(Show Context)
Citation Context ...ing these variables as essentially ‘graftable’ ones whose instantiation can contain free de Bruijn indices provides the basis for lifting higher-order unification to an explicit substitution notation =-=[DHK00]-=-. This is an interesting possibility but not one that we examine in this paper. 2.4 Relationship to Other Explicit Substitution Calculi A variety of calculi have been proposed in recent years for refl... |

94 | A survey of the project Automath - Bruijn - 1980 |

75 | Introduction to Standard ML - Harper - 1989 |

68 | A compiled implementation of strong reduction
- Grégoire, Leroy
- 2002
(Show Context)
Citation Context ...ing of natural numbers, do not represent significant applications for λProlog. However, they do strain aspects such as the reduction process and have also been used in other studies; for example, see =-=[GL02]-=-. Programs primarily requiring reduction: The lambda terms that are used in programs in this category figure mainly in reduction, the unification computation being largely firstorder in nature. The tw... |

63 | Smartest recompilation
- Shao, Appel
- 1993
(Show Context)
Citation Context ...e representation of types treats quantification explicitly within this program and abstraction in the metalanguage is used to capture the binding effect. A type inference algorithm similar to that of =-=[AS93]-=- was used. Given the treatment of type variables, unification over types has to be explicitly programmed. Thus, many of the typical features of a metalanguage are exercised by this program. Another in... |

56 | Uni of simply typed lambda-terms as logic programming
- Miller
- 1991
(Show Context)
Citation Context ...,162 Table 2: The Effect of Embedded Redexes approach. Moreover, the copy predicate that is defined above can itself be used in different modes to realize operations such as unification and rewriting =-=[Mil91a]-=-. 13 Consider now the computation that will be engendered by a query of the form copy (abs λx (abs λy ( app x y))) F, i.e., one that attempts to create in (the instantiatable variable) F a copy of the... |

46 |
On laziness and optimality in lambda interpreters: Tools for specification and analysis
- Field
- 1990
(Show Context)
Citation Context ...are similar to the suspension notation without the (β ′ s) rule. 7 The systems that do permit the combination of reduction substitutions are the λσcalculus [ACCL91], the closely related ΛCCL calculus =-=[Fie90]-=- and the suspension notation. The first two calculi include machinery to combine arbitrary environments, in the same way that the full blown suspension notation that we mentioned in Section 2.3 does. ... |

44 | and Gérard Huet. The calculus of constructions - Coquand - 1988 |

37 |
Pierre-Louis Curien, and Jean-Jacques Lévy. Explicit substitutions
- Abadi, Cardelli
- 1991
(Show Context)
Citation Context ...otation conceptually encompasses two categories of expressions, one corresponding to terms and the other corresponding to environments that encode substitutions. In a notation such as the λσ-calculus =-=[ACCL91]-=- that uses exactly these two categories, an operation must be performed on an environment expression each time it is percolated inside an abstraction towards modifying the de Bruijn indices in the ter... |

34 |
System description: Teyjus—a compiler and abstract machine based implementation of Lambda Prolog
- Nadathur, Mitchell
- 1999
(Show Context)
Citation Context ...a terms as data structures and that embodies many of the kinds of operations over these terms that we have described above. The specific vehicle for our study is a new implementation of this language =-=[NM99]-=- that isolates several choices in term representation, permitting them to be varied and their impact to be quantified. As we argue in detail in later sections, both the language and the implementation... |

25 | A Fine-Grained Notation for Lambda Terms and Its Use in Intensional Operations
- Nadathur
- 1999
(Show Context)
Citation Context ...edexes. 2.2 Some Formal Properties Interest in the suspension notation derives ultimately from its ability to simulate reduction in the conventional lambda calculus. This capability has been shown in =-=[Nad99]-=- in two steps. First, underlying every term in the suspension notation is intended to be a de Bruijn term that is obtained by ‘calculating out’ the suspended substitutions and erasing the annotations.... |

23 |
A λ-calculus with explicit weakening and explicit substitution
- David, Guillaume
(Show Context)
Citation Context ...e calculi that have been proposed do not, in fact, possess this ability. This is true, for example, of the λυ-calculus [BBLRD96], the λζ-calculus [Muñ96], the λse-calculus [KR97] and the λwsocalculus =-=[DG01]-=-. The last two calculi are distinguished from the others in that they contain mechanisms for interchanging the order of substitutions in certain circumstances; such a device is needed to obtain conflu... |

18 | Naive reverse can be linear
- Brisset, Ridoux
- 1991
(Show Context)
Citation Context ...part of two other systems. The Prolog/Mali implementation of λProlog [BR92] exploits such an idea and notes results relative to a specific program that are similar to the ones we observe in Section 7 =-=[BR91]-=-. The substitution erasure mechanism in [FMS04] also has an overlap with the way we use annotations. 11sIn the rest of this section we outline the structure of the λProlog language briefly and then di... |

18 |
Extending the λ-calculus with explicit substitution which preserves strong normalization into a confluent calculus on open terms
- Kamareddine, Ríos
- 1997
(Show Context)
Citation Context ...ven term. The majority of the calculi that have been proposed do not, in fact, possess this ability. This is true, for example, of the λυ-calculus [BBLRD96], the λζ-calculus [Muñ96], the λse-calculus =-=[KR97]-=- and the λwsocalculus [DG01]. The last two calculi are distinguished from the others in that they contain mechanisms for interchanging the order of substitutions in certain circumstances; such a devic... |

14 |
Closed Reduction: Explicit Substitutions without alpha-conversion
- Fernández, Mackie, et al.
(Show Context)
Citation Context ...lementation of λProlog [BR92] exploits such an idea and notes results relative to a specific program that are similar to the ones we observe in Section 7 [BR91]. The substitution erasure mechanism in =-=[FMS04]-=- also has an overlap with the way we use annotations. 11sIn the rest of this section we outline the structure of the λProlog language briefly and then discuss the collection of programs over which we ... |

12 | Compiler Construction in Higher Order Logic Programming
- Liang
- 2002
(Show Context)
Citation Context ... a restricted form of higher-order unification [Mil91b]. We included the following programs in this category: Compiler This is a compiler for a small imperative language with object-oriented features =-=[Lia02]-=-. Aspects of compilation had been studied in logical frameworks, but this relatively large experiment attempts to capture all the relevant stages in one setting. The program includes a bottom-up parse... |

8 |
An efficient interpreter for the lambda-calculus
- Aiello, Prini
- 1981
(Show Context)
Citation Context ...However determining this requires either a traversal of the term being substituted, or an explicit record of the variables that are free in it. An interesting alternative, described, for instance, in =-=[AP81]-=-, is to always perform a renaming and, more significantly, to fold this into the structure traversal that realizes the β-contraction substitution. The above discussion indicates that the additional co... |

6 | Let-polymorphism and eager type schemes
- Liang
- 1997
(Show Context)
Citation Context ...s that choices in representation of lambda terms and in reduction strategies here can have a significant impact on behaviour. Typeinf A program that infers principal type schemes for ML-like programs =-=[Lia97]-=-. The representation of types treats quantification explicitly within this program and abstraction in the metalanguage is used to capture the binding effect. A type inference algorithm similar to that... |

2 |
The compilation of λProlog and its execution with MALI. Publication Interne 687
- Brisset, Ridoux
- 1992
(Show Context)
Citation Context ... variations. 8 The recognition and utilization of the property of independence of subterms from external abstractions is, however, part of two other systems. The Prolog/Mali implementation of λProlog =-=[BR92]-=- exploits such an idea and notes results relative to a specific program that are similar to the ones we observe in Section 7 [BR91]. The substitution erasure mechanism in [FMS04] also has an overlap w... |

2 |
Automating functional program transformation. MSc Thesis
- Mottl
- 2000
(Show Context)
Citation Context ...ch the property of involving third-order terms that give rise to more involved reduction computations than seen in the Lλ case. Funtrans This is a collection of transformations on functional programs =-=[Mot00]-=-, such as through partial evaluation. Some elements of this program are similar to those in the Compiler example. However, this program tends to employ meta-level capabilities in a more direct manner,... |

2 |
Confluence and preservation of strong normalization in an explicit substitution calculus
- Muñoz
- 1996
(Show Context)
Citation Context ...e same traversal over a given term. The majority of the calculi that have been proposed do not, in fact, possess this ability. This is true, for example, of the λυ-calculus [BBLRD96], the λζ-calculus =-=[Muñ96]-=-, the λse-calculus [KR97] and the λwsocalculus [DG01]. The last two calculi are distinguished from the others in that they contain mechanisms for interchanging the order of substitutions in certain ci... |