Journal of Automated Reasoning

, Volume 23, Issue 3, pp 373–409 | Cite as

Some Lambda Calculus and Type Theory Formalized

  • James McKinna
  • Robert Pollack
Article

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.

formal mathematics lambda calculus Pure Type Systems type theory LEGO proof checker 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.Google Scholar
  2. 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.Google Scholar
  3. 3.
    Barras, B. et al.: The Coq proof assistant reference manual, INRIA-Rocquencourt, 1998. http://pauillac.inria.fr/coq/.Google Scholar
  4. 4.
    Barras, B.: Coq en Coq, Rapport de Recherche 3026, INRIA, 1996.Google Scholar
  5. 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.Google Scholar
  6. 6.
    Berardi, S.: Type Dependence and Constructive Mathematics, Ph.D. Thesis, Dipartimento di Informatica, Torino, Italy, 1990.Google Scholar
  7. 7.
    Cardelli, L.: F-sub, the system, Technical report, DEC Systems Research Centre, 1991.Google Scholar
  8. 8.
    Coquand, C.: Combinator shared reduction and infinite objects in type theory, 1996. Manuscript obtained from http://www.cs.chalmers.se.Google Scholar
  9. 9.
    Coquand, T.: An algorithm for testing conversion in type theory, in G. Huet and G. Plotkin (eds.), Logical Frameworks, 1991.Google Scholar
  10. 10.
    Coquand, T.: An algorithm for type-checking dependent types, Sci. Comput. Programming 26(1-3) (1996), 167-177.Google Scholar
  11. 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.Google Scholar
  12. 12.
    Feferman, S.: Finitary inductively presented logics, in '88, Padova, North-Holland, 1988.Google Scholar
  13. 13.
    Gabbay, M. and Pitts, A.: A new approach to abstract syntax involving binders, in G. Longo (ed.), LICS'99, Trento, 1999.Google Scholar
  14. 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.Google Scholar
  15. 15.
    Gentzen, G.: The Collected Papers of Gerhard Gentzen, Studies in Logic and the Foundations of Mathematics, North-Holland, 1969. Editor M. Szabo.Google Scholar
  16. 16.
    Geuvers, H.: Logics and Type Systems, Ph.D. Thesis, Department of Mathematics and Computer Science, University of Nijmegen, 1993.Google Scholar
  17. 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. 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.Google Scholar
  19. 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.Google Scholar
  20. 20.
    Huet, G.: Residual theory in λ-calculus: A formal development, J. Funct. Programming 4(3) (1994), 371-394.Google Scholar
  21. 21.
    Jones, C. and Pollack, R.: Incremental changes in LEGO: 1993. See [24].Google Scholar
  22. 22.
    Kleene, S. C.: Introduction to Metamathematics, Nostrand, Princeton, 1952.Google Scholar
  23. 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.Google Scholar
  24. 24.
    LEGO: The LEGO Proof Assistant WWWpage, 1998. http://www.dcs.ed.ac.uk/home/lego/.Google Scholar
  25. 25.
    Luo, Z.: Program specification and data refinement in type theory, in '91, Vol. 1, 1991, pp. 143-168.Google Scholar
  26. 26.
    Luo, Z.: Computation and Reasoning: A Type Theory for Computer Science, International Series of Monographs on Computer Science, Oxford University Press, 1994.Google Scholar
  27. 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].Google Scholar
  28. 28.
    Martin-Löf, P.: A theory of types, Technical Report 71-3, University of Stockholm, 1971.Google Scholar
  29. 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.Google Scholar
  30. 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.Google Scholar
  31. 31.
    Mitschke, G.: The standardisation theorem for λ-calculus, Z. Math. Logik Grund. Math. 25 (1979), 29-31.Google Scholar
  32. 32.
    Nipkow, T.: More Church-Rosser proofs (in Isabelle/HOL), in Automated Deduction - CADE-13, LNCS 1104, 1996, pp. 733-747.Google Scholar
  33. 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.Google Scholar
  34. 34.
    Plotkin, G.: Call-by-name, call-by-value, and the λ-calculus, Theoret. Comput. Sci. 1 (1975).Google Scholar
  35. 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.Google Scholar
  36. 36.
    Pollack, R.: The Theory of LEGO: A Proof Checker for the Extended Calculus of Constructions, Ph.D. Thesis, University of Edinburgh, 1994.Google Scholar
  37. 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.Google Scholar
  38. 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.Google Scholar
  39. 39.
    Prawitz, D.: Natural Deduction; A Proof-Theoretical Study, Stockholm Studies in Philosophy 3, Almqvist and Wiksell, 1965.Google Scholar
  40. 40.
    Reus, B.: Program Verification in Synthetic Domain Theory, Ph.D. Thesis, Ludwig-Maximilians-Universität München, 1995.Google Scholar
  41. 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.Google Scholar
  42. 42.
    Sato, M.: Theory of symbolic expressions, I, Theoret. Comput. Sci. 22 (1983), 19-55.Google Scholar
  43. 43.
    Schreiber, T.: Auxiliary variables and recursive procedures, in TAPSOFT'97, LNCS 1214, 1997.Google Scholar
  44. 44.
    Shankar, N.: A mechanical proof of the church-rosser theorem, J. ACM 35(3) (1988), 475-522.Google Scholar
  45. 45.
    Stoughton, A.: Substitution revisited, Theoret. Comput. Sci. 17 (1988), 317-325.Google Scholar
  46. 46.
    Takahashi, M.: Parallel reductions in λ-calculus (Revised version), Inform. and Comput. 118(1) (1995), 120-127.Google Scholar
  47. 47.
    Tasistro, A.: Formulation of Martin-Löf' theory of types with explicit substitutions, Master' thesis, Chalmers University of Technology.Google Scholar
  48. 48.
    van Benthem Jutting, L.: Typing in Pure Type Systems, Inform. and Comput. 105(1) (1993), 30-41.Google Scholar
  49. 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.Google Scholar

Copyright information

© Kluwer Academic Publishers 1999

Authors and Affiliations

  • James McKinna
    • 1
  • Robert Pollack
    • 1
  1. 1.Department of Computer ScienceUniversity of DurhamU.K

Personalised recommendations