Hostname: page-component-8448b6f56d-t5pn6 Total loading time: 0 Render date: 2024-04-19T11:30:41.630Z Has data issue: false hasContentIssue false

Strong normalisation in two Pure Pattern Type Systems

Published online by Cambridge University Press:  01 June 2008

BENJAMIN WACK
Affiliation:
LORIA, UMR 7503 CNRS-INPL-INRIA-Nancy2-UHP, Campus Scientifique, BP 239, 54506 Vandoeuvre-lès-Nancy, FRANCE and Université Henri Poincaré Email: Benjamin.Wack@loria.fr
CLÉMENT HOUTMANN
Affiliation:
LORIA, UMR 7503 CNRS-INPL-INRIA-Nancy2-UHP, Campus Scientifique, BP 239, 54506 Vandoeuvre-lès-Nancy, FRANCE and ENS de Cachan and Université Henri Poincaré Email: Clement.Houtmann@loria.fr

Abstract

Pure Pattern Type Systems (P2TS) combine the frameworks and capabilities of rewriting and λ-calculus within a unified setting. Their type systems, which are adapted from Barendregt's λ-cube, are especially interesting from a logical point of view. Until now, strong normalisation, which is an essential property for logical soundness, has only been conjectured: in this paper, we give a positive answer for the simply-typed system and the dependently-typed system.

The proof is based on a translation of terms and types from P2TS into the λ-calculus. First, we deal with untyped terms, ensuring that reductions are faithfully mimicked in the λ-calculus. For this, we rely on an original encoding of the pattern matching capability of P2TS into the System Fω.

Then we show how to translate types: the expressive power of System Fω is needed in order to fully reproduce the original typing judgments of P2TS. We prove that the encoding is correct with respect to reductions and typing, and we conclude with the strong normalisation of simply-typed P2TS terms. The strong normalisation with dependent types is in turn obtained by an intermediate translation into simply-typed terms.

Type
Paper
Copyright
Copyright © Cambridge University Press 2008

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Barendregt, H. P. (1992) Lambda calculi with types. In: Abramsky, S., Gabbay, D. and Maibaum, T. (eds.) Handbook of Logic in Computer Science, Clarendon Press.Google Scholar
Barthe, G., Cirstea, H., Kirchner, C. and Liquori, L. (2003) Pure Patterns Type Systems. In: Principles of Programming Languages – POPL2003, ACM.CrossRefGoogle Scholar
Blanqui, F. (2001) Definitions by rewriting in the calculus of constructions. 16th Annual IEEE Symposium on Logic in Computer Science 9–18.CrossRefGoogle Scholar
Blanqui, F., Jouannaud, J.-P. and Okada, M. (2002) Inductive-data-type systems. Theoretical Computer Science 272 (1–2)4168.CrossRefGoogle Scholar
Cirstea, H. and Kirchner, C. (2000) The typed rewriting calculus. In: Third International Workshop on Rewriting Logic and Application, Kanazawa, Japan.Google Scholar
Cirstea, H., Kirchner, C. and Liquori, L. (2001) The Rho Cube. In: Honsell, F. (ed.) Foundations of Software Science and Computation Structures, Genova, Italy. Springer-Verlag Lecture Notes in Computer Science 2030166180.Google Scholar
Cirstea, H., Kirchner, C., Liquori, L and Wack, B. (2002) The rewriting calculus: some results, some problems. In: Kesner, D., van Raamsdonk, F. and Nipkow, T. (eds.) The first international workshop on Higher-Order Rewriting, FLoC'02, Copenhagen, Denmark. LORIA Internal research report A02-R-470.Google Scholar
Cirstea, H., Liquori, L. and Wack, B. (2003) Rewriting calculus with fixpoints: Untyped and first-order systems. In: Berardi, S., Coppo, M. and Damiani, F. (eds.) International Workshop on Types for Proofs and Programs, TYPES 2003. Springer-Verlag Lecture Notes in Computer Science 3085147161.Google Scholar
Coquand, T. (1992) Pattern matching with dependent types. In: Informal proceedings workshop on types for proofs and programs, Department of Computing Science, Chalmers Univ. of Technology and Göteborg Univ., Båstad, Suède 71–84.Google Scholar
Coquand, Th. and Huet, G. (1988) The calculus of constructions. Information and Computation 76 95120.CrossRefGoogle Scholar
Dowek, G., Hardin, T. and Kirchner, C. (2003) Theorem proving modulo. Journal of Automated Reasoning 31 (1)3372.CrossRefGoogle Scholar
Girard, J.-Y. (1972) Interprétation fonctionnelle et élimination des coupures de l'arithmétique d'ordre supérieur, Thèse de doctorat, Université Paris VII.Google Scholar
Harper, R., Honsell, F. and Plotkin, G. (1993) A framework for defining logics. Journal of the ACM.CrossRefGoogle Scholar
Kesner, D., Puel, L. and Tannen, V. (1996) A typed pattern calculus. Information and Computation 124 (1)3261.CrossRefGoogle Scholar
Kirchner, C. and Klay, F. (1990) Syntactic theories and unification. In: Proceedings 5th IEEE Symposium on Logic in Computer Science 270–277.CrossRefGoogle Scholar
Klop, J., van Oostrom, V. and van Raamsdonk, F. (1993) Combinatory reduction systems: introduction and survey. Theoretical Computer Science 121 279308.Google Scholar
Nipkow, T. and Prehofer, C. (1998) Higher-order rewriting and equational reasoning. In: Bibel, W. and Schmitt, P. (eds.) Automated Deduction – A Basis for Applications. Volume I: Foundations, Kluwer.Google Scholar
Wack, B. (2004) The simply-typed pure pattern type system ensures strong normalization. In: Lévy, J.-J., Mayr, E. and Mitchell, J. (eds.) Third International Conference on Theoretical Computer Science, IFIP TCS'04, Kluwer Academic Publishers 633646.Google Scholar
Werner, B. (1994) Une Théorie des Constructions Inductives, Thèse de doctorat, Université Paris 7.Google Scholar