ID: cs/0405075

Reduction Strategies in Lambda Term Normalization and their Effects on Heap Usage

May 22, 2004

View on ArXiv
Xiaochu Qi
Computer Science
Programming Languages

Higher-order representations of objects such as programs, proofs, formulas and types have become important to many symbolic computation tasks. Systems that support such representations usually depend on the implementation of an intensional view of the terms of some variant of the typed lambda-calculus. Various notations have been proposed for lambda-terms to explicitly treat substitutions as basis for realizing such implementations. There are, however, several choices in the actual reduction strategies. The most common strategy utilizes such notations only implicitly via an incremental use of environments. This approach does not allow the smaller substitution steps to be intermingled with other operations of interest on lambda-terms. However, a naive strategy explicitly using such notations can also be costly: each use of the substitution propagation rules causes the creation of a new structure on the heap that is often discarded in the immediately following step. There is thus a tradeoff between these two approaches. This thesis describes the actual realization of the two approaches, discusses their tradeoffs based on this and, finally, offers an amalgamated approach that utilizes recursion in rewrite rule application but also suspends substitution operations where necessary.

Similar papers 1

Deriving SN from PSN: a general proof technique

September 28, 2009

87% Match
Emmanuel Polonowski
Logic in Computer Science

In the framework of explicit substitutions there is two termination properties: preservation of strong normalization (PSN), and strong normalization (SN). Since there are not easily proved, only one of them is usually established (and sometimes none). We propose here a connection between them which helps to get SN when one already has PSN. For this purpose, we formalize a general proof technique of SN which consists in expanding substitutions into "pure" lambda-terms and to i...

Find SimilarView on arXiv

About the efficient reduction of lambda terms

January 16, 2017

87% Match
Andrea Asperti
Logic in Computer Science

There is still a lot of confusion about "optimal" sharing in the lambda calculus, and its actual efficiency. In this article, we shall try to clarify some of these issues.

Find SimilarView on arXiv

On the Invariance of the Unitary Cost Model for Head Reduction (Long Version)

February 8, 2012

87% Match
Beniamino Accattoli, Ugo Dal Lago
Logic in Computer Science
Programming Languages

The lambda calculus is a widely accepted computational model of higher-order functional pro- grams, yet there is not any direct and universally accepted cost model for it. As a consequence, the computational difficulty of reducing lambda terms to their normal form is typically studied by reasoning on concrete implementation algorithms. In this paper, we show that when head reduction is the underlying dynamics, the unitary cost model is indeed invariant. This improves on known...

Find SimilarView on arXiv

Proceedings Ninth International Workshop on Reduction Strategies in Rewriting and Programming

January 26, 2010

87% Match
Maribel King's College London Fernández
Programming Languages
Logic in Computer Science
Symbolic Computation
Software Engineering

This volume contains selected papers presented at the 9th International Workshop on Reduction Strategies in Rewriting and Programming, WRS2009, which was held in Brasilia on the 28th June 2009, associated to RTA 2009 (the 20th International Conference on Rewriting Techniques and Applications) at RDP, the Federated Conference on Rewriting, Deduction and Programming. Reduction strategies define which (sub)expression(s) should be selected for evaluation and which rule(s) should ...

Find SimilarView on arXiv

A Simplified Suspension Calculus and its Relationship to Other Explicit Substitution Calculi

February 26, 2007

87% Match
Andrew Gacek, Gopalan Nadathur
Logic in Computer Science

This paper concerns the explicit treatment of substitutions in the lambda calculus. One of its contributions is the simplification and rationalization of the suspension calculus that embodies such a treatment. The earlier version of this calculus provides a cumbersome encoding of substitution composition, an operation that is important to the efficient realization of reduction. This encoding is simplified here, resulting in a treatment that is easy to use directly in applicat...

Find SimilarView on arXiv

A Theory of Explicit Substitutions with Safe and Full Composition

May 15, 2009

87% Match
Delia Kesner
Programming Languages
Logic in Computer Science

Many different systems with explicit substitutions have been proposed to implement a large class of higher-order languages. Motivations and challenges that guided the development of such calculi in functional frameworks are surveyed in the first part of this paper. Then, very simple technology in named variable-style notation is used to establish a theory of explicit substitutions for the lambda-calculus which enjoys a whole set of useful properties such as full composition, ...

Find SimilarView on arXiv

Proceedings 10th International Workshop on Reduction Strategies in Rewriting and Programming

April 24, 2012

86% Match
Santiago Universitat Politècnica de València Escobar
Logic in Computer Science
Programming Languages

This volume contains a selection of the papers presented at the 10th International Workshop on Reduction Strategies in Rewriting and Programming (WRS'2011), held on 29 May 2011 in Novi Sad, Serbia. Previous editions of the workshop were held in Utrecht (2001), Copenhagen (2002), Valencia (2003), Aachen (2004), Nara (2005), Seattle (2006), Paris (2007), Hagenberg (2008), Brasilia (2009), and Edinburgh (2010); the last one as a joint workshop with the STRATEGIES workshop. The...

Find SimilarView on arXiv

Proof Theory at Work: Complexity Analysis of Term Rewrite Systems

July 31, 2009

86% Match
Georg Moser
Logic in Computer Science
Computational Complexity
Symbolic Computation
Software Engineering

This thesis is concerned with investigations into the "complexity of term rewriting systems". Moreover the majority of the presented work deals with the "automation" of such a complexity analysis. The aim of this introduction is to present the main ideas in an easily accessible fashion to make the result presented accessible to the general public. Necessarily some technical points are stated in an over-simplified way.

Find SimilarView on arXiv

The Suspension Calculus and its Relationship to Other Explicit Treatments of Substitution in Lambda Calculi

February 5, 2007

86% Match
Andrew Gacek
Logic in Computer Science
Programming Languages

The intrinsic treatment of binding in the lambda calculus makes it an ideal data structure for representing syntactic objects with binding such as formulas, proofs, types, and programs. Supporting such a data structure in an implementation is made difficult by the complexity of the substitution operation relative to lambda terms. In this paper we present the suspension calculus, an explicit treatment of meta level binding in the lambda calculus. We prove properties of this ca...

Find SimilarView on arXiv

Rewriting Calculus: Foundations and Applications

November 28, 2000

86% Match
Horatiu Cirstea
Symbolic Computation
Logic in Computer Science
Programming Languages

This thesis is devoted to the study of a calculus that describes the application of conditional rewriting rules and the obtained results at the same level of representation. We introduce the rewriting calculus, also called the rho-calculus, which generalizes the first order term rewriting and lambda-calculus, and makes possible the representation of the non-determinism. In our approach the abstraction operator as well as the application operator are objects of calculus. The r...

Find SimilarView on arXiv