Coherence Checking of Coercions in Plastic

Coercive Subtyping is a conceptually simple but powerful framework for subtyping in type theory. Recent work in Durham by Luo et al. on Coercive Subtyping has been partially implemented in the proof assistant`Plastic'. Plastic is an implementation of a variant of Martin-LL of's LF with inductive types, universes, and coercive subtyping. After discussing background theory and then the implementation of coercions, this paper considers the important issue of coherence. Where several coercions are applicable, coherence will guarantee that the computational result is the same in all cases. Checking coherence is a diicult problem for implementations. Previous implementations have tackled this problem by imposing restrictions on the coercions that may be used, which also limits the power of coercions, eg making them harder to use with deenitions. This paper considers ways around the problem in a less restricted setting. One possibility is to only check coherence of the coercions actually used, rather than trying to check it globally over all possible coercions whether they are used or not; this technique we call \dynamic coherence checking".

[1]  Zhaohui Luo,et al.  Mathematical Vernacular and Conceptual Well-Formedness in Mathematical Language , 1997, LACL.

[2]  Mark P. Jones Coherence for Qualiied Types , 1993 .

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

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

[5]  T. Coquand An algorithm for testing conversion in type theory , 1991 .

[6]  Gift Siromoney,et al.  A Perspective in Theoretical Computer Science - Commemorative Volume for Gift Siromoney , 1989, A Perspective in Theoretical Computer Science.

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

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

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

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

[11]  Gustavo Betarte Dependent Record Types, Subtyping and Proof Reutilization , .

[12]  Zhaohui Luo,et al.  Mathematical Vernacular in Type Theory-based Proof Assistants , 1998 .

[13]  Luca Cardelli,et al.  Typechecking Dependent Types and Subtypes , 1986, Foundations of Logic and Functional Programming.

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

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