Skip to main content

Pure Type Systems in Rewriting Logic: Specifying Typed Higher-Order Languages in a First-Order Logical Framework

  • Chapter
From Object-Orientation to Formal Methods

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

Abstract

The logical and operational aspects of rewriting logic as a logical framework are tested and illustrated in detail by representing pure type systems as object logics. More precisely, we apply membership equational logic, the equational sublogic of rewriting logic, to specify pure type systems as they can be found in the literature and also a new variant of pure type systems with explicit names that solves the problems with closure under α-conversion in a very satisfactory way. Furthermore, we use rewriting logic itself to give a formal operational description of type checking, that directly serves as an efficient type checking algorithm. The work reported here is part of a more ambitious project concerned with the development of the open calculus of constructions, an equational extension of the calculus of constructions that incorporates rewriting logic as a computational sublanguage.

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. Barendregt, H.P.: Lambda-calculi with types. In: Abramsky, S., Gabbay, D.M., Maibaum, T.S.E. (eds.) Background: Computational Structures. Handbook of Logic in Computer Science, vol. 2. Claredon Press, Oxford (1992)

    Google Scholar 

  2. Barras, B., Boutin, S., Cornes, C., Courant, J., Coscoy, Y., Delahaye, D., de Rauglaudre, D., Filliatre, J.C., Giménez, E., Herbelin, H., Huet, G., Laulhère, H., Muñoz, C., Murthy, C., Parent-Vigouroux, C., Loiseleur, P., Paulin, C., Saïbi, A., Werner, B.: The Coq Proof Assistent Reference Manual, Version 6.3.1, Coq Project. Technical report, INRIA (1999), http://logical.inria.fr/

  3. Basin, D., Clavel, M., Meseguer, J.: Reflective metalogical frameworks. In: LFM 1999: Workshop on Logical Frameworks and Meta-languages, Proceedings, Paris, France, September 28 (1999), http://plan9.bell-labs.com/who/felty/LFM99/

  4. Basin, D., Clavel, M., Meseguer, J.: Rewriting logic as a metalogical framework. In: Kapoor, S., Prasad, S. (eds.) FST TCS 2000. LNCS, vol. 1974, pp. 55–80. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  5. Benaissa, Z., Briaud, D., Lescanne, P., Rouyer-Degli, J.: λυ, a calculus of explicit substitutions which preserves strong normalisation. Journal of Functional Programming 6(5), 699–722 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  6. Berardi, S.: Towards a mathematical analysis of the Coquand-Huet calculus of constructions and other systems in Barendregt’s cube. Technical report, Carnegie Mellon University and Universita di Torino (1988)

    Google Scholar 

  7. Berkling, K.J.: A symmetric complement to the lambda-calulus. Interner Bericht ISF-76-7, GMD, St. Augustin, Germany (1976)

    Google Scholar 

  8. Berkling, K.J., Fehr, E.: A consistent extension of the lambda-calculus as a base for functional programming languages. Information and Control 55, 89–101 (1982)

    Article  MATH  MathSciNet  Google Scholar 

  9. Blanqui, F., Jouannaud, J.-P., Okada, M.: The calculus of algebraic constructions. In: Narendran, P., Rusinowitch, M. (eds.) RTA 1999. LNCS, vol. 1631, p. 301. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  10. Bouhoula, A., Jouannaud, J.-P., Meseguer, J.: Specification and proof in membership equational logic. In: Bidoit, M., Dauchet, M. (eds.) CAAP 1997, FASE 1997, and TAPSOFT 1997. LNCS, vol. 1214, Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  11. Bouhoula, A., Jouannaud, J.-P., Meseguer, J.: Specification and proof in membership equational logic. Theoretical Computer Science 236, 35–132 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  12. Church, A.: A formulation of the simple theory of types. Journal of Symbolic Logic 5(1) (1940)

    Google Scholar 

  13. Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Quesada, J.: Maude: Specification and Programming in Rewriting Logic. SRI International (January 1999), http://maude.csl.sri.com

  14. Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Quesada, J.: A tutorial on maude (March 2000), http://maude.csl.sri.com

  15. Coquand, T.: An algorithm for testing conversion in type theory. In: Huet, G., Plotkin, G.D. (eds.) Logical Frameworks. Cambridge University Press, Cambridge (1991)

    Google Scholar 

  16. Coquand, T., Huet, G.: The calculus of constructions. Information and Computation 76(2/3), 95–120 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  17. Coquand, T., Paulin-Mohring, C.: Inductively defined types. In: Martin-Löf, P., Mints, G. (eds.) COLOG 1988. LNCS, vol. 417. Springer, Heidelberg (1990)

    Google Scholar 

  18. de Bruijn, N.G.: Lambda calculus with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem. In: Proceedings Kninkl. Nederl. Akademie van Wetenschappen, vol. 75(5), pp. 381–392 (1972)

    Google Scholar 

  19. Feferman, S.: Finitary inductive systems. In: Ferro, R. (ed.) Proceedings of Logic Colloquium 1988, Padova, Italy, pp. 191–220. North-Holland, Amsterdam (1988)

    Google Scholar 

  20. Gardner, P.: Representing Logics in Type Theory. PhD thesis, University of Edinburgh (1992)

    Google Scholar 

  21. Geuvers, H.: Logics and Type Systems. PhD thesis, University of Nijmegen (1993)

    Google Scholar 

  22. Geuvers, H., Nederhof, M.-J.: A modular proof of strong normalization for the calculus of constructions. Journal of Functional Programming 1(2), 155–189 (1991)

    MATH  MathSciNet  Google Scholar 

  23. Girard, J.Y.: Interpretation fonctionelle et elimination des coupures dans l’arithmetique d’ordre superieur. PhD thesis, Université Paris VII (1972)

    Google Scholar 

  24. Harper, R., Honsell, F., Plotkin, G.: A framework for defining logics. In: Second Annual Symposium on Logic in Computer Science, Proceedings, Ithaca, New York, pp. 193–204. IEEE, Los Alamitos (1987)

    Google Scholar 

  25. Huet, G.: The constructive engine. In: Narasimhan, R. (ed.) A Perspective in Theoretical Computer Science. World Scientific, Singapore (1989)

    Google Scholar 

  26. Jouannaud, J.-P.: Membership equational logic, calculus of inductive constructions, and rewrite logic. In: International Workshop on Rewriting Logic and its Applications Abbaye des Prémontrés at Pont-à-Mousson, Proceedings, France, September 1998. Electronic Notes in Theoretical Computer Science, vol. 15. Elsevier, Amsterdam (1998), http://www.elsevier.nl/locate/entcs/volume15.html

    Google Scholar 

  27. Lescanne, P.: From λσ to λυ, a journey through calculi of explicit substitutions. In: Boehm, H. (ed.) Conference Record of POPL 1994: 21st ACM SIGPLANSIGACT Symposium on Principles of Programming Languages, Portland, Oregon, pp. 60–69. ACM, New York (1994)

    Chapter  Google Scholar 

  28. Lescanne, P., Rouyer-Degli, J.: The calculus of explicit substitutions λυ. Technical Report RR-2222, INRIA-Lorraine (January 1994)

    Google Scholar 

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

    MATH  Google Scholar 

  30. Magnussen, L.: The Implementation of ALF – A Proof Editor based on Martin-Löf’s Monomorphic Type Theory with Explicit Substitutions. PhD thesis, University of Göteborg, Department of Computer Science (1994)

    Google Scholar 

  31. Martí-Oliet, N., Meseguer, J.: General logics and logical frameworks. In: Gabbay, D. (ed.) What is a Logical System?, pp. 355–392. Oxford University Press, Oxford (1994)

    Google Scholar 

  32. Martí-Oliet, N., Meseguer, J.: Rewriting logic as a logical and semantic framework. In: RWLW 1996, First International Workshop on Rewriting Logic and its Applications Asilomar Conference Center, Proceedings, Pacific Grove, CA, USA. Electronic Notes in Theoretical Computer Science, vol. 4. Elsevier, Amsterdam (1996), http://www.elsevier.nl/locate/entcs/volume4.html

    Google Scholar 

  33. Martin-Löf, P.: An intuitionistic theory of types. Technical report, University of Stockholm (1972)

    Google Scholar 

  34. McKinna, J., Pollack, R.: Pure type systems formalized. In: Bezem, M., Groote, J.F. (eds.) TLCA 1993. LNCS, vol. 664. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  35. Meseguer, J.: General logics. In: Ebbinghaus, H.-D., et al. (eds.) Logic Colloquium 1987, Proceedings, Granada, Spain, pp. 275–329. North-Holland, Amsterdam (1989)

    Chapter  Google Scholar 

  36. Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science 96, 73–155 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  37. Meseguer, J.: Membership algebra as a logical framework for equational specification. In: Parisi-Presicce, F. (ed.) WADT 1997. LNCS, vol. 1376, pp. 18–61. Springer, Heidelberg (1998)

    Google Scholar 

  38. O’Donnell, M.J.: Computing in systems descibed by equations. In: Fundamentals of Computation Theory, International Conference, Proceedings, Poznañ-Kornik, Poland. LNCS, vol. 58. Springer, Heidelberg (1977)

    Google Scholar 

  39. Paulson, L.C.: Isabelle. LNCS, vol. 828. Springer, Heidelberg (1994)

    Book  MATH  Google Scholar 

  40. Pollack, R.: Closure under alpha-conversion. In: Barendregt, H., Nipkow, T. (eds.) TYPES 1993. LNCS, vol. 806, pp. 313–332. Springer, Heidelberg (1994)

    Google Scholar 

  41. Pollack, R.: The Theory of LEGO: A Proof Checker for the Extended Calculus of Constructions. PhD thesis, University of Edinburgh (1994)

    Google Scholar 

  42. Pollack, R.: A verified typechecker. In: Dezani-Ciancaglini, M., Plotkin, G. (eds.) TLCA 1995. LNCS, vol. 902. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  43. Reynolds, J.: Towards a theory of type structure. In: Robinet, B. (ed.) Programming Symposium. LNCS, vol. 19. Springer, Heidelberg (1974)

    Google Scholar 

  44. Schürmann, C., Pfenning, F.: Automated theorem proving in a simple meta-logic for LF. In: Kirchner, C., Kirchner, H. (eds.) CADE 1998. LNCS (LNAI), vol. 1421, pp. 286–300. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  45. Severi, P.G.: Normalization in Lambda Calculus and its relation to Type Inference. PhD thesis, Eindhoven University of Technology (1996)

    Google Scholar 

  46. Stehr, M.-O.: CINNI - A New Calculus of Explicit Substitutions and its Application to Pure Type Systems. Manuscript, CSL, SRI-International, Menlo Park, CA, USA (1999)

    Google Scholar 

  47. Stehr, M.-O.: CINNI – A Generic Calculus of Explicit Substitutions and its Application to λ-, σ- and π-calculi. In: Futatsugi, K. (ed.) The 3rd International Workshop on Rewriting Logic and its Applications Kanazawa City Cultural Hall. Proceedings, Kanzawa Japan. Electronic Notes in Theoretical Computer Science, vol. 36, pp. 71–92. Elsevier, Amsterdam (2000), http://www.elsevier.nl/locate/entcs/volume36.html Extended version at http://www.csl.sri.com/~stehr

  48. Stehr, M.-O.: Programming, Specification, and Interactive Theorem Proving — Towards a Unified Language based on Equational Logic, Rewriting Logic, and Type Theory. Doctoral Thesis, Universität Hamburg, Fachbereich Informatik, Germany (2002), http://www.sub.uni-hamburg.de/disse/810/

  49. Stehr, M.-O., Meseguer, J.: Pure type systems in rewriting logic. In: LFM 1999: Workshop on Logical Frameworks and Meta-languages. Proceedings, Paris, France, September 28 (1999), http://plan9.bell-labs.com/who/felty/LFM99/

  50. Terlouw, J.: Een nadere bewijstheoretische analyse van GSTTs. Manuscript, University of Nijmegen, The Netherlands (1989)

    Google Scholar 

  51. van Benthem Jutting, L.S.: Typing in pure type systems. Information and Computation 105, 30–41 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  52. van Benthem Jutting, L.S., McKinna, J., Pollack, R.: Checking algorithms for pure type systems. In: Barendregt, H., Nipkow, T. (eds.) TYPES 1993. LNCS, vol. 806, pp. 19–61. Springer, Heidelberg (1994)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Stehr, MO., Meseguer, J. (2004). Pure Type Systems in Rewriting Logic: Specifying Typed Higher-Order Languages in a First-Order Logical Framework. In: Owe, O., Krogdahl, S., Lyche, T. (eds) From Object-Orientation to Formal Methods. Lecture Notes in Computer Science, vol 2635. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39993-3_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39993-3_16

  • Publisher Name: Springer, Berlin, Heidelberg

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

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics