Packaging Mathematical Structures

This paper proposes generic design patterns to define and combine algebraic structures, using dependent records, coercions and type inference, inside the Coq system. This alternative to telescopes in particular supports multiple inheritance, maximal sharing of notations and theories, and automated structure inference. Our methodology is robust enough to handle a hierarchy comprising a broad variety of algebraic structures, from types with a choice operator to algebraically closed fields. Interfaces for the structures enjoy the convenience of a classical setting, without requiring any axiom. Finally, we present two applications of our proof techniques: a key lemma for characterising the discrete logarithm, and a matrix decomposition problem.

[1]  Gilles Barthe,et al.  Setoids in type theory , 2003, Journal of Functional Programming.

[2]  Claudio Sacerdoti Coen,et al.  A constructive and formal proof of Lebesgue's Dominated Convergence Theorem in the interactive theorem prover Matita , 2008, J. Formaliz. Reason..

[3]  J. van Leeuwen,et al.  Theorem Proving in Higher Order Logics , 1999, Lecture Notes in Computer Science.

[4]  David Aspinall,et al.  Formalising Java's Data Race Free Guarantee , 2007, TPHOLs.

[5]  Clifford Stein,et al.  Introduction to Algorithms, 2nd edition. , 2001 .

[6]  Enrico Tassi,et al.  A Small Scale Reflection Extension for the Coq system , 2008 .

[7]  Markus Wenzel,et al.  Local Theory Specifications in Isabelle/Isar , 2009, TYPES.

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

[9]  Thorsten Altenkirch,et al.  Observational equality, now! , 2007, PLPV.

[10]  C. Paulin-Mohring Définitions Inductives en Théorie des Types , 1996 .

[11]  Maribel Fernández,et al.  Curry-Style Types for Nominal Terms , 2006, TYPES.

[12]  Herman Geuvers,et al.  A Constructive Algebraic Hierarchy in Coq , 2002, J. Symb. Comput..

[13]  Robert Pollack,et al.  Dependently Typed Records for Representing Mathematical Structure , 2000, TPHOLs.

[14]  R. Tennant Algebra , 1941, Nature.

[15]  Ioana Pasca,et al.  Canonical Big Operators , 2008, TPHOLs.

[16]  Gabriela Olteanu,et al.  Computing the Wedderburn decomposition of group algebras by the Brauer-Witt theorem , 2007, Math. Comput..

[17]  Claudio Sacerdoti Coen,et al.  Working with Mathematical Structures in Type Theory , 2007, TYPES.

[18]  Piotr Rudnicki,et al.  Commutative Algebra in the Mizar System , 2001, J. Symb. Comput..

[19]  Robert Pollack Dependently Typed Records in Type Theory , 2002, Formal Aspects of Computing.

[20]  Matthieu Sozeau,et al.  First-Class Type Classes , 2008, TPHOLs.

[21]  Lawrence C. Paulson Defining functions on equivalence classes , 2006, TOCL.

[22]  Enrico Tassi,et al.  A Modular Formalisation of Finite Group Theory , 2007, TPHOLs.

[23]  George W. Polites,et al.  An introduction to the theory of groups , 1968 .

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