## Higher-order subtyping and its decidability

Venue: | Information and Computation |

Citations: | 1 - 0 self |

### BibTeX

@ARTICLE{Compagnoni_higher-ordersubtyping,

author = {Adriana Compagnoni},

title = {Higher-order subtyping and its decidability},

journal = {Information and Computation},

year = {},

volume = {191},

pages = {41--113}

}

### OpenURL

### Abstract

### Citations

924 | A theory of objects
- Abadi, Cardelli
- 1996
(Show Context)
Citation Context ...ns are instrumental in establishing several metatheoretic results including Subject Reduction and Decidability. Mart'in 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. This work also influenced the work of Kathleen Fisher, who used this method in ... |

788 | On understanding types, data abstraction and polymorphism
- Cardelli, Wegner
- 1985
(Show Context)
Citation Context ...nguages. This led to a considerable body of work, modeling an increasing range of object-oriented features by combining subtyping with other type-theoretic constructs, including polymorphic functions =-=[18, 34, 10]-=-, records with update and extension operators [13, 17], recursive types [2, 11]. F^, a second-order *-calculus with bounded quantification, was studied in [37] and [47]. Higher-order generalizations o... |

545 | calculi with types
- Barendregt
- 1992
(Show Context)
Citation Context ...Meet-G is replaced by the following two rules.s3 METATHEORY 11 \Gammas` S ^ T1 \Gammas` S ^ T2 \Gammas` S ^ T1 ^ T2 (S-Int-G) \Gammas` S : K \Gammas` S ^ !K (S-Max) For those familiar with the *-cube =-=[5]-=-, F !corresponds to *!, the system defined by the rules (?; ?), (2; ?), and (2; 2). If K is a kind defined by the grammar K , then \Gammas`*! K : 2: The rule (2; 2) corresponds to the recursive step i... |

315 | Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem
- Bruijn
- 1972
(Show Context)
Citation Context ...om(\Gamma ). Types, terms, contexts, judgements, and derivations that differ only in the names of bound variables are considered identical. The underlying idea is that variables are de Bruijn indexes =-=[35]-=-. Definition 2.2 (Closed) 1. A term e is closed with respect to a context \Gammasif FV(e) [ FTV(e) ` dom(\Gamma ). 2. A type T is closed with respect to a context \Gammasif FTV(T ) ` dom(\Gamma ). 3. ... |

293 |
Interprétation fonctionelle et élimination des coupures dans l’arithmetique d’ordre supérieur
- Girard
- 1972
(Show Context)
Citation Context ...omega-meet), was first introduced in [30], 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 Girard's F ! =-=[39]-=- 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 [34, 47, 49, 21]. We use th... |

251 |
Inheritance is not subtyping
- Cook, Hill, et al.
- 1990
(Show Context)
Citation Context ...and extension operators [13, 17], recursive types [2, 11]. F^, a second-order *-calculus with bounded quantification, was studied in [37] and [47]. Higher-order generalizations of subtyping appear in =-=[12, 31, 45, 11]-=-. Treating the interaction between interface refinement and encapsulation of objects in object-oriented programming has required higher-order generalizations of subtyping: the F-bounded quantification... |

221 |
Intensional interpretations of functionals of finite type I
- Tait
- 1967
(Show Context)
Citation Context ...rmalizing in three steps. We first prove that !a and also !fi^\Gammasare strongly normalizing. The proof of strong normalization of !fi^\Gammason well-kinded types follows Tait's computability method =-=[52]-=-. Then we prove that both reductions commute, i.e. if T !a T1 and T1 !fi^\GammasT2, then there exists S such that S !a T2 and T !!fi^\Gamma ?0 S (in at least one step). Finally, using the previous two... |

164 | Simple type-theoretic foundations for object-oriented programming
- Pierce, Turner
- 1994
(Show Context)
Citation Context ...ension of Girard's F ! [39] 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 =-=[34, 47, 49, 21]-=-. We use the definition of F !^ from [27, 28] that differs from the one presented in [30] by introducing a richer notion of reduction on types, and thereby the four distributivity rules become particu... |

149 | Operations on records
- Cardelli, Mitchell
- 1994
(Show Context)
Citation Context ... an increasing range of object-oriented features by combining subtyping with other type-theoretic constructs, including polymorphic functions [18, 34, 10], records with update and extension operators =-=[13, 17]-=-, recursive types [2, 11]. F^, a second-order *-calculus with bounded quantification, was studied in [37] and [47]. Higher-order generalizations of subtyping appear in [12, 31, 45, 11]. Treating the i... |

123 | Inheritance as implicit coercion
- Breazu-Tannen, Coquand, et al.
- 1991
(Show Context)
Citation Context ...nguages. This led to a considerable body of work, modeling an increasing range of object-oriented features by combining subtyping with other type-theoretic constructs, including polymorphic functions =-=[18, 34, 10]-=-, records with update and extension operators [13, 17], recursive types [2, 11]. F^, a second-order *-calculus with bounded quantification, was studied in [37] and [47]. Higher-order generalizations o... |

111 | Design of the programming language Forsythe
- Reynolds
- 1996
(Show Context)
Citation Context ...(see [19] for background and further references). 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 =-=[51]-=-. Work combining intersection types with other typing disciplines can be found in [20], and a second-order *-calculus with intersection types was studied in [47]. The system we study here, F !^ (F-ome... |

89 |
Towards a typed foundation for method specialisation and inheritance
- Mitchell
- 1990
(Show Context)
Citation Context ...and extension operators [13, 17], recursive types [2, 11]. F^, a second-order *-calculus with bounded quantification, was studied in [37] and [47]. Higher-order generalizations of subtyping appear in =-=[12, 31, 45, 11]-=-. Treating the interaction between interface refinement and encapsulation of objects in object-oriented programming has required higher-order generalizations of subtyping: the F-bounded quantification... |

79 |
Some properties of conversion
- Church, Rosser
- 1936
(Show Context)
Citation Context ...that the reduction !fifors [ !fi^ defined by putting together the reduction on terms, !fifors (definition 2.3), and the reduction on types, !fi^ (definition 2.1), satisfies the Church-Rosser property =-=[24]-=-. We use the Hindley-Rossen lemma (c.f. 3.3.5 [6] and [43]) to establish this result. This factors the proof into two parts: 1. proving that the reductions !!fifors and !!fi^ commute, and 2. proving t... |

70 | Subtyping dependent types
- Aspinall, Compagnoni
- 1996
(Show Context)
Citation Context ...tmost innermost variable of S T by its bound in \Gamma . Such replacements may produce a term that is not in normal form, in which case we normalize it afterwards. (In an alternative notation used in =-=[3]-=-, \Gammas`Alg XS1 \Deltas\Deltas\DeltasSn ^ A is reduced to checking if \Gammas`Alg (\Gamma (X)S1 \Deltas\Deltas\DeltasSn)nf ^ A.) The main problem here is that the size of the types to be examined in... |

68 |
F-bounded quantification for object-oriented programming
- Canning, Cook, et al.
- 1989
(Show Context)
Citation Context ...and extension operators [13, 17], recursive types [2, 11]. F^, a second-order *-calculus with bounded quantification, was studied in [37] and [47]. Higher-order generalizations of subtyping appear in =-=[12, 31, 45, 11]-=-. Treating the interaction between interface refinement and encapsulation of objects in object-oriented programming has required higher-order generalizations of subtyping: the F-bounded quantification... |

68 | Programming with Intersection Types and Bounded Polymorphism
- Pierce
- 1991
(Show Context)
Citation Context ...g polymorphic functions [18, 34, 10], records with update and extension operators [13, 17], recursive types [2, 11]. F^, a second-order *-calculus with bounded quantification, was studied in [37] and =-=[47]-=-. Higher-order generalizations of subtyping appear in [12, 31, 45, 11]. Treating the interaction between interface refinement and encapsulation of objects in object-oriented programming has required h... |

62 |
PER models of subtyping, recursive types and higher-order polymorphism
- Bruce, Mitchell
- 1992
(Show Context)
Citation Context ...ject-oriented features by combining subtyping with other type-theoretic constructs, including polymorphic functions [18, 34, 10], records with update and extension operators [13, 17], recursive types =-=[2, 11]-=-. F^, a second-order *-calculus with bounded quantification, was studied in [37] and [47]. Higher-order generalizations of subtyping appear in [12, 31, 45, 11]. Treating the interaction between interf... |

61 |
Coherence of subsumption, minimum typing and the type checking
- Curien, Ghelli
- 1992
(Show Context)
Citation Context ...nguages. This led to a considerable body of work, modeling an increasing range of object-oriented features by combining subtyping with other type-theoretic constructs, including polymorphic functions =-=[18, 34, 10]-=-, records with update and extension operators [13, 17], recursive types [2, 11]. F^, a second-order *-calculus with bounded quantification, was studied in [37] and [47]. Higher-order generalizations o... |

54 |
A typed operational semantics for type theory
- Goguen
- 1994
(Show Context)
Citation Context ...ncy between subtyping and kinding similar to the one in [4] between subtyping and typing. A radically different approach to proving decidability is used, where a typed operational semantics following =-=[40, 41]-=- is defined and proved equivalent to the original system using a Kripke model, and termination is proved by induction on derivations in the typed operational semantics. A higher-order typed lambda cal... |

51 |
Using category theory to design implicit conversions and generic operators
- Reynolds
- 1980
(Show Context)
Citation Context ... inference . . . . . . . . . . . . . . . . . . . . 48 5 Conclusions 50 6 Acknowledgements 51 1 Introduction 1.1 Motivation The formal study of subtyping in programming languages was begun by Reynolds =-=[50]-=- and Cardelli [13], 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, modeling an increasing range ... |

49 |
Two extensions of Curry’s type inference system
- Cardone, Coppo
(Show Context)
Citation Context ...btyping, self-reference, and late binding. Type systems with subtyping have also arisen from the study of lambda calculi with intersection types at the University of Torino [33, 7] and elsewhere (see =-=[19]-=- for background and further references). 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 [51]. Wor... |

46 | 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 =-=[44]-=-. Definition 3.18 (Parallel Substitution) A parallel substitution fl for \Gammasis an assignment of types to type variables in dom(\Gamma ) and terms to term variables in dom(\Gamma ). A renaming for ... |

40 | Decidability of higher-order subtyping with intersection types
- Compagnoni
- 1994
(Show Context)
Citation Context ...the decidability of subtyping. The work presented here has been extracted from the Ph.D thesis of the author [27], and a short version of the decidability of subtyping result been published in CSL'94 =-=[26]-=-. The techniquess6 ACKNOWLEDGEMENTS 51 developed here have been applied to study the combination of dependent types and subtyping in [3]. Mart'in Abadi and Luca Cardelli used these techniques in their... |

39 |
An extension of the basic functionality theory for the - calculus
- Coppo, Dezani-Ciancaglini
- 1980
(Show Context)
Citation Context ...regation, encapsulation, subtyping, self-reference, and late binding. Type systems with subtyping have also arisen from the study of lambda calculi with intersection types at the University of Torino =-=[33, 7]-=- and elsewhere (see [19] for background and further references). Most of this work has been carried out in the setting of pure lambda calculi, but it has also been applied to programming language desi... |

39 |
Proof Theoretic Studies about a Minimal Type System Integrating Inclusion and Parametric Polymorphism
- Ghelli
- 1990
(Show Context)
Citation Context ... including polymorphic functions [18, 34, 10], records with update and extension operators [13, 17], recursive types [2, 11]. F^, a second-order *-calculus with bounded quantification, was studied in =-=[37]-=- and [47]. Higher-order generalizations of subtyping appear in [12, 31, 45, 11]. Treating the interaction between interface refinement and encapsulation of objects in object-oriented programming has r... |

30 |
On theories with a combinatorial definition of "equivalence
- Newman
- 1942
(Show Context)
Citation Context ...h that e !!fifor f1 and e !!fifor f2, then there exists f3 2 E such that f1 !!fifor f3 and f2 !!fifor f3. The Church-Rosser property for !s is proved using the Newman's proposition 3.1.25 in [6] from =-=[46]-=-, by proving that !s is strongly normalizing and weak Church-Rosser. Lemma 3.8 (Church-Rosser for !s) If e, e1, and e2 2 E are such that e !!s e1 and e !!s e2, then there exists e3 such that e1 !!s e3... |

27 | Decidable bounded quantification
- Castagna, Pierce
- 1994
(Show Context)
Citation Context ...ension of Girard's F ! [39] 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 =-=[34, 47, 49, 21]-=-. We use the definition of F !^ from [27, 28] that differs from the one presented in [30] by introducing a richer notion of reduction on types, and thereby the four distributivity rules become particu... |

25 | Bounded existentials and minimal typing
- Ghelli, Pierce
- 1998
(Show Context)
Citation Context ...d by Ghelli, introduces serious problems in type checking and type inference. At the moment it is not clear how to solve them or, even more problematic, whether the typing relation is decidable. (See =-=[22, 38]-=- for more details.) The solutions1 INTRODUCTION 5 we chose here to overcome this problem is to replace the subtyping rule between quantifiers by the corresponding rule of Cardelli and Wegner's kernel ... |

25 |
The Church-Rosser Property and a Result in Combinatory Logic
- Hindley
- 1964
(Show Context)
Citation Context ...her the reduction on terms, !fifors (definition 2.3), and the reduction on types, !fi^ (definition 2.1), satisfies the Church-Rosser property [24]. We use the Hindley-Rossen lemma (c.f. 3.3.5 [6] and =-=[43]-=-) to establish this result. This factors the proof into two parts: 1. proving that the reductions !!fifors and !!fi^ commute, and 2. proving that the reductions !fifors and !fi^ satisfy the Church-Ros... |

23 |
A Semantics of Multiple Inheritance. Information and Computation, 76(2/3):138164, February/March
- Cardelli
- 1988
(Show Context)
Citation Context ... . . . . . . . . . . . . . . . . 48 5 Conclusions 50 6 Acknowledgements 51 1 Introduction 1.1 Motivation The formal study of subtyping in programming languages was begun by Reynolds [50] and Cardelli =-=[13]-=-, 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, modeling an increasing range of object-oriented... |

21 |
The Lambda Calculus. North-Holland, revised edition
- Barendregt
- 1984
(Show Context)
Citation Context ...ng together the reduction on terms, !fifors (definition 2.3), and the reduction on types, !fi^ (definition 2.1), satisfies the Church-Rosser property [24]. We use the Hindley-Rossen lemma (c.f. 3.3.5 =-=[6]-=- and [43]) to establish this result. This factors the proof into two parts: 1. proving that the reductions !!fifors and !!fi^ commute, and 2. proving that the reductions !fifors and !fi^ satisfy the C... |

17 | Types for data-oriented languages
- Cardelli
- 1988
(Show Context)
Citation Context ...ulation of objects in object-oriented programming has required higher-order generalizations of subtyping: the F-bounded quantification of Canning, Cook, Hill, Olthoff and Mitchell [12] or system F !^ =-=[14, 16, 15, 45, 11]-=-. Pure Type Systems with subtyping are studied in [53]; in particular an extension of F ! with records, a fixed-point combinator, subtyping, and existential types is used to encode objects and shown t... |

17 | B.C.: Higher-order intersection types and multiple inheritance
- Compagnoni, Pierce
(Show Context)
Citation Context ...s with other typing disciplines can be found in [20], and a second-order *-calculus with intersection types was studied in [47]. The system we study here, F !^ (F-omega-meet), was first introduced in =-=[30]-=-, 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 Girard's F ! [39] with bounded quantification and inte... |

17 |
A new type-assignment for -terms
- Coppo, Dezani-Ciancaglini
- 1978
(Show Context)
Citation Context ...Gammas` T1!T2 : ?, since it follows from \Gammas` S1!S2 : ? using the properties proved in section 3.2. 2.7 Discussion An equivalent presentation of intersection types uses binary intersections as in =-=[32]-=-. The intersection of S and T is then written S ^ T , and there is a maximal element at each kind, !K. The rules of the system have to be modified according to this alternative notation. In most cases... |

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

13 | Typed Operational Semantics for Higher Order Subtyping
- Compagnoni, Goguen
- 1997
(Show Context)
Citation Context ...of of decidability follows a strategy similar to the one presented here, where an alternative formulation of the system is shown to be an equivalent and terminating algorithm. The calculus studied in =-=[29]-=- is a higher-order lambda calculus extending F !^ with bounded operator abstraction, in other words, the lambda abstraction on types has a bounded argument. These bounds introduce an interdependency b... |

12 |
Subtyping in F ! is decidable
- Compagnoni
- 1994
(Show Context)
Citation Context ...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 by Compagnoni in =-=[25]-=-. There are several differences between our work and theirs. Our results are for a stronger system which also includes intersection types, and our proof of decidability of subtyping predates theirs. A... |

11 |
Coercive subtyping for the calculus of constructions
- Chen
(Show Context)
Citation Context ...h constructor subtyping is presented. To avoid the natural interdependence between typing and subtyping, the subtyping relation is defined on pseudoterms (terms that may or may not be typable), as in =-=[53, 23]-=-. The price for this simplification is the need for an unnatural subtyping rule comparing untypable terms (the application of a quantified term to a term). 1.6 Results ffl We define the typed lambda c... |

10 |
Higher-order subtyping. Theoretical Computer Science
- Pierce, Steffen
- 1997
(Show Context)
Citation Context ...auxiliary mappings, since the role played there by canonical types is performed here by types in normal form. After the work in [25] was completed, Steffen and Pierce proved a similar result for F !^ =-=[48]-=-. There are several differences between our work and the proof of decidability of subtyping in [48]. Our result is for a stronger system which also includes intersection types, and implies the result ... |

9 |
Object-Oriented Concepts and Proof Rules: Formalization in Type Theory and Implementation in Yarrow
- Zwanenburg
- 1999
(Show Context)
Citation Context ...order generalizations of subtyping: the F-bounded quantification of Canning, Cook, Hill, Olthoff and Mitchell [12] or system F !^ [14, 16, 15, 45, 11]. Pure Type Systems with subtyping are studied in =-=[53]-=-; in particular an extension of F ! with records, a fixed-point combinator, subtyping, and existential types is used to encode objects and shown to capture key object-oriented programming features suc... |

6 | Constructor Subtyping in the Calculus of Inductive Constructions
- Barthe, Raamsdonk
- 2000
(Show Context)
Citation Context ... and datatypes with built in subtyping and overloading (constructor subtyping) is defined and studied in [8]. The proof of decidability is a straightforward adaptation of the proof presented here. In =-=[9]-=-, an extension of the Calculus of Constructions with constructor subtyping is presented. To avoid the natural interdependence between typing and subtyping, the subtyping relation is defined on pseudot... |

6 | Subject reduction and minimal types for higher order subtyping
- Compagnoni
- 1997
(Show Context)
Citation Context ...on and intersection types, which can be seen as a natural generalization of the type disciplines present in the current literature, for example in [34, 47, 49, 21]. We use the definition of F !^ from =-=[27, 28]-=- that differs from the one presented in [30] by introducing a richer notion of reduction on types, and thereby the four distributivity rules become particular cases of the conversion rule. This altern... |

6 |
Soundness of typed operational semantics for the logical framework
- Goguen
- 1999
(Show Context)
Citation Context ...ncy between subtyping and kinding similar to the one in [4] between subtyping and typing. A radically different approach to proving decidability is used, where a typed operational semantics following =-=[40, 41]-=- is defined and proved equivalent to the original system using a Kripke model, and termination is proved by induction on derivations in the typed operational semantics. A higher-order typed lambda cal... |

4 | Order-sorted inductive types
- Barthe
- 1999
(Show Context)
Citation Context ...r system with recursive types and object constructors. This work also influenced the work of Kathleen Fisher, who used this method in her dissertation (chapter 7 of [36]), and Gilles Barthe showed in =-=[8]-=- how decidability of typechecking in a calculus of order-sorted inductive types can be proved using our technique. 6 Acknowledgements I want to express my gratitude to Mariangiola Dezani-Ciancaglini f... |

4 | Combining type disciplines
- Cardone, de’Liguoro
- 1994
(Show Context)
Citation Context ...ut in the setting of pure lambda calculi, but it has also been applied to programming language design by Reynolds [51]. Work combining intersection types with other typing disciplines can be found in =-=[20]-=-, and a second-order *-calculus with intersection types was studied in [47]. The system we study here, F !^ (F-omega-meet), was first introduced in [30], where it was shown to be rich enough to provid... |