Skip to main content

Monadic Presentations of Lambda Terms Using Generalized Inductive Types

  • Conference paper
  • First Online:
Computer Science Logic (CSL 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1683))

Included in the following conference series:

Abstract

We present a definition of untyped λ-terms using a heterogeneous datatype, i.e. an inductively defined operator. This operator can be extended to a Kleisli triple, which is a concise way to verify the substitution laws for λ-calculus. We also observe that repetitions in the definition of the monad as well as in the proofs can be avoided by using well-founded recursion and induction instead of structural induction. We extend the construction to the simply typed λ-calculus using dependent types, and show that this is an instance of a generalization of Kleisli triples. The proofs for the untyped case have been checked using the LEGO system.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight 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. T. Altenkirch. Constructions, Inductive Types and Strong Normalization. PhD thesis, University of Edinburgh, November 1993.

    Google Scholar 

  2. T. Altenkirch. A formalization of the strong normalization proof for System F in LEGO. In J.F. Groote M. Bezem, editor, Typed Lambda Calculi and Applications, LNCS 664, pages 13–28, 1993.

    Chapter  Google Scholar 

  3. T. Altenkirch. Logical relations and inductive/coinductive types. Proceedings of CSL 98, LNCS 1584, pages 343–354,1998.

    Google Scholar 

  4. T. Altenkirch. Extensional equality in intensional type theory. In Proceedings of LICS 99, pages 412–420, 1999.

    Google Scholar 

  5. M. Abadi and G. Plotkin. A logic for parametric polymorphism. In Typed Lambda Calculi and Applications-TLCA’ 93, pages 361–375, 1993.

    Google Scholar 

  6. F. Bellegarde and J. Hook. Substitution: A formal methods case study using monads and transformations. Science of Computer Programming, 23(2-3), 1994.

    Google Scholar 

  7. R. Bird and L. Meertens. Nested datatypes. In J. Jeuring, editor, Mathematics of Program Construction, number 1422 in LNCS, pages 52–67. Springer Verlag, 1998.

    Chapter  Google Scholar 

  8. R. Bird and R. Paterson. de Bruijn notation as a nested datatype. Journal of Functional Programming, 9:77–91, 1999.

    Article  MathSciNet  Google Scholar 

  9. P. Dybjer. Inductive families. Formal Aspects of Computing, 6(4):440–465, 1994.

    Article  Google Scholar 

  10. M. Emms and H. Leiss. Extending the type checker of Standard ML by polymorphic recursion. TCS, 212(1), 1999.

    Google Scholar 

  11. M. Fiore, G. Plotkin, and D. Turi. Abstract syntax and variable binding. In Proceedings of LICS 99, pages 193–204,1999.

    Google Scholar 

  12. J.-Y. Girard, Y. Lafont, and P. Taylor. Proofs and Types. Cambridge University Press, 1989.

    Google Scholar 

  13. P. Hudak et al. Report on the programming language Haskell: a non-strict, purely functional language (version 1.2). ACM SIGPLAN Notices, 27(5), May 1992.

    Google Scholar 

  14. R. Harper, D. MacQueen, and R. Milner. Standard ML. Technical Report ECS-LFCS-86-2, Department of Computer Science, University of Edinburgh, 1986.

    Google Scholar 

  15. M. Hofmann. Semantics of Logics of Computation, chapter Syntax and Semantics of Dependent Types. Cambridge University Press, 1997.

    Google Scholar 

  16. M. Hofmann. Semantical analysis in higher order abstract syntax. In Proceedings of LICS 99, pages 204–213, 1999.

    Google Scholar 

  17. G. Huet. Constructive computation theory PART I. Notes de cours, 1992.

    Google Scholar 

  18. Z. Luo and R. Pollack. The LEGO proof development system: A user’s manual. LFCS report ECS-LFCS-92-211, University of Edinburgh, 1992.

    Google Scholar 

  19. E. Manes. Algebraic Theories, volume 26 of Graduate Texts in Mathematics. Springer Verlag, 1976.

    Google Scholar 

  20. P. Martin-Löf. Intuitionistic Type Theory. Bibliopolis, 1984.

    Google Scholar 

  21. S. Mac Lane. Categories for the Working Mathematician. Springer Verlag, 1971.

    Google Scholar 

  22. E. Moggi. Notions of computation and monads. Information and Computation, 93(1), 1991.

    Google Scholar 

  23. J. McKinna and R. Pollack. Pure type systems formalized. In Proceedings TLCA’93, LNCS 664, pages 289–305, 1993.

    Google Scholar 

  24. B. Reus and T. Altenkirch. The implementation of the ?-monad in LEGO. Available on the WWW at: http://www.informatik.uni-muenchen.de/~reus/drafts/lambda.html, March 1999.

    Google Scholar 

  25. P. Wadler. Theorems for free! In 4’th Symposium on Functional Programming Languages and Computer Architecture, ACM, London, September 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Altenkirch, T., Reus, B. (1999). Monadic Presentations of Lambda Terms Using Generalized Inductive Types. In: Flum, J., Rodriguez-Artalejo, M. (eds) Computer Science Logic. CSL 1999. Lecture Notes in Computer Science, vol 1683. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48168-0_32

Download citation

  • DOI: https://doi.org/10.1007/3-540-48168-0_32

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66536-6

  • Online ISBN: 978-3-540-48168-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics