Skip to main content
Log in

Some Lambda Calculus and Type Theory Formalized

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

We survey a substantial body of knowledge about lambda calculus and Pure Type Systems, formally developed in a constructive type theory using the LEGO proof system. On lambda calculus, we work up to an abstract, simplified proof of standardization for beta reduction that does not mention redex positions or residuals. Then we outline the meta theory of Pure Type Systems, leading to the strengthening lemma. One novelty is our use of named variables for the formalization. Along the way we point out what we feel has been learned about general issues of formalizing mathematics, emphasizing the search for formal definitions that are convenient for formal proof and convincingly represent the intended informal concepts.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Altenkirch, T.: A formalization of the strong normalization proof for System F in LEGO, in Proceedings of the International Conference on Typed Lambda Calculi and Applications, TLCA'93, LNCS 664, 1993.

  2. Barendregt, H.: Lambda calculi with types, in Abramsky, Gabbai, and Maibaum (eds.), Handbook of Logic in Computer Science, Vol. II, Oxford University Press, 1992.

  3. Barras, B. et al.: The Coq proof assistant reference manual, INRIA-Rocquencourt, 1998. http://pauillac.inria.fr/coq/.

  4. Barras, B.: Coq en Coq, Rapport de Recherche 3026, INRIA, 1996.

  5. Barthe, G. and Melliès. P.-A.: On the subject reduction property for algebraic type systems, in CSL'96: Proceedings of the 10th Annual Conference of the European Association for Computer Science Logic, Utrecht, LNCS 1258, 1997, pp. 34-57.

  6. Berardi, S.: Type Dependence and Constructive Mathematics, Ph.D. Thesis, Dipartimento di Informatica, Torino, Italy, 1990.

    Google Scholar 

  7. Cardelli, L.: F-sub, the system, Technical report, DEC Systems Research Centre, 1991.

  8. Coquand, C.: Combinator shared reduction and infinite objects in type theory, 1996. Manuscript obtained from http://www.cs.chalmers.se.

  9. Coquand, T.: An algorithm for testing conversion in type theory, in G. Huet and G. Plotkin (eds.), Logical Frameworks, 1991.

  10. Coquand, T.: An algorithm for type-checking dependent types, Sci. Comput. Programming 26(1-3) (1996), 167-177.

    Google Scholar 

  11. Dowek, G. and Boyer, R.: Towards checking proof checkers, in H. Geuvers (ed.), Informal Proceedings of the Nijmegen Workshop on Types for Proofs and Programs, 1993.

  12. Feferman, S.: Finitary inductively presented logics, in '88, Padova, North-Holland, 1988.

  13. Gabbay, M. and Pitts, A.: A new approach to abstract syntax involving binders, in G. Longo (ed.), LICS'99, Trento, 1999.

  14. Gallier, J.: On Girard' “Candidats de reductibilit é, in P. Odifreddi (ed.), Logic and Computer Science, APIC Studies in Data Processing 31, Academic Press, 1990, pp. 123-203.

  15. Gentzen, G.: The Collected Papers of Gerhard Gentzen, Studies in Logic and the Foundations of Mathematics, North-Holland, 1969. Editor M. Szabo.

  16. Geuvers, H.: Logics and Type Systems, Ph.D. Thesis, Department of Mathematics and Computer Science, University of Nijmegen, 1993.

  17. Geuvers, H. and Nederhof, M.-J.: A modular proof of strong normalization for the calculus of constructions, J. Funct. Programming 1(2) (1991), 155-189.

    Google Scholar 

  18. Gordon, A. and Melham, T.: Five axioms of alpha conversion, in Von Wright, Grundy, and Harrison (eds.), Ninth Conference on Theorem Proving in Higher Order Logics TPHOL'96, Turku, LNCS 1125, 1996, pp. 173-190.

  19. Huet, G.: The constructive engine, in R. Narasimhan (ed.), A Perspective in Theoretical Computer Science, World Scientific Publishing, 1989. Commemorative Volume for Gift Siromoney.

  20. Huet, G.: Residual theory in λ-calculus: A formal development, J. Funct. Programming 4(3) (1994), 371-394.

    Google Scholar 

  21. Jones, C. and Pollack, R.: Incremental changes in LEGO: 1993. See [24].

  22. Kleene, S. C.: Introduction to Metamathematics, Nostrand, Princeton, 1952.

    Google Scholar 

  23. Kleymann, T.: Hoare Logic and VDM: Machine-Checked Soundness and Completeness Proofs, Ph.D. Thesis, Edinburgh Univ., 1998. LFCS Technical Report ECS-LFCS-98-392.

  24. LEGO: The LEGO Proof Assistant WWWpage, 1998. http://www.dcs.ed.ac.uk/home/lego/.

  25. Luo, Z.: Program specification and data refinement in type theory, in '91, Vol. 1, 1991, pp. 143-168.

    Google Scholar 

  26. Luo, Z.: Computation and Reasoning: A Type Theory for Computer Science, International Series of Monographs on Computer Science, Oxford University Press, 1994.

  27. Luo, Z. and Pollack, R.: LEGO proof development system: User' manual, Technical Report ECS-LFCS-92-211, Computer Science Dept., Univ. of Edinburgh, 1992. Updated version. See [24].

  28. Martin-Löf, P.: A theory of types, Technical Report 71-3, University of Stockholm, 1971.

  29. McBride, C.: Inverting inductively defined relations in LEGO, in E. Gimnez and C. Paulin-Mohring (eds.), TYPES'96: Workshop on Types for Proofs and Programs, Aussois; Selected Papers, 1998, to appear.

  30. McKinna, J. and Pollack, R.: Pure Type Systems formalized, in M. Bezem and J. F. Groote (eds.); Proceedings of the International Conference on Typed Lambda Calculi and Applications, TLCA'93, Utrecht, 1993, pp. 289-305.

  31. Mitschke, G.: The standardisation theorem for λ-calculus, Z. Math. Logik Grund. Math. 25 (1979), 29-31.

    Google Scholar 

  32. Nipkow, T.: More Church-Rosser proofs (in Isabelle/HOL), in Automated Deduction - CADE-13, LNCS 1104, 1996, pp. 733-747.

  33. Pfenning, F.: A proof of the Church-Rosser theorem and its representation in a logical framework, Technical Report CMU-CS-92-186, Carnegie Mellon University, 1992.

  34. Plotkin, G.: Call-by-name, call-by-value, and the λ-calculus, Theoret. Comput. Sci. 1 (1975).

  35. Pollack, R.: Closure under alpha-conversion, in H. Barendregt and T. Nipkow (eds.), TYPES'93: Workshop on Types for Proofs and Programs, Nijmegen, May 1993, Selected Papers, LNCS 806, 1994, pp. 313-332.

  36. Pollack, R.: The Theory of LEGO: A Proof Checker for the Extended Calculus of Constructions, Ph.D. Thesis, University of Edinburgh, 1994.

  37. Pollack, R.: A verified typechecker, in M. Dezani-Ciancaglini and G. Plotkin (eds.), Proceedings of the Second International Conference on Typed Lambda Calculi and Applications, TLCA'95, Edinburgh, 1995.

  38. Pollack, R.: How to believe a machine-checked proof, in G. Sambin and J. Smith (eds.), Twenty Five Years of Constructive Type Theory, Oxford Univ. Press, 1998.

  39. Prawitz, D.: Natural Deduction; A Proof-Theoretical Study, Stockholm Studies in Philosophy 3, Almqvist and Wiksell, 1965.

  40. Reus, B.: Program Verification in Synthetic Domain Theory, Ph.D. Thesis, Ludwig-Maximilians-Universität München, 1995.

  41. Reus, B.: Synthetic domain theory in type theory: Another logic of computable functions, in Theorem Proving in Higher Order Logics: 9th International Conference, TPHOLs'96, LNCS 1125, 1996, pp. 363-381.

  42. Sato, M.: Theory of symbolic expressions, I, Theoret. Comput. Sci. 22 (1983), 19-55.

    Google Scholar 

  43. Schreiber, T.: Auxiliary variables and recursive procedures, in TAPSOFT'97, LNCS 1214, 1997.

  44. Shankar, N.: A mechanical proof of the church-rosser theorem, J. ACM 35(3) (1988), 475-522.

    Google Scholar 

  45. Stoughton, A.: Substitution revisited, Theoret. Comput. Sci. 17 (1988), 317-325.

    Google Scholar 

  46. Takahashi, M.: Parallel reductions in λ-calculus (Revised version), Inform. and Comput. 118(1) (1995), 120-127.

    Google Scholar 

  47. Tasistro, A.: Formulation of Martin-Löf' theory of types with explicit substitutions, Master' thesis, Chalmers University of Technology.

  48. van Benthem Jutting, L.: Typing in Pure Type Systems, Inform. and Comput. 105(1) (1993), 30-41.

    Google Scholar 

  49. van Benthem Jutting, L., McKinna, J. and Pollack, R.: Checking algorithms for Pure Type Systems, in H. Barendregt and T. Nipkow (eds.), TYPES'93: Workshop on Types for Proofs and Programs, Nijmegen, May 1993, Selected Papers, LNCS 806, 1994, pp. 19-61.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

McKinna, J., Pollack, R. Some Lambda Calculus and Type Theory Formalized. Journal of Automated Reasoning 23, 373–409 (1999). https://doi.org/10.1023/A:1006294005493

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1006294005493

Navigation