Skip to main content
Log in

Using typed lambda calculus to implement formal systems on a machine

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

Abstract

Much research has been devoted in building computer systems for checking proofs or for developing interactively correct proofs in specific logical systems. However, implementing a proof environment for a specific logical system is both complex and time-consuming, this-together with the proliferation of logics-suggests that a uniform and reliable alternative is desirable. One such alternative is the Edinburgh Logical Framework (LF), developed in the late eighties at the LFCS (Laboratory for Foundations of Computer Science). The LF is a logic-independent tool which, given a specification for a logical system, synthesizes a proof editor and checker for that system. Its specification language is based on a general theory of logics, which enables one to capture uniformities and idiosyncrasies of a large class of logics without sacrificing generality for tractability. Peculiarities (such as side conditions on rule application, variable occurrence or formula formation) are expressed at the level of the specification. In this paper we are going to provide a broad illustration of its applicability and discuss to what extent it is successful. The analysis (of the formal presentation) of a system carried out through encoding often illuminates the system itself. This paper will also deal with this phenomenon.

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. AvronArnon, ‘Simple consequence relations’, Information and Computation 92, 105–139 (1991).

    Google Scholar 

  2. AvronArnon, ‘The semantics and proof theory of linear logic’, Theoretical Computer Science 57, 161–184 (1988).

    Article  Google Scholar 

  3. Avron, Arnon, ‘Modal logics in the Edinburgh LF’, in [4].

  4. Avron, A., Harper, R., Honsell, F., Mason, I. and Plotkin, G. (Eds.), Workshop on General Logic-Edinburgh 1987. Technical Report, Laboratory for the Foundations of Computer Science, Edinburgh University (1988). ECS-LFCS-88-52.

  5. Avron, A., Honsell, F. and I. Mason, ‘An overview of the Edinburgh Logical Framework’, in: Current Trends in Hardware Verifications and Automated Theorem Proving. (Eds. G. Birtwistle and P. A. Subramanyam), Springer-Verlag (1989).

  6. Avron, A. and Honsell, F. and I. A. Mason, Using Typed Lambda Calculus to Implement Formal Systems on a Machine. Technical Report, Laboratory for Foundations of Computer Science, University of Edinburgh, ECS-LFCS-87-31 (1987).

  7. Barendregt, H., The Lambda Calculus — Its Syntax and Semantics, revised edition. North Holland (1984).

  8. BarringerH., ChengJ. H. and JonesC. B., ‘A logic covering undefinedness in program proofs’, Acta Informatics 21, 251–269 (1984).

    Article  Google Scholar 

  9. de Bruijn, Nicolas G., ‘A survey of the project AUTOMATH’, in: To H. B. Curry: Essays in Combinatory Logic, Lambda Calculus, and Formalism, Eds. J. P. Seldin and J. R. Hindley, pp. 589–606, Academic Press (1980).

  10. ChurchAlonzo, ‘A formulation of the simple theory of types’, J. Symbolic Logic 5, 56–68 (1940).

    Google Scholar 

  11. ConstableRobert L. et al., Implementing Mathematics with the NuPRL Proof Development System, Prentice-Hall, Englewood Cliffs, NJ (1986).

    Google Scholar 

  12. Coquand, Thierry, Une théorie des constructions, Thèse de Troisième Cycle, Université Paris VII, January (1985).

  13. Coquand, Thierry, Dowek, Gilles, Huet, Gérard and Paulin-Mohring, Christine, The Calculus of Constructions: Documentation and User's Guide. Projet Formel, INRIA-ENS, July (1989).

  14. Coquand, Thierry and Huet, Gérard, ‘Constructions: a higher-order proof system for mechanizing mathematics’, In EUROCAL '85: European Conference on Computer Algebra (ed. B. Buchberger), pp. 151–184, Springer-Verlag (1985).

  15. CoquandThierry and HuetGérard, The calculus of constructions’, Information and Control 76, 95–120 (1988).

    Google Scholar 

  16. Fagin, R., Halpern, J. Y. and Vardi, M., ‘What is an inference rule?’ To appear in J. Symbolic Logic.

  17. Felty, Amy, Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language, Ph.D. thesis, University of Pennsylvania, August (1989).

  18. Felty, Amy and Miller, Dale, ‘Specifying theorem provers in a higher-order logic programming language’, in Ninth International Conference on Automated Deduction, Argonne, Il, May (1988).

  19. Felty, Amy and Miller, Dale, ‘Encoding a dependent-type λ-calculus in a logic programming language’, in Tenth International Conference on Automated Deduction, Kaiserslautern, Germany, July (1990).

  20. Dezani, Mariangiola, Honsell, Furio and Ronchi della Rocca, Simonetta, ‘Models for theories of functions strictly depending on all their arguments’, J. Symbolic Logic 51(3) (1986) Abstract.

  21. GirardJean-Yves, ‘Linear logic’, Theoretical Computer Science 50, 1 (1987).

    Article  Google Scholar 

  22. GordonMichael, MilnerRobin and WadsworthChristopher, ‘Edinburgh LCF: A Mechanized Logic of Computation. Volume 78 of Lecture Notes in Computer Science, Springer-Verlag, Heidelberg (1979).

    Google Scholar 

  23. Griffin, Timothy, An Environment for Formal Systems. Technical Report, Laboratory for the Foundations of Computer Science, Edinburgh University (1987) ECS-LFCS-87-34.

  24. Harper, Robert, Honsell, Furio and Plotkin, Gordon, ‘A framework for defining logics, Proceedings of the Second Annual Symposium on Logic in Computer Science, Cornell (1987) (the full version will appear in J. ACM).

  25. Huet, G. and Plotkin, G. (Eds.), Logical Frameworks, Cambridge University Press (1991).

  26. Jutting, L. S., Checking Landau's Grundlagen in the AUTOMATH System. Ph.D. thesis, Eindhoven University, The Netherlands (1977).

  27. Kröger, Fred, Temporal Logic of Programs. Volume 8 of EATCS Monographs on Theoretical Computer Science, Springer-Verlag (1987).

  28. Luo, Zhaohui, ‘ECC, an extended calculus of constructions’, Proceedings of the Fourth Annual Symposium on Logic in Computer Science, Pacific Grove (1989).

  29. Luo, Zhaolui, Pollack, Robert and Taylor, Paul, ‘How to use LEGO; A preliminary user's manual, Laboratory for the Foundations of Computer Science, Edinburgh University, April (1989).

  30. Martin-LöfPer, ‘An intuitionistic theory of types: predicative part’, in Logic Colloquium, '73 (H. E.Rose and J. C.Shepherdson, eds.), pp. 73–118, North-Holland, Amsterdam (1973).

    Google Scholar 

  31. Martin-Löf, Per, On the Meanings of the Logical Constants and the Justifications of the Logics Laws. Technical Report 2, Scuola di Specializzazione in Logica Matematics, Dipartimento di Matematics, Università di Siena (1985).

  32. Mason, Ian A., Hoare's Logic in the LF. Technical Report, Laboratory for the Foundations of Computer Science, Edinburgh University (1987). ECS-LFCS-87-32.

  33. Miller, Dale, Solutions to λ-Term Equations Under a Mixed Prefix. Unpublished draft, Department of Computer and Information Sciences, University of Pennsylvania, January (1989).

  34. Meyer, Albert and Reinhold, Mark, ‘“Type” is not a type: preliminary report’, in Proceedings of the 13th ACM Symposium on the Principles of Programming Languages (1986).

  35. NordströmBengt, PeterssonKent and SmithJan, An Introduction to Martin-Löf's Type Theory. University of Göteborg, Göteborg, Sweden (1986). Preprint.

    Google Scholar 

  36. Ore, Christian-Emil, On Natural Deduction Style Semantics, Environments and Stores. Technical Report, Laboratory for the Foundations of Computer Science, Edinburgh University (1989). ECS-LFCS-89-88.

  37. PaulsonLawrence, ‘Natural deduction proof as higher-order resolution’, J. Logic Programming 3, 237–258 (1986).

    Article  Google Scholar 

  38. Paulson, Lawrence, The Foundation of a Generic Theorem Prover. Technical Report 130, University of Cambridge Computer Laboratory, March (1988).

  39. Petersson, Kent, A Programming System for Type Theory. Technical Report 21, Programming Methodology Group, University of Göteborg/Chalmers Institute of Technology, March (1982).

  40. Pfenning, Frank, Partial polymorphic type inference and higher-order unification’, Proceedings of the 1988 ACM Lips and Functional Programming Conference.

  41. Pfenning, Frank, ‘ELf: A language for logic definition and verified metaprogramming’, Proceedings of the Fourth Annual Symposium on Logic in Computer Science, Pacific Grove (1989).

  42. Pfenning, Frank, ‘Logic programming in the LF logical framework’, in [25].

  43. PlotkinGordon, ‘Call-by-name, call-by-value and the λ-calculus’, Theoretical Computer Science 1, 125–159 (1975).

    Article  Google Scholar 

  44. Pollack, Robert, The Theory of LEGO. Technical Report, Laboratory for the Foundations of Computer Science, Edinburgh University (1989). In preparation.

  45. PrawitzDag, Natural Deduction: A Proof-Theoretical Study. Almquist & Wiksell, Stockholm (1965).

    Google Scholar 

  46. Pym, David, Proofs, Search and Computation in General Logic. Ph.D. Dissertation, University of Edinburgh, In Preparation (1989).

  47. Pym, David and Wallen, Lincoln, Effective Search for the Logical Framework. Technical Report, Laboratory for the Foundations of Computer Science, Edinburgh University. In preparation (1989).

  48. Reynolds, J. C., ‘Syntactic control of Interference’, Conference Record of the Fifth Annual Symposium on Principles of Programming Languages, Tucson (1978).

  49. Salvesen, Anne, ‘A proof of the Church-Rosser property for the Edinburgh LF with eta-conversion’, Proceedings of the first Workshop on Logical Frameworks, Sophia Antipolis (1990).

  50. SchoenfieldJoseph R., Mathematical Logic, Addison-Wesley, Reading, Massachusetts (1967).

    Google Scholar 

  51. StirlingColin, ‘Modal logics for communicating systems’, Theoretical Computer Science 49, 311–347 (1987).

    Article  Google Scholar 

  52. Taylor, Paul, Playing with LEGO: Some Examples of Developing Mathematics in the Calculus of Constructions. Technical Report, Laboratory for the Foundations of Computer Science, Edinburgh University (1989). ECS-LFCS-89-89.

  53. Weis, Pierre et al., The CAML Reference Manual, Version 2.6, Projet Formel, INRIA-ENS, March (1989).

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Avron, A., Honsell, F., Mason, I.A. et al. Using typed lambda calculus to implement formal systems on a machine. Journal of Automated Reasoning 9, 309–354 (1992). https://doi.org/10.1007/BF00245294

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00245294

Key words

Navigation