Proofs and types
An algorithm for optimal lambda calculus reduction
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Paths, computations and labels in the &lgr;-calculus
RTA-93 Selected papers of the fifth international conference on Rewriting techniques and applications
Parallel reductions in &lgr;-calculus
Information and Computation
Analysis and caching of dependencies
Proceedings of the first ACM SIGPLAN international conference on Functional programming
NSL '94 Proceedings of the first workshop on Non-standard logics and logical aspects of computer science
The optimal implementation of functional programming languages
The optimal implementation of functional programming languages
Parallel beta reduction is not elementary recursive
Information and Computation
An algebraic interpretation of the lambda beta - calculus and a labeled lambda - calculus
Proceedings of the Symposium on Lambda-Calculus and Computer Science Theory
The typed ?-calculus is not elementary recursive
SFCS '77 Proceedings of the 18th Annual Symposium on Foundations of Computer Science
Complexity analysis by graph rewriting
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
Hi-index | 0.00 |
A new "inductive" approach to standardization for the lambda-calculus has been recently introduced by Xi, allowing him to establish a double-exponential upper bound |M|2|sigma| for the length of the standard reduction relative to an arbitrary reduction sigma originated in M. In this paper we refine Xi's analysis, obtaining much better bounds, especially for computations producing small normal forms. For instance, for terms reducing to a boolean, we are able to prove that the length of the standard reduction is at most a mere factorial of the length of the shortest reduction sequence. The methodological innovation of our approach is that instead of counting the cost for producing something, as is customary, we count the cost of consuming things. The key observation is that the part of a lambda-term that is needed to produce the normal form (or an arbitrary rigid prefix) may rapidly augment along a computation, but can only decrease very slowly (actually, linearly).