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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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/
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/
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)
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)
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)
Berkling, K.J.: A symmetric complement to the lambda-calulus. Interner Bericht ISF-76-7, GMD, St. Augustin, Germany (1976)
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)
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)
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)
Bouhoula, A., Jouannaud, J.-P., Meseguer, J.: Specification and proof in membership equational logic. Theoretical Computer Science 236, 35–132 (2000)
Church, A.: A formulation of the simple theory of types. Journal of Symbolic Logic 5(1) (1940)
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
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
Coquand, T.: An algorithm for testing conversion in type theory. In: Huet, G., Plotkin, G.D. (eds.) Logical Frameworks. Cambridge University Press, Cambridge (1991)
Coquand, T., Huet, G.: The calculus of constructions. Information and Computation 76(2/3), 95–120 (1988)
Coquand, T., Paulin-Mohring, C.: Inductively defined types. In: Martin-Löf, P., Mints, G. (eds.) COLOG 1988. LNCS, vol. 417. Springer, Heidelberg (1990)
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)
Feferman, S.: Finitary inductive systems. In: Ferro, R. (ed.) Proceedings of Logic Colloquium 1988, Padova, Italy, pp. 191–220. North-Holland, Amsterdam (1988)
Gardner, P.: Representing Logics in Type Theory. PhD thesis, University of Edinburgh (1992)
Geuvers, H.: Logics and Type Systems. PhD thesis, University of Nijmegen (1993)
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)
Girard, J.Y.: Interpretation fonctionelle et elimination des coupures dans l’arithmetique d’ordre superieur. PhD thesis, Université Paris VII (1972)
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)
Huet, G.: The constructive engine. In: Narasimhan, R. (ed.) A Perspective in Theoretical Computer Science. World Scientific, Singapore (1989)
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
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)
Lescanne, P., Rouyer-Degli, J.: The calculus of explicit substitutions λυ. Technical Report RR-2222, INRIA-Lorraine (January 1994)
Luo, Z.: Computation and Reasoning: A Type Theory for Computer Science. International Series of Monographs on Computer Science. Oxford University Press, Oxford (1994)
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)
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)
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
Martin-Löf, P.: An intuitionistic theory of types. Technical report, University of Stockholm (1972)
McKinna, J., Pollack, R.: Pure type systems formalized. In: Bezem, M., Groote, J.F. (eds.) TLCA 1993. LNCS, vol. 664. Springer, Heidelberg (1993)
Meseguer, J.: General logics. In: Ebbinghaus, H.-D., et al. (eds.) Logic Colloquium 1987, Proceedings, Granada, Spain, pp. 275–329. North-Holland, Amsterdam (1989)
Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science 96, 73–155 (1992)
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)
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)
Paulson, L.C.: Isabelle. LNCS, vol. 828. Springer, Heidelberg (1994)
Pollack, R.: Closure under alpha-conversion. In: Barendregt, H., Nipkow, T. (eds.) TYPES 1993. LNCS, vol. 806, pp. 313–332. Springer, Heidelberg (1994)
Pollack, R.: The Theory of LEGO: A Proof Checker for the Extended Calculus of Constructions. PhD thesis, University of Edinburgh (1994)
Pollack, R.: A verified typechecker. In: Dezani-Ciancaglini, M., Plotkin, G. (eds.) TLCA 1995. LNCS, vol. 902. Springer, Heidelberg (1995)
Reynolds, J.: Towards a theory of type structure. In: Robinet, B. (ed.) Programming Symposium. LNCS, vol. 19. Springer, Heidelberg (1974)
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)
Severi, P.G.: Normalization in Lambda Calculus and its relation to Type Inference. PhD thesis, Eindhoven University of Technology (1996)
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)
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
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/
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/
Terlouw, J.: Een nadere bewijstheoretische analyse van GSTTs. Manuscript, University of Nijmegen, The Netherlands (1989)
van Benthem Jutting, L.S.: Typing in pure type systems. Information and Computation 105, 30–41 (1993)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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