Advertisement

Pragmatic Quotient Types in Coq

  • Cyril Cohen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7998)

Abstract

In intensional type theory, it is not always possible to form the quotient of a type by an equivalence relation. However, quotients are extremely useful when formalizing mathematics, especially in algebra. We provide a Coq library with a pragmatic approach in two complementary components. First, we provide a framework to work with quotient types in an axiomatic manner. Second, we program construction mechanisms for some specific cases where it is possible to build a quotient type. This library was helpful in implementing the types of rational fractions, multivariate polynomials, field extensions and real algebraic numbers.

Keywords

Quotient types Formalization of mathematics Coq 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Barthe, G., Capretta, V., Pons, O.: Setoids in type theory. Journal of Functional Programming 13(2), 261–293 (2003); Special Issue on Logical Frameworks and MetalanguagesGoogle Scholar
  2. 2.
    Sozeau, M.: A New Look at Generalized Rewriting in Type Theory. Journal of Formalized Reasoning 2(1), 41–62 (2009)MathSciNetzbMATHGoogle Scholar
  3. 3.
    Chicli, L., Pottier, L., Simpson, D.: Mathematical quotients and quotient types in Coq. In: Geuvers, H., Wiedijk, F. (eds.) TYPES 2002. LNCS, vol. 2646, pp. 95–107. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  4. 4.
    Gonthier, G., Mahboubi, A., Tassi, E.: A small scale reflection extension for the Coq system. INRIA Technical report, http://hal.inria.fr/inria-00258384
  5. 5.
    The Mathematical Components Project: SSReflect extension and libraries, http://www.msr-inria.inria.fr/Projects/math-components/index_html
  6. 6.
    Garillot, F., Gonthier, G., Mahboubi, A., Rideau, L.: Packaging Mathematical Structures. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 327–342. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  7. 7.
    Cohen, C.: Formalized algebraic numbers: construction and first order theory. PhD thesis, École polytechnique (2012)Google Scholar
  8. 8.
    Saibi, A.: Typing algorithm in type theory with inheritance. In: Proceedings of Principles of Programming Languages, POPL 1997, pp. 292–301 (1997)Google Scholar
  9. 9.
    Hedberg, M.: A coherence theorem for Martin-Löf’s type theory. Journal of Functional Programming, 4–8 (1998)Google Scholar
  10. 10.
    Bartzia, I., Strub, P.Y.: A formalization of elliptic curves (2011), http://pierre-yves.strub.nu/research/ec/
  11. 11.
    Cohen, C., Coquand, T.: A constructive version of laplace’s proof on the existence of complex roots. Journal of Algebra 381, 110–115 (2013)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Cohen, C.: Reasoning about big enough numbers in Coq (2012), http://perso.crans.org/cohen/work/bigenough/
  13. 13.
    Cohen, C.: Construction of real algebraic numbers in Coq. In: Beringer, L., Felty, A. (eds.) ITP 2012. LNCS, vol. 7406, pp. 67–82. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  14. 14.
    Hofmann, M.: Extensional concepts in intensional type theory. Phd thesis, University of Edinburgh (1995)Google Scholar
  15. 15.
    Courtieu, P.: Normalized types. In: Fribourg, L. (ed.) CSL 2001 and EACSL 2001. LNCS, vol. 2142, pp. 554–569. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  16. 16.
    Gonthier, G., Mahboubi, A., Rideau, L., Tassi, E., Théry, L.: A Modular Formalisation of Finite Group Theory. Rapport de recherche RR-6156, INRIA (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Cyril Cohen
    • 1
  1. 1.Department of Computer Science and EngineeringUniversity of GothenburgSweden

Personalised recommendations