Pure patterns type systems

We introduce a new framework of algebraic pure type systems in which we consider rewrite rules as lambda terms with patterns and rewrite rule application as abstraction application with built-in matching facilities. This framework, that we call "Pure Pattern Type Systems", is particularly well-suited for the foundations of programming (meta)languages and proof assistants since it provides in a fully unified setting higher-order capabilities and pattern matching ability together with powerful type systems. We prove some standard properties like confluence and subject reduction for the case of a syntactic theory and under a syntactical restriction over the shape of patterns. We also conjecture the strong normalization of typable terms. This work should be seen as a contribution to a formal connection between logics and rewriting, and a step towards new proof engines based on the Curry-Howard isomorphism.

[1]  Jan Willem Klop,et al.  Combinatory reduction systems , 1980 .

[2]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[3]  Simon L. Peyton Jones,et al.  The Implementation of Functional Programming Languages , 1987 .

[4]  Simon Peyton Jones,et al.  The Implementation of Functional Programming Languages (Prentice-hall International Series in Computer Science) , 1987 .

[5]  David A. Wolfram,et al.  The Clausal Theory of Types , 1993 .

[6]  Gopalan Nadathur,et al.  Uniform Proofs as a Foundation for Logic Programming , 1991, Ann. Pure Appl. Log..

[7]  Dale Miller,et al.  A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification , 1991, J. Log. Comput..

[8]  Mark-Jan Nederhof,et al.  Modular proof of strong normalization for the calculus of constructions , 1991, Journal of Functional Programming.

[9]  Masako Takahashi,et al.  Parallel reductions in λ-calculus (revised version) , 1992 .

[10]  Thierry Coquand,et al.  Pattern Matching with Dependent Types , 1992 .

[11]  Bruneteaux Bruneteaux (Patrick). La violence d'État dans un régime démocratique : les forces de maintien de l'ordre en France (1880-1980), thèse de doctorat, Histoire, Université de Paris 1, 1993, dact., 556 f°. , 1993 .

[12]  Vincent van Oostrom,et al.  Combinatory Reduction Systems: Introduction and Survey , 1993, Theor. Comput. Sci..

[13]  Val Tannen,et al.  A typed pattern calculus , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[14]  M. Maher Unification via Explicit Substitutions: The Case of Higher-Order Patterns , 1996 .

[15]  Luigi Liquori,et al.  Comparing Cubes of Typed and Type Assignment Systems , 1997, Ann. Pure Appl. Log..

[16]  J. Jouannaud,et al.  Abstract Data Type Systems , 1997, Theor. Comput. Sci..

[17]  Simon Peyton Jones,et al.  Henk: a typed intermediate language , 1997 .

[18]  Herman Geuvers,et al.  Modularity of strong normalization in the algebraic-λ-cube , 1997, Journal of Functional Programming.

[19]  Simon Peyton-Jones,et al.  Henk: A Typed Intermediate Language , 1997 .

[20]  Lennart Augustsson,et al.  Cayenne—a language with dependent types , 1998, ICFP '98.

[21]  F. Pfenning,et al.  Automating the meta theory of deductive systems , 2000 .

[22]  Thierry Coquand,et al.  An Introduction to Dependent Type Theory , 2000, APPSEM.

[23]  Claude Kirchner,et al.  Matching Power , 2001, RTA.

[24]  Claude Kirchner,et al.  The rewriting calculus - Part II , 2001, Log. J. IGPL.

[25]  Herman Geuvers,et al.  Proof-Assistants Using Dependent Type Systems , 2001, Handbook of Automated Reasoning.

[26]  Claude Kirchner,et al.  The Rho Cube , 2001, FoSSaCS.

[27]  Claude Kirchner,et al.  Rewriting Calculus with(out) Types , 2004, Workshop on Rewriting Logic and Its Applications.

[28]  Claude Kirchner,et al.  Exceptions in the Rewriting Calculus , 2002, RTA.