Advertisement

A Refinement-Based Approach to Computational Algebra in Coq

  • Maxime Dénès
  • Anders Mörtberg
  • Vincent Siles
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7406)

Abstract

We describe a step-by-step approach to the implementation and formal verification of efficient algebraic algorithms. Formal specifications are expressed on rich data types which are suitable for deriving essential theoretical properties. These specifications are then refined to concrete implementations on more efficient data structures and linked to their abstract counterparts. We illustrate this methodology on key applications: matrix rank computation, Winograd’s fast matrix product, Karatsuba’s polynomial multiplication, and the gcd of multivariate polynomials.

Keywords

Polynomial Multiplication Proof Assistant Canonical Structure Multivariate Polynomial Concrete Implementation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abdeljaoued, J., Lombardi, H.: Méthodes matricielles - Introduction à la complexité algébrique. Springer (2004)Google Scholar
  2. 2.
    Barendregt, H., Geuvers, H., Pollack, R., Wiedijk, F., Zwanenburg, J.: The “fundamental theorem of algebra” project, http://www.cs.ru.nl/~freek/fta/
  3. 3.
    Bertot, Y., Gonthier, G., Ould Biha, S., Pasca, I.: Canonical Big Operators. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) TPHOLs 2008. LNCS, vol. 5170, pp. 86–101. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  4. 4.
    Coppersmith, D., Winograd, S.: Matrix multiplication via arithmetic progressions. Journal of Symbolic Computation 9(3), 251–280 (1990)MathSciNetzbMATHCrossRefGoogle Scholar
  5. 5.
    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
  6. 6.
    Gonthier, G.: Formal proof—the four-color theorem. In: Notices of the American Mathematical Society, vol. 55, pp. 1382–1393 (2008)Google Scholar
  7. 7.
    Gonthier, G.: Point-Free, Set-Free Concrete Linear Algebra. In: van Eekelen, M., Geuvers, H., Schmaltz, J., Wiedijk, F. (eds.) ITP 2011. LNCS, vol. 6898, pp. 103–118. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  8. 8.
    Gonthier, G., Mahboubi, A.: A Small Scale Reflection Extension for the COQ system. Technical report, Microsoft Research INRIA (2009), http://hal.inria.fr/inria-00258384
  9. 9.
    Grégoire, B., Théry, L.: A Purely Functional Library for Modular Arithmetic and Its Application to Certifying Large Prime Numbers. In: Furbach, U., Shankar, N. (eds.) IJCAR 2006. LNCS (LNAI), vol. 4130, pp. 423–437. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  10. 10.
    Hales, T.C.: The jordan curve theorem, formally and informally. In: The American Mathematical Monthly, vol. 114, pp. 882–894 (2007)Google Scholar
  11. 11.
    Karatsuba, A., Ofman, Y.: Multiplication of many-digital numbers by automatic computers. In: USSR Academy of Sciences, vol. 145, pp. 293–294 (1962)Google Scholar
  12. 12.
    Knuth, D.E.: The art of computer programming, vol.2: seminumerical algorithms. Addison-Wesley (1981)Google Scholar
  13. 13.
    Mahboubi, A.: Proving Formally the Implementation of an Efficient gcd Algorithm for Polynomials. In: Furbach, U., Shankar, N. (eds.) IJCAR 2006. LNCS (LNAI), vol. 4130, pp. 438–452. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Mines, R., Richman, F., Ruitenburg, W.: A Course in Constructive Algebra. Springer (1988)Google Scholar
  15. 15.
    O’Connor, R.: Karatsuba’s multiplication, http://coq.inria.fr/V8.2pl1/contribs/Karatsuba.html
  16. 16.
    O’Connor, R.: Certified Exact Transcendental Real Number Computation in COQ. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) TPHOLs 2008. LNCS, vol. 5170, pp. 246–261. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  17. 17.
    Palomo-Lozano, F., Medina-Bulo, I., Alonso-Jiménez, J.: Certification of matrix multiplication algorithms. strassen’s algorithm in ACL2. In: Supplemental Proceedings of the 14th International Conference on Theorem Proving in Higher Order Logics, Informatics Research Report EDI-INF-RR-0046, Edinburgh (2001)Google Scholar
  18. 18.
    Sozeau, M., Oury, N.: First-Class Type Classes. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) TPHOLs 2008. LNCS, vol. 5170, pp. 278–293. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  19. 19.
    Strassen, V.: Gaussian elimination is not optimal. Numerische Mathematik 13(4), 354–356 (1969)MathSciNetzbMATHCrossRefGoogle Scholar
  20. 20.
    Winograd, S.: On multiplication of 2x2 matrices. Linear Algebra and its Applications 4, 381–388 (1971)MathSciNetzbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Maxime Dénès
    • 1
  • Anders Mörtberg
    • 2
  • Vincent Siles
    • 2
  1. 1.INRIA Sophia Antipolis – MéditerranéeFrance
  2. 2.University of GothenburgSweden

Personalised recommendations