Dependently Typed Records for Representing Mathematical Structure

Consider a statement about groups “For G a group, ...”. A naive approach to formalize this is to unfold the meaning of group, so that every statement about groups begins with $$ For\,\,G\,\,a\,\,set,\,\, + \,an\,\,operation\,\,on\,\,G,\,\, + \,\,associative,\,\,e\,\, \in \,\,G,\,... $$ (1) This “unpackaged” approach can be improved by collecting all the parts of the meaning of group into a context, which need not be explicitly mentioned in every statement. A means of discharging some of the context is provided, so that statements made under that context can be instantiated with particular groups. However once that group context is discharged, all the parts of a group must be mentioned when using any general lemma about groups. Variations on this are supported by many proof tools, e.g. Coq’s Section mechanism [Coq99], Lego’s Discharge [LEG99], Automath contexts and Isabelle locales.

[1]  David B. MacQueen Using dependent types to express modular structure , 1986, POPL '86.

[2]  Xavier Leroy,et al.  A syntactic theory of type generativity and sharing , 1996, Journal of Functional Programming.

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

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

[5]  Judicaël Courant,et al.  A Module Calculus for Pure Type Systems , 1997, TLCA.

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

[7]  de Ng Dick Bruijn,et al.  Telescopic Mappings in Typed Lambda Calculus , 1991, Inf. Comput..

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

[9]  Xavier Leroy,et al.  Manifest types, modules, and separate compilation , 1994, POPL '94.

[10]  Alvaro Tasistro Abstract Insertion Sort in an Extension of Type Theory with Record Types and Subtyping , 1996, TYPES.

[11]  Florian Kammüller Modular Structures as Dependent Types in Isabelle , 1998, TYPES.

[12]  Per Martin-Löf,et al.  Intuitionistic type theory , 1984, Studies in proof theory.

[13]  Giovanni Sambin,et al.  Twenty-five years of constructive type theory. , 1998 .

[14]  Peter Dybjer,et al.  A general formulation of simultaneous inductive-recursive definitions in type theory , 2000, Journal of Symbolic Logic.

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

[16]  Butler W. Lampson,et al.  Pebble, a Kernel Language for Modules and Abstract Data Types , 1988, Inf. Comput..

[17]  Mark Lillibridge,et al.  A type-theoretic approach to higher-order modules with sharing , 1994, POPL '94.