Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

Tracking Redexes in the Lambda Calculus

  • Chapter
  • First Online:
The French School of Programming

Abstract

Residuals of redexes keep track of redexes along reductions in the lambda calculus. Families of redexes keep track of redexes created along these reductions. In this chapter, we review these notions and their relation to a labeled \(\lambda \)-calculus introduced here in a systematic way. These properties may be extended to combinatory logic, term rewriting systems, process calculi and proofnets of linear logic.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 149.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 199.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Martín Abadi, Butler Lampson, and Jean-Jacques Lévy. Analysis and caching of dependencies. In Proc. of the 1996 ACM SIGPLAN International Conference on Functional Programming, pages 83–91. ACM Press, May 1996.

    Google Scholar 

  2. Zena M. Ariola, Matthias Felleisen, John Maraist, Martin Odersky, and Philip Wadler. A call-by-need lambda calculus. In Proc. 22nd ACM Symposium on Principles of Programming Languages, pages 2330–246, January 1995.

    Google Scholar 

  3. Andrea Asperti, Vincent Danos, Cosimo Laneve, and Laurent Régnier. Paths, computations and labels in the \(\lambda \)-calculus. In Proceedings of the 10th Annual Symposium on Logic in Computer Science, pages 426–610, 1994.

    Google Scholar 

  4. Andrea Asperti and Stefano Guerrini. The Optimal Implementation of Functional Programming Languages. Cambridge University Press, 1999.

    Google Scholar 

  5. Andrea Asperti and Cosimo Laneve. Interaction systems i: The theory of optimal reductions. Mathematical Structures in Computer Science, 4(4):457–504, September 1994.

    Article  MathSciNet  Google Scholar 

  6. Henk P. Barendregt. The Lambda Calculus, Its Syntax and Semantics. North-Holland, 1981.

    Google Scholar 

  7. Gérard Berry and Jean-Jacques Lévy. Minimal and optimal computations of recursive programs. In Proc. of POPL’77. Journal of the ACM, volume 26. ACM Press, 1979.

    Google Scholar 

  8. Tomasz Blanc. Propriétés de sécurité dans le lambda-calcul. PhD thesis, Ecole polytechnique, Palaiseau, November 2006.

    Google Scholar 

  9. Gérard Boudol. Computational semantics of term rewriting systems. In M. Nivat and J.C. Reynolds, editors, Algebraic Methods in Semantics, pages 169–236. Cambridge University Press, 1985.

    Google Scholar 

  10. Gérard Boudol and Ilaria Castellani. A non-interleaving semantics for ccs based on proved transitions. Fundamentae Informaticae, XI:433–453, 1988.

    Google Scholar 

  11. Alonzo Church. The Calculi of Lambda-Conversion. Princeton University Press, 1941.

    Google Scholar 

  12. Ioana Cristescu, Jean Krivine, and Daniele Varacca. A compositional semantics for the reversible pi-calculus. In Proc. of the 28th Annual ACM/IEEE Symposium on Logic in Computer Science, pages 388–397, 2013.

    Google Scholar 

  13. Haskell B. Curry and Robert Feys. Combinatory Logic. North-Holland, 1958.

    Google Scholar 

  14. Gilles Dowek, Gaspard Férey, Jean-Pierre Jouannaud, and Jiaxiang Liu. Confluence of left-linear higher-order rewrite theories by checking their nested critical pairs. Online Cambridge University Press, March 2022. doi:hal-03126111.

  15. Georges Gonthier, Martín Abadi, and Jean-Jacques Lévy. The geometry of optimal lambda reduction. In Proc. of the 19th Conference on Principles of Programming Languages, pages 15–26. ACM Press, January 1992.

    Google Scholar 

  16. Georges Gonthier, Martín Abadi, and Jean-Jacques Lévy. Linear logic without boxes. In Proc. of the 7th IEEE Symposium on Logic in Computer Science, pages 223–234. IEEE Computer Society, June 1992.

    Google Scholar 

  17. Georges Gonthier, Jean-Jacques Lévy, and Paul-André Melliès. An abstract standardisation theorem. In Proce. of the 7th IEEE Symposium on Logic in Computer Science, Santa Cruz, California, USA, June 22–25, 1992, pages 72–81. IEEE Computer Society, 1992. Available from: https://doi.org/10.1109/LICS.1992.185521, doi:hal-03126111.

  18. Roger Hindley. Combinatory reductions and lambda reductions compared. Zeit. Math. Logik, 23:169–180, 1977.

    Article  MathSciNet  Google Scholar 

  19. Gérard Huet and Jean-Jacques Lévy. Computations in orthogonal rewriting systems. In Computational Logic – Essays in Honor of Alan Robinson, pages 395–443. The MIT Press, Cambridge, MA, 1992.

    Google Scholar 

  20. Vinod Kathail. Optimal interpreters for lambda-calculus based functional languages. PhD thesis, MIT, EECS department, 1990.

    Google Scholar 

  21. John Lamping. An algorithm for optimal lambda-calculus reduction. In Proceedings of the 17th Annual ACM Symposium on Principles of Programming Languages, pages 16–30, 1990.

    Google Scholar 

  22. Cosimo Laneve. Distributive evaluations of lambda-calculus. Fundam. Informaticae, 20(4):333–352, 1994.

    Article  MathSciNet  Google Scholar 

  23. Jean-Jacques Lévy. Réductions sures dans le lambda-calcul. PhD thesis, Univ. of Paris 7, Paris, June 1974. (thèse de 3ème cycle).

    Google Scholar 

  24. Jean-Jacques Lévy. An algebraic interpretation of the lambda-beta-k-calculus; and an application of a labelled lambda-calculus. Theoretical Computer Science 2 (1976), North Holland, pp.97–114., 2:97–114, 1976. also presented at the Rome Symposium on the \(\lambda \)-calculus, 1975.

    Google Scholar 

  25. Jean-Jacques Lévy. Réductions correctes et optimales dans le lambda-calcul. PhD thesis, Univ. of Paris 7, Paris, January 1978.

    Google Scholar 

  26. Jean-Jacques Lévy. Generalized finite developments. In Yves Bertot, G. Huet, J.-J. Lévy, and G. Plotkin, editors, From Semantics to Computer Science: Essays in Honour of Gilles Kahn. Academic Press, 1980.

    Google Scholar 

  27. Jean-Jacques Lévy. Optimal reductions in the lambda-calculus. In J.P. Seldin and J.R. Hindley, editors, To H.B. Curry: Essays on Combinatory Logic, Lambda-Calculus and Formalism. Academic Press, 1980. On the occasion of his 80th birthday.

    Google Scholar 

  28. Jean-Jacques Lévy. Redexes are stable in the lambda-calculus. In H. Barendregt, Stefano Guerrini, and Adolfo Piperno, editors, A special issue dedicated to Corrado Böhm for his 90th birthday, Computing with lambda terms, volume 27 of Mathematical Structures in Computer Science, pages 738–750. 2009.

    Google Scholar 

  29. John Maraist, Martin Odersky, David N. Turner, and Philip Wadler. Call-by-name, call-by-value, call-by-need, and the linear lambda calculus. In Electronic Notes in Theoretical Computer Science, pages 41–62, March 1995.

    Google Scholar 

  30. Luc Maranget. Optimal derivations in orthogonal term rewriting systems and in weak lambda calculi. In Proc. of the 18th Conference on Principles of Programming Languages. ACM Press, 1991.

    Google Scholar 

  31. Luc Maranget. La stratégie paresseuse. PhD thesis, Univ. of Paris 7, Paris, 1992.

    Google Scholar 

  32. Paul-André Melliès. A stability theorem in rewriting theory. In Thirteenth Annual IEEE Symposium on Logic in Computer Science, Indianapolis, Indiana, USA, June 21–24, 1998, pages 287–298. IEEE Computer Society, 1998. Available from: https://doi.org/10.1109/LICS.1998.705665, doi:hal-03126111.

  33. Dana S. Scott. Continuous lattices. In F.W. Lawvere, editor, Toposes, algebraic geometry and logic, volume 274 of Lecture Notes in Mathematics, pages 97–136. Springer, 1972.

    Google Scholar 

  34. Terese (M. Bezem, J. W. Klop, and R. de Vrijer eds). Term Rewriting Systems. Cambridge University Press, 2003.

    Google Scholar 

  35. Jean Vuillemin. Proof Techniques for Recursive Programs. PhD thesis, Stanford University, Computer Science Department, 1973.

    Google Scholar 

  36. Christopher P. Wadsworth. Semantics and pragmatics of the lambda-calculus. PhD thesis, Oxford University, 1971.

    Google Scholar 

Download references

Acknowledgements

As an intern, I started at Inria on October 1968 in the Operating Systems group. Inria (then named IRIA) had no more than 20 researchers. On summers 1969–1970, I attented two fantastic CEA-EDF schools about Programming and about Interactive Graphics at the Bréau-ss-Nappe with notably Dijkstra and Newman.

In 1971, I was introduced to theoretical computer science by Jean Vuillemin (still at Stanford University) and Jean-Marie Cadiou (just back from Stanford). Gilles Kahn came (from Stanford) to Inria a few months later. With Gilles, we started by making small formal proofs with Scott computational induction in the spirit of Manna-Ness-Vuillemin. Gilles also worked on coroutines and on the non-deterministic multiplexer. On summer 1972, Inria hosted the first ICALP conference with worldwide researchers in this new area of theoretical computer science. Huge event! quite challenging !!

In parallel, a new connection started with Edinburgh. Robin Milner (also back from Stanford) and Chris Wadsworth visited Inria in 1972–1973. Robin destroyed our attempt with Jean-Marie to formalize parallel programs with oracles. Anyhow our paper was accepted at SWAT’73! Gilles gave me Church’s monography about the Calculi of Lambda Conversion. I read it in a café at the bottom of avenue de Wagram. Crystal clear ! Then I tried to read Barendregt’s thesis and Nederpelt’s Ph.D. Not so easy ! I went to Gilles and said there were too many theorems. Gilles looked at it and said “oh! he is dutch!”…Maurice Nivat (who joined Inria in 1971) was excellent at inviting current stars of theoretical computer science. Many foreigners visited our building. At Pentecôte 1973, I extended Vuillemin’s results about safe computations in recursive program schemes to the \({\lambda }\)-calculus. Immediately, Maurice asked me to register for a Thèse de 3ème cycle and to speak at the seminar on next Tuesday!!

In 1973, Gilles and I started a small implementation of Milner’s LCF logic, in APL on the IBM 360/91 in CEA-Saclay (a big failure), and later in AlgolW on another IBM 360/67 machine in Grenoble (more successfully). At fall 1973, Gilles took me to visit David Park in Warwick. I left him to travel to Edinburgh on November. David said “speak with Gordon Plotkin, and at Edinburgh, you’ll be freezing like a lolly”. I indeed met Robin and Gordon, and many others in the CS department at the King’s buildings and the AI group at Hope Park Square. Discussions were great. I remember Robin jumping to the whiteboard and making my proofs before I could present them. Gordon showed me on a ridiculously small blackboard how Scott’s continuous functions were unable to capture the sequentiality induced by leftmost-outermost evaluations. Thus Scott’s denotational semantics was not fully abstract. Gordon also showed his \(\omega \)-incompleteness counterexample to a conjecture of Barendregt. I also saw the 3-bar heater in Gordon’s office where only one bar was on.

At winter 1973, Maurice told me that Peter Welch, a student of David Park, was trying to show the completeness of inside-out reductions in the \({\lambda }\)-calculus. He had a 60-page long proof! I tried to read it, and some while later, I strangely felt that Maurice would not sign my dissertation if I was not able to prove it by my own means. Fortunately, I could make a simple proof, 3 months later! I defended my Thèse de 3ème cycle on summer 1974, with J.-Y. Girard in the jury. Maurice did advice me to visit Jean-Yves at University of Paris 7. Another great moment! Jean-Yves was lecturing in front of no more than 5 students. But when finished, we quickly went to the café in front of Jussieu and he showed me on a paper napkin the reductibility method for proving strong normalisation in typed calculi. On September 1974, I was invited to the Swansea mini-conference on \({\lambda }\)-calculus. I met there Roger Hindley, Henk Barendregt, Corrado Böhm, Gordon Plotkin, Peppe Longo, Anne Troelstra, \(\ldots \) and Haskell Curry. I was a newbie in the world of logicians. Later, I did my first talk in public at the Rome 1975 Symposium about \({\lambda }\)-calculus and Computer Science Theory where I presented my result about inside-out completeness. Dana Scott asked me loudly a question about the completeness of transfinite reductions! Goodness! I could not imagine reductions going further than infinity. I was stuck. (I now know that Dana is the kindest person.)

I went on with the \({\lambda }\)-calculus until my Thèse d’État on January 1978. Some of the results were in common with Gérard Berry (who joined Inria in 1973). In the present chapter, part of them is presented. For me, that was the end of the glorious times in the theory of programming at building 8 in Inria-Rocquencourt. Of course, I forgot to quote many other interesting events, schools and curious meetings with exceptional people. We indeed had lot of fun and I was extremely lucky to participate to these times.

Afterward, the building grew up. I zigzaged in term rewriting systems with Gérard Huet (who joined Inria in 1972), CAD for VLSI, system programming, parallel programming, mobility, and formal proofs. I also enjoyed teaching at Ecole polytechnique in Palaiseau and had the fantastic opportunity to meet excellent (PhD) students.

Finally, I cannot thank all the people who influenced my work or helped me. Among them, my mentors Gilles Kahn, Jean-Marie Cadiou, Jean Vuillemin, Maurice Nivat and my friends Gérard Huet, Gérard Berry. Also for sure Gordon Plotkin, Robin Milner, Henk Barendregt and Jan Willem Klop. I am deeply sorry for the very many, French or aliens, that I love, but did not mention.

I also thank the two brave reviewers of this (theoretical) chapter, who greatly contributed to clarify many obscure points.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jean-Jacques Lévy .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Lévy, JJ. (2024). Tracking Redexes in the Lambda Calculus. In: Meyer, B. (eds) The French School of Programming. Springer, Cham. https://doi.org/10.1007/978-3-031-34518-0_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-34518-0_10

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-34517-3

  • Online ISBN: 978-3-031-34518-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics