Stratified polymorphism

The author considers a spectrum of predicative type abstraction disciplines based on type quantification with stratified levels. These lie in the vast middle ground between parametric abstraction and full impredicative abstraction. Stratified polymorphism has an attractive, unproblematic semantics, and has the potential of offering new approaches to type inference, without sacrificing useful expressive power. He shows that the functions representable in the finitely stratified lambda -calculus are precisely the superelementary functions, i.e., E/sub 4/ in A. Grzegorczyk's (Rozprawy Mate. IV, Warsaw, 1953) subrecursive hierarchy. He also defines methods of transfinite stratification and shows that stratification up to omega /sup omega / has a simple finitary representation, making it a potentially useful concept in programming language design. The author proves that the functions represented by stratified polymorphism up to omega /sup omega / are precisely the primitive recursive functions. He points out that these results imply that the equality problem for finitely stratified lambda -calculus is not superelementary, and that the equality problem for the calculus stratified up to omega /sup omega / is not primitive recursive.<<ETX>>

[1]  Alan Mycroft,et al.  Polymorphic Type Schemes and Recursive Definitions , 1984, Symposium on Programming.

[2]  R. Statman Number theoretic functions computable by polymorphic programs , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[3]  Jerzy Tiuryn,et al.  A proper extension of ML with an effective type-assignment , 1988, POPL '88.

[4]  P. Axt Iteration of Primitive Recursion , 1965 .

[5]  Helmut Schwichtenberg,et al.  Definierbare Funktionen imλ-Kalkül mit Typen , 1975, Archive for Mathematical Logic.

[6]  Mariangiola Dezani-Ciancaglini,et al.  An extension of the basic functionality theory for the λ-calculus , 1980, Notre Dame J. Formal Log..

[7]  John C. Mitchell,et al.  The essence of ML , 1988, POPL '88.

[8]  B. Russell Mathematical Logic as Based on the Theory of Types , 1908 .

[9]  H. Schwichtenberg,et al.  Definierbare Funktionen im Lambda-Kalkül mit Typen , 1976 .

[10]  Hao Wang,et al.  The Formalization of Mathematics , 1954, J. Symb. Log..

[11]  William W. Tait Functionals Defined by Transfinite Recursion , 1965, J. Symb. Log..

[12]  Richard Statman,et al.  The Typed lambda-Calculus is not Elementary Recursive , 1979, Theor. Comput. Sci..

[13]  Daniel Leivant,et al.  The Expressiveness of Simple and Second-Order Type Structures , 1983, JACM.

[14]  A. Grzegorczyk Some classes of recursive functions , 1964 .

[15]  H. Schwichtenberg,et al.  Beweistheoretische Charakterisierung einer Erweiterung der Grzegorczyk-Hierarchie , 1972 .

[16]  H. Schwichtenberg,et al.  Rekursionszahlen und die Grzegorczyk-Hierarchie , 1969 .

[17]  John C. Reynolds,et al.  Polymorphism is not Set-Theoretic , 1984, Semantics of Data Types.