Bounded quantification is undecidable

F≤ is a typed λ-calculus with subtyping and bounded second-order polymorphism. First proposed by Cardelli and Wegner, it has been widely studied as a core calculus for type systems with subtyping. Curien and Ghelli proved the partial correctness of a recursive procedure for computing minimal types of F≤ terms and showed that the termination of this procedure is equivalent to the termination of this procedure is equivalent to the termination of its major component, a procedure for checking the subtype relation between F≤ types. This procedure was thought to terminate on all inputs, but the discovery of a subtle bug in a purported proof of this claim recently reopened the question of the decidability of subtyping, and hence of typechecking. This question is settled here in the negative, using a reduction from the halting problem for two-counter Turing machines to show that the subtype relation of F≤ is undecidable.

[1]  John C. Reynolds,et al.  Preliminary design of the programming language Forsythe , 1988 .

[2]  John C. Reynolds,et al.  Towards a theory of type structure , 1974, Symposium on Programming.

[3]  Luca Cardelli,et al.  Typeful Programming , 1989, Formal Description of Programming Concepts.

[4]  Luca Cardelli,et al.  A semantic basis for quest , 1990, Journal of Functional Programming.

[5]  Felice Cardone,et al.  Relational Semantics for Recursive Types and Bounded Quantification , 1989, ICALP.

[6]  Kim B. Bruce The Equivalence of Two Semantic Definitions for Inheritance in Object-Oriented Languages , 1991, MFPS.

[7]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[8]  Luca Cardelli,et al.  An Extension of System F with Subtyping , 1991, TACS.

[9]  Luca Cardelli,et al.  An Extension of System F with Subtyping , 1994, Inf. Comput..

[10]  Luca Cardelli,et al.  Operations on Records , 1989, Mathematical Foundations of Programming Semantics.

[11]  B. Pierce Programming with intersection types and bounded polymorphism , 1992 .

[12]  William R. Cook,et al.  Inheritance is not subtyping , 1989, POPL '90.

[13]  Luca Cardelli,et al.  Structural subtyping and the notion of power type , 1988, POPL '88.

[14]  Thierry Coquand,et al.  Inheritance as Implicit Coercion , 1991, Inf. Comput..

[15]  John C. Mitchell,et al.  Polymorphic Type Inference and Containment , 1988, Inf. Comput..

[16]  Luca Cardelli,et al.  A Semantics of Multiple Inheritance , 1984, Information and Computation.

[17]  Giorgio Ghelli,et al.  Subtyping + Extensionality: Confluence of beta-eta-top reduction in F<= , 1991, TACS.

[18]  William R. Cook,et al.  Interfaces for strongly-typed object-oriented programming , 1989, OOPSLA '89.

[19]  Luca Cardelli,et al.  Operations on Records (Summary) , 1989 .

[20]  John C. Mitchell,et al.  F-bounded quantification for object-oriented programming , 1989 .

[21]  William R. Cook,et al.  Canning: inheritance is not subtyping , 1990 .

[22]  Luca Cardelli,et al.  Extensible records in a pure calculus of subtyping , 1994 .

[23]  Kim B. Bruce,et al.  A Modest Model of Records, Inheritance and Bounded Quantification , 1990, Inf. Comput..

[24]  de Ng Dick Bruijn Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .

[25]  Kim B. Bruce,et al.  A modest model of records, inheritance and bounded quantification , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[26]  Giorgio Ghelli,et al.  Coherence of Subsumption , 1990, CAAP.

[27]  de Ng Dick Bruijn,et al.  Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .

[28]  John C. Mitchell,et al.  F-bounded polymorphism for object-oriented programming , 1989, FPCA.

[29]  Simon Martini Bounded quantifiers have interval models , 1988, LFP '88.

[30]  Mario Coppo,et al.  Principal type-schemes and lambda-calculus semantics , 1980 .

[31]  Luca Cardelli,et al.  On understanding types, data abstraction, and polymorphism , 1985, CSUR.