Polymorphic Intersection Type Assignment for Rewrite Systems with Abstractions and beta-Rule

We define two type assignment systems for first-order rewriting extended with application, λ-abstraction, and β-reduction, using a combination of (Ω-free) intersection types and second-order polymorphic types. The first system is the general one, for which we prove subject reduction, and strong normalisation of typeable terms. The second is a decidable subsystem of the first, by restricting to Rank 2 (intersection and quantified) types. For this system we define, using an extended notion of unification, a notion of principal typing which is more general than ML's principal type property, since also the types for the free variables of terms are inferred.

[1]  Mariangiola Dezani-Ciancaglini,et al.  A filter lambda model and the completeness of type assignment , 1983, Journal of Symbolic Logic.

[2]  Val Tannen,et al.  Polymorphic Rewriting Conserves Algebraic Confluence , 1994, Inf. Comput..

[3]  Trevor Jim What are principal typings and what are they good for? , 1996, POPL '96.

[4]  Daniel J. Dougherty Adding Algebraic Rewriting to the Untyped Lambda Calculus , 1992, Inf. Comput..

[5]  Steffen van Bakel,et al.  Principal Type Schemes for the Strict Type Assignment System , 1993, J. Log. Comput..

[6]  Ines Margaria,et al.  Filter Models with Polymorphic Types , 1992, Theor. Comput. Sci..

[7]  Luís Damas Type assignment in programming languages , 1984 .

[8]  M. Newman On Theories with a Combinatorial Definition of "Equivalence" , 1942 .

[9]  Jan Willem Klop,et al.  Term Rewriting Systems: From Church-Rosser to Knuth-Bendix and Beyond , 1990, ICALP.

[10]  Assaf J. Kfoury,et al.  Principality and decidable type inference for finite-rank intersection types , 1999, POPL '99.

[11]  Herman Geuvers,et al.  Modularity of strong normalization and confluence in the algebraic-/spl lambda/-cube , 1994, Proceedings Ninth Annual IEEE Symposium on Logic in Computer Science.

[12]  J. A. Robinson,et al.  A Machine-Oriented Logic Based on the Resolution Principle , 1965, JACM.

[13]  Jean-Pierre Jouannaud,et al.  A computation model for executable higher-order algebraic specification languages , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[14]  Ines Margaria,et al.  Principal Typing in a forall-and-Discipline , 1995, J. Log. Comput..

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

[16]  Maribel Fernández,et al.  Intersection type assignment systems with higher-order algebraic rewriting , 1996 .

[17]  Steffen van Bakel,et al.  Intersection Type Assignment Systems , 1995, Theor. Comput. Sci..

[18]  Jean-Yves Girard,et al.  The System F of Variable Types, Fifteen Years Later , 1986, Theor. Comput. Sci..

[19]  Marko C. J. D. van Eekelen,et al.  Concurrent Clean , 1991, PARLE.

[20]  Jean-Pierre Jouannaud,et al.  Modular Termination of Term Rewriting Systems Revisited , 1994, COMPASS/ADT.

[21]  Simon L. Peyton Jones,et al.  Lazy functional state threads , 1994, PLDI '94.

[22]  Jean-Pierre Jouannaud,et al.  Rewrite Systems , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[23]  Jerzy Tiuryn,et al.  Type Reconstruction in Finite Rank Fragments of the Second-Order lambda-Calculus , 1992, Inf. Comput..

[24]  Maribel Fernández,et al.  Normalization Results for Typeable Rewrite Systems , 1997, Inf. Comput..

[25]  Maribel Fernández,et al.  Rewrite Systems with Abstraction and beta-Rule: Types, Approximants and Normalization , 1996, ESOP.

[26]  Hirofumi Yokouchi,et al.  Embedding a Second Order Type System into an Intersection Type System , 1995, Inf. Comput..

[27]  Simona Ronchi Della Rocca,et al.  Principal Type Schemes for an Extended Type Theory , 1984, Theor. Comput. Sci..

[28]  Assaf J. Kfoury,et al.  A direct algorithm for type inference in the rank-2 fragment of the second-order λ-calculus , 1994, LFP '94.

[29]  Steffen van Bakel,et al.  Partial Intersection Type Assignment in Applicative Term Rewriting Systems , 1993, TLCA.

[30]  V. Breazu-Tannen,et al.  Combining algebra and higher-order types , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[31]  Val Tannen,et al.  Polymorphic Rewriting Conserves Algebraic Strong Normalization , 1991, Theor. Comput. Sci..

[32]  J. Girard,et al.  Proofs and types , 1989 .

[33]  Steffen van Bakel,et al.  Complete Restrictions of the Intersection Type Discipline , 1992, Theor. Comput. Sci..

[34]  Maribel Fernández Type assignment and termination of interaction nets , 1998, Math. Struct. Comput. Sci..

[35]  Steffen van Bakel,et al.  Rank 2 Intersection Type Assignment in Term Rewriting Systems , 1996, Fundam. Informaticae.