## Subject reduction and minimal types for higher order subtyping (1997)

### Cached

### Download Links

Venue: | In Proceedings of the Second Chinese Language Processing Workshop |

Citations: | 6 - 3 self |

### BibTeX

@TECHREPORT{Compagnoni97subjectreduction,

author = {Adriana Compagnoni},

title = {Subject reduction and minimal types for higher order subtyping},

institution = {In Proceedings of the Second Chinese Language Processing Workshop},

year = {1997}

}

### OpenURL

### Abstract

We define the typed lambda calculus F ω ∧ , a natural generalization of Girard’s system F ω with intersection types and bounded polymorphism. A novel aspect of our presentation is the use of term rewriting techniques to present intersection types, which clearly splits the computational semantics (reduction rules) from the syntax (inference rules) of the system. We establish properties such as Church-Rosser for the reduction relation on types and terms, and Strong Normalization for the reduction on types. We prove that types are preserved by computation (Subject Reduction property), and that the system satisfies the Minimal Types property. On the way to establishing these results, we define algorithms for type inference and subtype checking. 1

### Citations

892 | A Theory of Objects
- Abadi, Cardelli
- 1996
(Show Context)
Citation Context ... techniques developed here have been applied to study the combination of dependent types and subtyping in [3]. Martín Abadi and Luca Cardelli used these techniques in their book “A Theory of Objects” =-=[1]-=-, demonstrating that our method extends naturally to a higher-order system with recursive types and object constructors. 14 Acknowledgements I want to express my gratitude to Mariangiola Dezani-Cianca... |

763 | On understanding types, data abstraction, and polymorphism
- Cardelli, Wegner
- 1985
(Show Context)
Citation Context ...anguages. This led to a considerable body of work, covering an increasing range of object-oriented features by combining subtyping with other typetheoretic constructs, including polymorphic functions =-=[15, 27, 7]-=-, records with update and extension operators [10, 14], recursive types [2, 8], and higher-order polymorphism [11, 13, 12, 33]. Type systems with subtyping have also arisen from the study of lambda-ca... |

518 | Lambda Calculi with Types
- Barendregt
- 1991
(Show Context)
Citation Context ... K (K-Int) Γ ⊢ S ∧ T : K Γ ⊢ ok Γ ⊢ ωK (K-Max) : K The rule S-Meet-G is replaced by the following two rules. Γ ⊢ S ≤ T1 Γ ⊢ S ≤ T2 (S-Int-G) Γ ⊢ S ≤ T1 ∧ T2 Γ ⊢ S : K Γ ⊢ S ≤ ωK (S-Max) In the λ-cube =-=[4]-=-, F ωcorresponds to λω, the system defined by the rules (⋆, ⋆), (✷,⋆), and (✷, ✷). If K is a kind defined by the grammar K ,then Γ⊢λω K:✷. The rule (✷, ✷) corresponds to the recursive step in the defi... |

485 | A semantics for multiple inheritance
- CARDELLI
- 1988
(Show Context)
Citation Context ...establishing these results, we define algorithms for type inference and subtype checking. 1 Introduction The formal study of subtyping in programming languages was begun by Reynolds [36] and Cardelli =-=[10]-=-, who used a lambda-calculus with subtyping to model the refinement of interfaces in object oriented languages. This led to a considerable body of work, covering an increasing range of object-oriented... |

305 | Subtyping recursive types
- Amadio, Cardelli
- 1993
(Show Context)
Citation Context ...object-oriented features by combining subtyping with other typetheoretic constructs, including polymorphic functions [15, 27, 7], records with update and extension operators [10, 14], recursive types =-=[2, 8]-=-, and higher-order polymorphism [11, 13, 12, 33]. Type systems with subtyping have also arisen from the study of lambda-calculi with intersection types at the University of Torino [26, 6]. Most of thi... |

285 |
Interpretation fonctionelle et elimination des coupures de l’arithmetique d’ordre superieur
- Girard
- 1972
(Show Context)
Citation Context ...F ω ∧ (F-omega-meet) was first introduced in [23], where it was shown to be rich enough to provide a typed model of object oriented programming with multiple inheritance. F ω ∧ is an extension of F ω =-=[30]-=- with bounded quantification and intersection types, which can be seen as a natural generalization of the type disciplines present in the current literature, for example in [27, 34, 35, 18]. Systems i... |

243 |
Inheritance is not subtyping
- Cook, Hill, et al.
- 1990
(Show Context)
Citation Context ...nd further references). A secondorder λ-calculus with intersection types was studied in [34]. Systems including subtyping were present in [15, 10]. Higher order generalizations of subtyping appear in =-=[9, 24, 33, 8]-=-. F≤, a second-order λ-calculus with bounded quantification, was studied in [29], and in [34]. Because F ω ∧ has reduction on types, we introduce a conversion rule that includes interconvertible types... |

215 | A filter lambda model and the completeness of type assignment - Barendregt, Coppo, et al. - 1984 |

158 | Simple type-theoretic foundations for object-oriented programming - Pierce, Turner - 1994 |

154 |
De Bruijn. Lambda calculus notation with nameless dummies
- G
- 1972
(Show Context)
Citation Context ...e in dom(Γ). Types, terms, contexts, statements, and derivations that differ only in the names of bound variables are considered identical. The underlying idea is that variables are de Bruijn indexes =-=[28]-=-. 6s2 SYNTAX OF F ω ∧ Definition 2.2.1 (Closed) 1. A term e is closed with respect to a context Γ if FV(e) ∪ FTV(e) ⊆ dom(Γ). 2. A type T is closed with respect to a context Γ if FTV(T) ⊆ dom(Γ). 3. A... |

143 | Operations On Records
- Cardelli, Mitchell
- 1994
(Show Context)
Citation Context ...ng an increasing range of object-oriented features by combining subtyping with other typetheoretic constructs, including polymorphic functions [15, 27, 7], records with update and extension operators =-=[10, 14]-=-, recursive types [2, 8], and higher-order polymorphism [11, 13, 12, 33]. Type systems with subtyping have also arisen from the study of lambda-calculi with intersection types at the University of Tor... |

139 | Typeful programming
- Cardelli
- 1991
(Show Context)
Citation Context ...subtyping with other typetheoretic constructs, including polymorphic functions [15, 27, 7], records with update and extension operators [10, 14], recursive types [2, 8], and higher-order polymorphism =-=[11, 13, 12, 33]-=-. Type systems with subtyping have also arisen from the study of lambda-calculi with intersection types at the University of Torino [26, 6]. Most of this work has been carried out in the setting of pu... |

116 | Inheritance as implicit coercion
- Breazu-Tannen, Coquand, et al.
- 1991
(Show Context)
Citation Context ...anguages. This led to a considerable body of work, covering an increasing range of object-oriented features by combining subtyping with other typetheoretic constructs, including polymorphic functions =-=[15, 27, 7]-=-, records with update and extension operators [10, 14], recursive types [2, 8], and higher-order polymorphism [11, 13, 12, 33]. Type systems with subtyping have also arisen from the study of lambda-ca... |

109 | Design of the programming language Forsythe
- Reynolds
- 1996
(Show Context)
Citation Context ...ection types at the University of Torino [26, 6]. Most of this work has been carried out in the setting of pure lambda-calculi, but it has also been applied to programming language design by Reynolds =-=[37]-=-. Some work has begun on combining intersections with other typing features [34, 17]. 1s1 INTRODUCTION 2 The system F ω ∧ (F-omega-meet) was first introduced in [23], where it was shown to be rich eno... |

88 |
An extension of the basic functionality theory for the λ-calculus
- Coppo, Dezani-Ciancaglini
- 1980
(Show Context)
Citation Context ...cursive types [2, 8], and higher-order polymorphism [11, 13, 12, 33]. Type systems with subtyping have also arisen from the study of lambda-calculi with intersection types at the University of Torino =-=[26, 6]-=-. Most of this work has been carried out in the setting of pure lambda-calculi, but it has also been applied to programming language design by Reynolds [37]. Some work has begun on combining intersect... |

88 |
Toward A Typed Foundation for Method Specialization and Inheritance
- Mitchell
- 1990
(Show Context)
Citation Context ...subtyping with other typetheoretic constructs, including polymorphic functions [15, 27, 7], records with update and extension operators [10, 14], recursive types [2, 8], and higher-order polymorphism =-=[11, 13, 12, 33]-=-. Type systems with subtyping have also arisen from the study of lambda-calculi with intersection types at the University of Torino [26, 6]. Most of this work has been carried out in the setting of pu... |

67 | Subtyping dependent types
- Aspinall, Compagnoni
- 1996
(Show Context)
Citation Context ...the author [22], and a short version of sections 6 to 9 has been published in CSL’94 [21]. The techniques developed here have been applied to study the combination of dependent types and subtyping in =-=[3]-=-. Martín Abadi and Luca Cardelli used these techniques in their book “A Theory of Objects” [1], demonstrating that our method extends naturally to a higher-order system with recursive types and object... |

67 | Programming with Intersection Types and Bounded Polymorphism
- Pierce
- 1991
(Show Context)
Citation Context ...ried out in the setting of pure lambda-calculi, but it has also been applied to programming language design by Reynolds [37]. Some work has begun on combining intersections with other typing features =-=[34, 17]-=-. 1s1 INTRODUCTION 2 The system F ω ∧ (F-omega-meet) was first introduced in [23], where it was shown to be rich enough to provide a typed model of object oriented programming with multiple inheritanc... |

66 |
F-bounded quantification for object-oriented programming
- Canning, Cook, et al.
- 1989
(Show Context)
Citation Context ...nd further references). A secondorder λ-calculus with intersection types was studied in [34]. Systems including subtyping were present in [15, 10]. Higher order generalizations of subtyping appear in =-=[9, 24, 33, 8]-=-. F≤, a second-order λ-calculus with bounded quantification, was studied in [29], and in [34]. Because F ω ∧ has reduction on types, we introduce a conversion rule that includes interconvertible types... |

62 |
PER models of subtyping, recursive types and higher-order polymorphism
- Bruce, Mitchell
- 1992
(Show Context)
Citation Context ...object-oriented features by combining subtyping with other typetheoretic constructs, including polymorphic functions [15, 27, 7], records with update and extension operators [10, 14], recursive types =-=[2, 8]-=-, and higher-order polymorphism [11, 13, 12, 33]. Type systems with subtyping have also arisen from the study of lambda-calculi with intersection types at the University of Torino [26, 6]. Most of thi... |

61 |
Coherence of subsumption, minimum typing and the type checking
- Curien, Ghelli
- 1992
(Show Context)
Citation Context ...anguages. This led to a considerable body of work, covering an increasing range of object-oriented features by combining subtyping with other typetheoretic constructs, including polymorphic functions =-=[15, 27, 7]-=-, records with update and extension operators [10, 14], recursive types [2, 8], and higher-order polymorphism [11, 13, 12, 33]. Type systems with subtyping have also arisen from the study of lambda-ca... |

49 |
Using category theory to design implicit conversions and generic operators
- Reynolds
- 1980
(Show Context)
Citation Context ...ty. On the way to establishing these results, we define algorithms for type inference and subtype checking. 1 Introduction The formal study of subtyping in programming languages was begun by Reynolds =-=[36]-=- and Cardelli [10], who used a lambda-calculus with subtyping to model the refinement of interfaces in object oriented languages. This led to a considerable body of work, covering an increasing range ... |

47 |
Two extensions of Curry's type inference system
- Cardone, Coppo
- 1990
(Show Context)
Citation Context ...ed to be an exhaustive description, but a framework for the present work. First-order type disciplines with intersection types have been investigated by the group in Torino [25, 6] and elsewhere (see =-=[16]-=- for background and further references). A secondorder λ-calculus with intersection types was studied in [34]. Systems including subtyping were present in [15, 10]. Higher order generalizations of sub... |

43 | Pure type systems formalized
- McKinna, Pollack
- 1993
(Show Context)
Citation Context ...s, for example. This problem occurs in the lambda calculus without subtyping for the abstraction rule, and was identified by McKinna and Pollack for Pure Type Systems. We adapt their idea of renaming =-=[32]-=-. Definition 4.4 (Parallel Substitution) A parallel substitution γ for Γ is an assignment of types to type variables in dom(Γ) and terms to term variables in dom(Γ). A renaming for Γ in ∆ is a paralle... |

40 | Decidability of higher-order subtyping with intersection types
- Compagnoni
- 1994
(Show Context)
Citation Context ...prove that it computes Minimal Types for F ω ∧. The work presented here has been extracted from the Ph.D thesis of the author [22], and a short version of sections 6 to 9 has been published in CSL’94 =-=[21]-=-. The techniques developed here have been applied to study the combination of dependent types and subtyping in [3]. Martín Abadi and Luca Cardelli used these techniques in their book “A Theory of Obje... |

39 |
An extension of the basic functionality theory for the - calculus
- Coppo, Dezani-Ciancaglini
- 1980
(Show Context)
Citation Context ...cursive types [2, 8], and higher-order polymorphism [11, 13, 12, 33]. Type systems with subtyping have also arisen from the study of lambda-calculi with intersection types at the University of Torino =-=[26, 6]-=-. Most of this work has been carried out in the setting of pure lambda-calculi, but it has also been applied to programming language design by Reynolds [37]. Some work has begun on combining intersect... |

37 |
Proof Theoretic Studies about a Minimal Type System Integrating Inclusion and Parametric Polymorphism
- Ghelli
- 1990
(Show Context)
Citation Context ...4]. Systems including subtyping were present in [15, 10]. Higher order generalizations of subtyping appear in [9, 24, 33, 8]. F≤, a second-order λ-calculus with bounded quantification, was studied in =-=[29]-=-, and in [34]. Because F ω ∧ has reduction on types, we introduce a conversion rule that includes interconvertible types in the subtype relation. Therefore, our subtyping relation relates types of a m... |

32 | Polarized Higher-Order Subtyping
- Steffen
- 1998
(Show Context)
Citation Context .... Moreover, we prove that AlgF ω ∧ is indeed an alternative presentation of the F ω ∧ subtyping relation, that is Γ ⊢ S ≤ T if and only if Γ nf ⊢Alg S nf ≤ T nf (proposition 9.2).s1 INTRODUCTION 3 In =-=[38]-=- Steffen and Pierce studied F ω ≤ proving that typing is decidable and that the system satisfies the minimal types property. A central result in the proof of decidability is establishing the decidabil... |

26 | Decidable bounded quantification
- Castagna, Pierce
- 1994
(Show Context)
Citation Context ...is an extension of F ω [30] with bounded quantification and intersection types, which can be seen as a natural generalization of the type disciplines present in the current literature, for example in =-=[27, 34, 35, 18]-=-. Systems including either subtyping or intersection types or both have been widely studied for many years. What follows is not intended to be an exhaustive description, but a framework for the presen... |

23 |
A Semantics of Multiple Inheritance. Information and Computation, 76(2/3):138164, February/March
- Cardelli
- 1988
(Show Context)
Citation Context ...establishing these results, we define algorithms for type inference and subtype checking. 1 Introduction The formal study of subtyping in programming languages was begun by Reynolds [36] and Cardelli =-=[10]-=-, who used a lambda-calculus with subtyping to model the refinement of interfaces in object oriented languages. This led to a considerable body of work, covering an increasing range of object-oriented... |

21 |
The Lambda Calculus. North-Holland, revised edition
- Barendregt
- 1984
(Show Context)
Citation Context ...ting together the reduction on terms, !fifors (definition 2.1.2), and the reduction on types, !fi^ (definition 2.1.1), satisfies the Church-Rosser property. We use the Hindley-Rosen lemma (c.f. 3.3.5 =-=[5]-=-) to establish this result. This factors the proof into two parts: 1. proving that the reductions ififors and ifi^ commute, and 2. proving that the reductions !fifors and !fi^ satisfy the Church-Rosse... |

21 |
Notes about F ! <:. Unpublished manuscript
- Cardelli
- 1990
(Show Context)
Citation Context ...subtyping with other typetheoretic constructs, including polymorphic functions [15, 27, 7], records with update and extension operators [10, 14], recursive types [2, 8], and higher-order polymorphism =-=[11, 13, 12, 33]-=-. Type systems with subtyping have also arisen from the study of lambda-calculi with intersection types at the University of Torino [26, 6]. Most of this work has been carried out in the setting of pu... |

17 | Types for data-oriented languages
- Cardelli
- 1988
(Show Context)
Citation Context |

17 | B.C.: Higher-order intersection types and multiple inheritance
- Compagnoni, Pierce
(Show Context)
Citation Context ...amming language design by Reynolds [37]. Some work has begun on combining intersections with other typing features [34, 17]. 1s1 INTRODUCTION 2 The system F ω ∧ (F-omega-meet) was first introduced in =-=[23]-=-, where it was shown to be rich enough to provide a typed model of object oriented programming with multiple inheritance. F ω ∧ is an extension of F ω [30] with bounded quantification and intersection... |

17 | editors. Theoretical Aspects of ObjectOriented - Gunter, Mitchell - 1994 |

17 |
A new type-assignment for -terms
- Coppo, Dezani-Ciancaglini
- 1978
(Show Context)
Citation Context ... What follows is not intended to be an exhaustive description, but a framework for the present work. First-order type disciplines with intersection types have been investigated by the group in Torino =-=[25, 6]-=- and elsewhere (see [16] for background and further references). A secondorder *-calculus with intersection types was studied in [34]. Systems including subtyping were present in [15, 10]. Higher orde... |

12 |
Subtyping in F ! is decidable
- Compagnoni
- 1994
(Show Context)
Citation Context ...hat typing is decidable and that the system satisfies the minimal types property. A central result in the proof of decidability is establishing the decidability of subtyping, a result first proved in =-=[20]-=-. There are several differences between our work and theirs. Our results are for a stronger system which also includes intersection types. A major difference is the choice of the intermediate subtypin... |

11 |
A new type assignment for λ-terms
- Coppo, Dezani-Ciancaglini
- 1978
(Show Context)
Citation Context ... What follows is not intended to be an exhaustive description, but a framework for the present work. First-order type disciplines with intersection types have been investigated by the group in Torino =-=[25, 6]-=- and elsewhere (see [16] for background and further references). A secondorder λ-calculus with intersection types was studied in [34]. Systems including subtyping were present in [15, 10]. Higher orde... |

4 |
Notes about F ω <:. Unpublished manuscript
- Cardelli
- 1990
(Show Context)
Citation Context |

4 | Combining type disciplines
- Cardone, de’Liguoro
- 1994
(Show Context)
Citation Context ...ried out in the setting of pure lambda-calculi, but it has also been applied to programming language design by Reynolds [37]. Some work has begun on combining intersections with other typing features =-=[34, 17]-=-. 1s1 INTRODUCTION 2 The system F ω ∧ (F-omega-meet) was first introduced in [23], where it was shown to be rich enough to provide a typed model of object oriented programming with multiple inheritanc... |

3 |
Subtyping in F ω ∧ is decidable
- Compagnoni
- 1994
(Show Context)
Citation Context ...hat typing is decidable and that the system satisfies the minimal types property. A central result in the proof of decidability is establishing the decidability of subtyping, a result first proved in =-=[20]-=-. There are several differences between our work and theirs. Our results are for a stronger system which also includes intersection types. A major difference is the choice of the intermediate subtypin... |

2 | Decidable Higher Order Subtyping
- Compagnoni
- 1997
(Show Context)
Citation Context ...ity comes from the fact that computing flub involves replacing variables by their bounds in a given context and normalizing with respect to →β∧. A proof of the well-foundation of flub can be found in =-=[19]-=-. In contrast, in [34] it is enough to observe that well-formed contexts cannot contain cycles of variable references. Notation 10.6 We introduce a new notation for intersection types. The intersectio... |