F≤ is a type system used to study the integration of inclusion and parametric polymorphism. F≤ does not include a notion of recursive types, but extensions of F≤ with recursive types are widely used as a basis for foundational studies about the type systems of functional and object-oriented languages. In this paper we show that adding recursive types results in a non conservative extension of the system. This means that the algorithm for F≤ subtyping (the kernel of the algorithm for F≤ typing) is no longer complete for the extended system, even when it is applied only to judgements where no recursive type appears, and that most of the proofs of known properties of F≤ do not hold for the extended system; this is the case, for example, for Pierce's proof of undecidability of F≤. However, we prove that this non conservativity is limited to a very special class of subtyping judgements, the “diverging judgements” introduced in [Ghe]. This last result implies that the extension of F≤ with recursive types could be still useful for practical purposes.
[1]
Benjamin C. Pierce,et al.
Bounded Quantification is Undecidable
,
1994,
Inf. Comput..
[2]
Luca Cardelli,et al.
Subtyping recursive types
,
1991,
POPL '91.
[3]
Giorgio Ghelli,et al.
Coherence of Subsumption, Minimum Typing and Type-Checking in F<=
,
1992,
Math. Struct. Comput. Sci..
[4]
Kim B. Bruce,et al.
A Modest Model of Records, Inheritance and Bounded Quantification
,
1990,
Inf. Comput..
[5]
Luca Cardelli,et al.
An Extension of System F with Subtyping
,
1994,
Inf. Comput..
[6]
Luca Cardelli,et al.
On understanding types, data abstraction, and polymorphism
,
1985,
CSUR.
[7]
Luca Cardelli,et al.
A semantic basis for quest
,
1990,
Journal of Functional Programming.
[8]
Giorgio Ghelli,et al.
Coherence of Subsumption
,
1990,
CAAP.