Coherence and Transitivity in Coercive Subtyping

Coercive subtyping is a general approach to subtyping, inheritance and abbreviation in dependent type theories. A vital requirement for coercive subtypingis that of coherence - computational uniqueness of coercions between any two types. In this paper, we develop techniques useful in proving coherence and its related result on admissibility of transitivity and substitution. In particular, we consider suitable subtyping rules for Π-types and Σ-types and prove its coherence and the admissibility of substitution and transitivity rules at the type level in the coercive subtyping framework.

[1]  Giuseppe Longo,et al.  Coherence and transitivity of subtyping as entailment , 2000, J. Log. Comput..

[2]  Zhaohui Luo,et al.  PAL+: a lambda-free logical framework , 2003, Journal of Functional Programming.

[3]  Erik Poll,et al.  Subtyping and Inheritance for Inductive Types , 1997 .

[4]  Lawrence C. Paulson Introduction to Isabelle , 1999 .

[5]  Christine Paulin-Mohring,et al.  Inductive Definitions in the system Coq - Rules and Properties , 1993, TLCA.

[6]  Christine Paulin-Mohring,et al.  The coq proof assistant reference manual , 2000 .

[7]  Zhaohui Luo,et al.  Implementing a Model Checker for LEGO , 1997, FME.

[8]  Bengt Nordström,et al.  Programming in Martin-Lo¨f's type theory: an introduction , 1990 .

[9]  Alonzo Church,et al.  A formulation of the simple theory of types , 1940, Journal of Symbolic Logic.

[10]  Zhaohui Luo,et al.  Coercion completion and conservativity in coercive subtyping , 2001, Ann. Pure Appl. Log..

[11]  Gilles Barthe,et al.  Constructor Subtyping , 1999, ESOP.

[12]  Rod M. Burstall Extended Calculus of Constructions as a Specification Language (Abstract) , 1992, MPC.

[13]  William A. Howard,et al.  The formulae-as-types notion of construction , 1969 .

[14]  Rod M. Burstall,et al.  Deliverables: A Categorial Approach to Program Development in Type Theory , 1993, MFCS.

[15]  Luca Cardelli,et al.  An Extension of System F with Subtyping , 1991, TACS.

[16]  Yong Luo,et al.  Weak Transitivity in Coercive Subtyping , 2002, TYPES.

[17]  P. Dybjer Inductive sets and families in Martin-Lo¨f's type theory and their set-theoretic semantics , 1991 .

[18]  Amokrane Saïbi Typing algorithm in type theory with inheritance , 1997, POPL '97.

[19]  Dag Prawitz,et al.  On the idea of a general proof theory , 1974, Synthese.

[20]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[21]  Thierry Coquand,et al.  Inheritance and explicit coercion , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[22]  Gilles Barthe,et al.  Constructor Subtyping in the Calculus of Inductive Constructions , 2000, FoSSaCS.

[23]  Zhaohui Luo,et al.  Computation and reasoning - a type theory for computer science , 1994, International series of monographs on computer science.

[24]  John C. Mitchell,et al.  Type inference with simple subtypes , 1991, Journal of Functional Programming.

[25]  Álvaro Tasistro,et al.  Extension of Martin-Lf's Type Theory with Record Types and Subtyping , 1998 .

[26]  Healfdene Goguen A typed operational semantics for type theory , 1994 .

[27]  Jan M. Smith,et al.  An interpretation of Martin-Löf's type theory in a type-free theory of propositions , 1984, Journal of Symbolic Logic.

[28]  Zhaohui Luo,et al.  Coercive Subtyping in Type Theory , 1996, CSL.

[29]  Haskell B. Curry,et al.  Combinatory Logic, Volume I , 1959 .

[30]  Zhaohui Luo,et al.  Some Algorithmic and Proof-Theoretical Aspects of Coercive Subtyping , 1996, TYPES.

[31]  Rance Cleaveland,et al.  Implementing mathematics with the Nuprl proof development system , 1986 .

[32]  Zhaohui Luo,et al.  Dependent Coercions , 1999, CTCS.

[33]  Zhaohui Luo,et al.  Program specification and data refinement in type theory , 1991, Mathematical Structures in Computer Science.

[34]  Dag Prawitz,et al.  Towards A Foundation of A General Proof Theory , 1973 .

[35]  Hugo Herbelin,et al.  The Coq proof assistant : reference manual, version 6.1 , 1997 .

[36]  Anton Setzer Proof theoretical strength of Martin-L?f Type Theory with W-type and one universe , 1993 .

[37]  Zhaohui Luo,et al.  Object languages in a type-theoretic meta-framework. , 2001 .

[38]  Edmund M. Clarke,et al.  Verification Tools for Finite-State Concurrent Systems , 1993, REX School/Symposium.

[39]  Simon Thompson,et al.  Type theory and functional programming , 1991, International computer science series.

[40]  Michel Bidoit,et al.  TAPSOFT '97: Theory and Practice of Software Development , 1997, Lecture Notes in Computer Science.

[41]  Jakob Rehof,et al.  Strong Normalization for Non-Structural Subtyping via Saturated Sets , 1996, Inf. Process. Lett..

[42]  M. Gordon,et al.  Introduction to HOL: a theorem proving environment for higher order logic , 1993 .

[43]  Furio Honsell,et al.  A framework for defining logics , 1993, JACM.

[44]  Thierry Coquand,et al.  Inductively defined types , 1988, Conference on Computer Logic.

[45]  Zhaohui Luo,et al.  Coercive Subtyping , 1995 .

[46]  R. Pollack The Theory of LEGO A Proof Checker for the Extended Calculus of Constructions , 1994 .

[47]  F. Dick A survey of the project Automath , 1980 .

[48]  Alvaro Tasistro Substitution, record types and subtyping in type theory, with applications to the theory of programming , 1997 .

[49]  Simon Thompson,et al.  Haskell: The Craft of Functional Programming , 1996 .