Extracting Computer Algebra Programs from Statements

  • Jesús Aransay
  • Clemens Ballarin
  • Julio Rubio
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3643)

Abstract

In this paper, an approach to synthesize correct programs from specifications is presented. The idea is to extract code from definitions appearing in statements which have been mechanically proved with the help of a proof assistant. This approach has been found when proving the correctness of certain Computer Algebra programs (for Algebraic Topology) by using the Isabelle proof assistant. To ease the understanding of our techniques, they are illustrated by means of examples in elementary arithmetic.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aransay, J., Ballarin, C., Rubio, J.: Deduction and Computation in Algebraic Topology. In: Proceedings IDEIA 2002, pp. 47–54. Universidad de Sevilla (2002)Google Scholar
  2. 2.
    Aransay, J., Ballarin, C., Rubio, J.: Towards a higher reasoning level in formalized Homological Algebra. In: Proceedings Calculemus, Aracné Éditrice, pp. 84–88 (2003)Google Scholar
  3. 3.
    Aransay, J., Ballarin, C., Rubio, J.: Four approaches to automated reasoning with differential algebraic structures. In: Buchberger, B., Campbell, J. (eds.) AISC 2004. LNCS (LNAI), vol. 3249, pp. 222–235. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 4.
    Berghofer, S.: Program Extraction in Simply-Typed Higher Order Logic. In: Geuvers, H., Wiedijk, F. (eds.) TYPES 2002. LNCS, vol. 2646, pp. 21–38. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  5. 5.
    Berghofer, S.: Answer to Tom Ridge (February 18, 2005), http://isabelle-users.cl.cam.ac.uk
  6. 6.
    Brown, R.: The twisted Eilenberg-Zilber theorem. Celebrazioni Arch. Secolo XX, Simp. Top., 34–37 (1967)Google Scholar
  7. 7.
    The Coq Proof Assistant Reference Manual, http://coq.inria.fr/doc/main.html
  8. 8.
    Davenport, J.M.: Effective Mathematics: the Computer Algebra viewpoint. Lecture Notes in Mathematics, vol. 873, pp. 31–43 (1981)Google Scholar
  9. 9.
    Davenport, J.M.: Algebraic computations and structures. Lecture Notes in Pure and Applied Mathematics, vol. 113, pp. 129–144. Marcel Dekker, New York (1989)Google Scholar
  10. 10.
    Dousson, X., Sergeraert, F., Siret, Y.: The Kenzo program, http://www-fourier.ujf-grenoble.fr/~sergerar/Kenzo/
  11. 11.
    Kaufmann, M., Manolios, P., Strother Moore, J.: Computer-Aided Reasoning: An Approach. Kluwer Academic Publishers, Dordrecht (2000)Google Scholar
  12. 12.
    Kopylov, A., Nogin, A.: Markov’s principle for propositional type theory. In: Fribourg, L. (ed.) CSL 2001 and EACSL 2001. LNCS, vol. 2142, pp. 570–584. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  13. 13.
    Lambán, L., Pascual, V., Rubio, J.: An object-oriented interpretation of the EAT system. Applicable Algebra in Engineering, Communication and Computing 14, 187–215 (2003)MATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Markov, A.A.: On constructive mathematics. AMS Translations 98, 1–9 (1971)MATHGoogle Scholar
  15. 15.
    Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL: A proof assistant for higher order logic. LNCS, vol. 2283. Springer, Heidelberg (2002)MATHGoogle Scholar
  16. 16.
    Rubio, J.: Constructive proofs or constructive statements? Dagstuhl Proceedings 05021 (2005), http://www.dagstuhl.de/05021/
  17. 17.
    Rubio, J., Sergeraert, F.: Constructive Algebraic Topology. Bulletin des Sciences Mathématiques 126, 389–412 (2002)MATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Rudnicki, P.: An Overview of the MIZAR Project. In: Proceedings Workshop on Types for Proofs and Programs, pp. 311–330 (1992), http://web.cs.ualberta.ca/piotr/Mizar/MizarOverview.ps
  19. 19.
    Schirmer, N.: A verification environment for sequential imperative programs in Isabelle/HOL. In: Baader, F., Voronkov, A. (eds.) LPAR 2004. LNCS (LNAI), vol. 3452, pp. 398–414. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  20. 20.
    Takeyama, M., Haiyan, Q., Dybjer, P.: Verifying Haskell programs by combining testing, model checking and interactive theorem proving. Information and software technology 15, 1011–1025 (2004)Google Scholar
  21. 21.
    Wenzel, M., Wiedijk, F.: A Comparison of Mizar and Isar. Journal of Automated Reasoning 29, 389–411 (2002)MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Jesús Aransay
    • 1
  • Clemens Ballarin
    • 2
  • Julio Rubio
    • 1
  1. 1.Dpto. de Matemáticas y ComputaciónUniv. de La RiojaLogroñoSpain
  2. 2.Institut für InformatikTechnische UnivMünchen, GarchingGermany

Personalised recommendations