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