by Gilles Barthe, Maria Jo~ao Frade
Proceedings of ESOP'99, LNCS 1576
http://www.di.uminho.pt/~mjf/publicacoes/esop99.ps.gz
Add To MetaCart
Abstract:
Abstract. Constructor subtyping is a form of subtyping in which an inductive type oe is viewed as a subtype of another inductive type � � if � � has more constructors than oe. As suggested in [5, 12], its (potential) uses include proof assistants and functional programming languages. In this paper, we introduce and study the properties of a simply typed-calculus with record types and datatypes, and which supports record subtyping and constructor subtyping. In the first part of the paper, we show that the calculus is confluent and strongly normalizing. In the second part of the paper, we show that the calculus admits a well-behaved theory of canonical inhabitants, provided one adopts expansive extensionality rules, including j-expansion, surjective pairing, and a suitable expansion rule for datatypes. Finally, in the third part of the paper, we extend our calculus with unbounded recursion and show that confluence is preserved. 1
Citations
|
910
|
Temporal and modal logic
– Emerson
- 1990
|
|
795
|
A theory of objects
– Abadi, Cardelli
- 1996
|
|
762
|
On understanding types, data abstraction, and polymorphism
– Cardelli, Wegner
- 1985
|
|
245
|
The Lambda-Calculus, its Syntax and Semantics, volume 103
– Barendregt
- 1984
|
|
166
|
The Modula-3 type system
– Cardelli, Donahue, et al.
- 1989
|
|
139
|
A calculus for overloaded functions with subtyping
– Castagna, Ghelli, et al.
- 1995
|
|
74
|
Pattern Matching with Dependent Types
– Coquand
- 1992
|
|
26
|
Adjoint Rewriting
– Ghani
- 1995
|
|
25
|
Structural recursive definitions in type theory
– Giménez
- 1998
|
|
19
|
Simulating expansions without expansions
– Cosmo, Kesner
- 1994
|
|
14
|
The impact of the lambda calculus in logic and computer science
– Barendregt
- 1997
|
|
14
|
Dependent Record Types and Algebraic Structures in Type Theory
– Betarte
- 1998
|
|
14
|
Typed operational semantics for higher-ordersubtyping
– Compagnoni, Goguen
- 2003
|
|
5
|
A brief history of rewriting with extensionality
– Cosmo
- 1996
|
|
4
|
The Coq Proof Assistant User's Guide. Version 6.2
– al
- 1998
|
|
4
|
Order-sorted inductive types
– Barthe
- 1999
|