Dependent Record Types, Subtyping and Proof Reutilization

We present an example of formalization of systems of algebras using an extension of Martin-LL of's theory of types with record types and subtyping. This extension has been presented in 5]. In this paper we intend to illustrate all the features of the extended theory that we consider relevant for the task of formalizing algebraic constructions. We also provide code of the formalization as accepted by a type checker that has been implemented. 1. Introduction We shall use an extension of Martin-LL of's theory of logical types 14] with dependent record types and subtyping as the formal language in which constructions concerning systems of algebras are going to be represented. The original formulation of Martin-LL of's theory of types, from now on referred to as the logical framework, has been presented in 15, 7]. The system of types that this calculus embodies are the type Set (the type of inductively deened sets), dependent function types

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

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

[3]  Stanley Burris,et al.  A course in universal algebra , 1981, Graduate texts in mathematics.

[4]  E. Van Gestel,et al.  Programming in Martin-Löf's Type Theory: an Introduction : Bengt Nordström, Kent Petersson and Jan M. Smith Intl. Series of Monographs on Computer Science, Vol. 7, Oxford Science Publications, Oxford, 1990, 231 pages , 1991 .

[5]  G. Grätzer,et al.  Lattice Theory: First Concepts and Distributive Lattices , 1971 .

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

[7]  Gilles Barthe,et al.  Implicit Coercions in Type Systems , 1995, TYPES.

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

[9]  Paul B. Jackson Enhancing the NUPRL Proof Development System and Applying it to Computational Abstract Algebra , 1995 .

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

[11]  Thierry Coquand,et al.  Type Theory and Programming , 2007 .

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

[13]  Thierry Coquand,et al.  An Algorithm for Type-Checking Dependent Types , 1996, Sci. Comput. Program..

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