Abstract. We present new sound and complete axiomatizations of type equality and subtype inequality for a first-order type language with regular recursive types. The rules are motivated by coinductive characterizations of type containment and type equality via simulation and bisimulation, respectively. The main novelty of the axiomatization is the fixpoint rule (or coinduction principle). It states that from A; P ` P one may deduce A ` P, where P is either a type equality � � = �� 0
|
303
|
Subtyping recursive types
– Amadio, Cardelli
- 1993
|
|
294
|
Results on the propositional -calculus
– Kozen
- 1983
|
|
240
|
Semantics of Programming Languages: Structures and Techniques. Foundations of Computing
– Gunter
- 1992
|
|
203
|
The lazy lambda calculus
– Abramsky
- 1990
|
|
126
|
Lambda-Calculus Models of Programming Languages
– Morris
- 1968
|
|
125
|
Fundamental properties of infinite trees
– Courcelle
- 1983
|
|
113
|
The principal type-scheme of an object in combinatory logic
– Hindley
- 1969
|
|
110
|
Bisimilarity as a theory of functional programming: Mini-course
– GORDON
- 1995
|
|
110
|
A completeness theorem for Kleene algebras and the algebra of regular events
– Kozen
- 1994
|
|
107
|
Inheritance as implicit coercion
– Breazu-Tannen, Coquand, et al.
- 1991
|
|
103
|
Fully Abstract Models of Typed Lambda-Calculi
– Milner
- 1977
|
|
101
|
A Complete Inference System for a Class of Regular Behaviours
– Milner
- 1984
|
|
75
|
Co-induction in relational semantics
– Milner, Tofte
- 1991
|
|
54
|
Infinite objects in Type Theory
– Coquand
- 1993
|
|
54
|
Procedures and Parameters: an axiomatic approach
– Hoare
- 1971
|
|
52
|
Equational term graph rewriting
– Ariola, Klop
- 1996
|
|
52
|
Two complete axiom systems for the algebra of regular events
– Salomaa
- 1966
|
|
48
|
Efficient recursive subtyping
– Kozen, Palsberg, et al.
- 1993
|
|
47
|
Type inference with recursive types. Syntax and Semantics
– Cardone, Coppo
- 1991
|
|
43
|
A coinduction principle for recursive data types based on bisimulation
– Fiore
- 1996
|
|
32
|
Dynamic typing: Syntax and proof theory
– Henglein
- 1994
|
|
23
|
Syntactic considerations on recursive types
– Abadi, Fiore
|
|
22
|
Coherence of subsumption
– Curien, Ghelli
- 1990
|
|
21
|
Résolution d’équations dans des langages d’ordre 1, 2,...,ω
– Huet
- 1976
|
|
16
|
Final Semantics for a Higher Order Concurrent Language
– Lenisa
- 1996
|
|
14
|
Propositional modal logic of programs
– Fischer, Ladner
- 1977
|
|
11
|
Final Semantics for Untyped Lambda Calculus
– Honsell
- 1995
|
|
9
|
An Algorithm for Testing the Equivalence of Finite Automata
– Hopcroft, Karp
- 1971
|
|
7
|
Type Assignment in the Lambda-Calculus: Syntax and Semantics
– Ben-Yelles
- 1979
|
|
5
|
Total correctness for procedures
– Sokolowski
- 1977
|
|
4
|
Reprinted with corrections
– Aho, Sethi, et al.
- 1986
|
|
3
|
A Calculus for Boxing Analysis of Polymorphically Typed Languages
– Jrgensen
- 1995
|
|
2
|
Algorithm for subtyping recursive types (in Modula-3). http://www.research.digital.com/SRC/personal/Luca Cardelli/Notes/RecSub.txt
– Cardelli
- 1993
|
|
2
|
Polymorphic dynamic typing --- aspects of proof theory and inference
– Rehof
- 1995
|
|
1
|
An Introduction to Inductive Definitions, chapter C.7
– Aczel
- 1977
|
|
1
|
Recursive subtyping: Axiomatizations and computational interpretations
– Brandt
- 1997
|
|
1
|
Regular bohm trees
– Huet
- 1996
|
|
1
|
A hoare-like proof system for total correctness of nested recursive procedures
– Nielson
- 1985
|