We contribute to the syntactic study of F≤, a variant of second order λ-calculus F which appears as a paradigmatic kernel language for polymorphism and subtyping. The type system of F≤ has a maximum type Top and bounded quantification. We endow this language with the familiar β-rules (for terms and types), to which we add extensionality rules: the η-rules (for terms and types), and a rule (top) which equates all terms of type Top. These rules are suggested by the axiomatization of cartesian closed categories. We show that this theory βηtop≤ is decidable, by exhibiting an effectively weakly normalizing and confluent rewriting system for it. Our proof of confluence relies on the confluence of a corresponding system on F1 (the extension of F with a terminal type), and follows a general pattern that we investigate for itself in a separate paper.
[1]
Luca Cardelli,et al.
A semantic basis for quest
,
1990,
Journal of Functional Programming.
[2]
Giorgio Ghelli,et al.
On Confluence for Weakly Normalizing Systems
,
1991,
RTA.
[3]
Thierry Coquand,et al.
Inheritance and explicit coercion
,
1989,
[1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.
[4]
Luca Cardelli,et al.
On understanding types, data abstraction, and polymorphism
,
1985,
CSUR.
[5]
Kim B. Bruce,et al.
A Modest Model of Records, Inheritance and Bounded Quantification
,
1990,
Inf. Comput..