RZ: A Tool for Bringing Constructive and Computable Mathematics Closer to Programming Practice

  • Andrej Bauer
  • Christopher A. Stone
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4497)

Abstract

Realizability theory can produce interfaces for the data structure corresponding to a mathematical theory. Our tool, called RZ, serves as a bridge between constructive mathematics and programming by translating specifications in constructive logic into annotated interface code in Objective Caml. The system supports a rich input language allowing descriptions of complex mathematical structures. RZ does not extract code from proofs, but allows any implementation method, from handwritten code to code extracted from proofs by other tools.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Weihrauch, K.: Computable Analysis. Springer, Berlin (2000)CrossRefMATHGoogle Scholar
  2. 2.
    Tucker, J., Zucker, J.I.: Computable functions and semicomputable sets on many-sorted algebras. In: Abramsky, S., Gabbay, D., Maibaum, T. (eds.) Handbook of Logic in Computer Science, vol. 5, Clarendon Press, Oxford (1998)Google Scholar
  3. 3.
    Blanck, J.: Domain representability of metric spaces. Annals of Pure. and Applied Logic 83, 225–247 (1997)MathSciNetCrossRefMATHGoogle Scholar
  4. 4.
    Edalat, A., Lieutier, A.: Domain of differentiable functions. In: Blank, J., Brattka, V., Hertling, P. (eds.) CCA 2000. LNCS, vol. 2064, pp. 17–19. Springer, Heidelberg (2000)Google Scholar
  5. 5.
    Müller, N.: The iRRAM: Exact arithmetic in C++. In: Blank, J., Brattka, V., Hertling, P. (eds.) CCA 2000. LNCS, vol. 2064, pp. 17–19. Springer, Heidelberg (2000)Google Scholar
  6. 6.
    Lambov, B.: RealLib: an efficient implementation of exact real arithmetic. In: Grubba, T., Hertling, P., Tsuiki, H., Weihrauch, K. (eds.) Computability and Complexity in Analysis Proccedings, Second International Conference, CCA 2005, Kyoto, Japan, August 25–29, 2005 pp. 169–175 (2005)Google Scholar
  7. 7.
    Leroy, X., Doligez, D., Garrigue, J., Rémy, D., Vouillon, J.: The Objective Caml system, documentation and user’s manual - release 3.08. Technical report, INRIA (July 2004)Google Scholar
  8. 8.
    Komagata, Y., Schmidt, D.A.: Implementation of intuitionistic type theory and realizability theory. Technical Report TR-CS-95-4, Kansas State University (1995)Google Scholar
  9. 9.
    Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development. Springer, Heidelberg (2004)CrossRefMATHGoogle Scholar
  10. 10.
    Benl, H., Berger, U., Schwichtenberg, H., Seisenberger, M., Zuber, W.: Proof theory at work: Program development in the Minlog system. In: Bibel, W., Schmidt, P.H. (eds.) Automated Deduction: A Basis for Applications, Systems and Implementation Techniques, vol. II, Kluwer Academic Publishers, Dordrecht (1998)Google Scholar
  11. 11.
    Bauer, A., Stone, C.A.: Specifications via realizability. In: Proceedings of the Workshop on the Constructive Logic for Automated Software Engineering (CLASE 2005) volume 153 of Electronic Notes in Theoretical Computer Science, pp. 77–92 (2006)Google Scholar
  12. 12.
    Longley, J.: Matching typed and untyped realizability. Electr. Notes Theor. Comput. Sci. 23(1) (1999)Google Scholar
  13. 13.
    Longley, J.: When is a functional program not a functional program? In: International Conference on Functional Programming, pp. 1–7 (1999)Google Scholar
  14. 14.
    Bauer, A.: The Realizability Approach to Computable Analysis and Topology. PhD thesis, Carnegie Mellon University (2000)Google Scholar
  15. 15.
    Jacobs, B.: Categorical Logic and Type Theory. Elsevier, Amsterdam (1999)MATHGoogle Scholar
  16. 16.
    Post, E.: Recursive unsolvability of a problem of Thue. The Journal of Symbolic Logic 12, 1–11 (1947)MathSciNetCrossRefMATHGoogle Scholar
  17. 17.
    Troelstra, A.S., van Dalen, D.: Constructivism in Mathematics, An Introduction. Studies in Logic and the Foundations of Mathematics, vol. 1(121). North-Holland, Amsterdam (1988)MATHGoogle Scholar
  18. 18.
    Harper, R., Mitchell, J.C., Moggi, E.: Higher-order Modules and the Phase Distinction. In: Proceedings of the 17th ACM Symposium on Principles of Programming Languages (POPL ’90), pp. 341–354. ACM Press, New York (1990)Google Scholar
  19. 19.
    Nordström, B., Petersson, K., Smith, J.M.: Programming in Martin-Löf’s Type Theory. Oxford University Press, Oxford (1990)MATHGoogle Scholar
  20. 20.
    Barwise, J.: Admissible Sets and Structures. Springer, Heidelberg (1975)CrossRefMATHGoogle Scholar
  21. 21.
    Troelstra, A.S., van Dalen, D.: Constructivism in Mathematics, An Introduction. In: Studies in Logic and the Foundations of Mathematics, vol. 2(123), North-Holland, Amsterdam (1988)Google Scholar
  22. 22.
    Kahrs, S., Sannella, D., Tarlecki, A.: The definition of Extended ML: A gentle introduction. Theoretical Computer Science 173(2), 445–484 (1997)MathSciNetCrossRefMATHGoogle Scholar
  23. 23.
    Ershov, Y.L., Goncharov, S.S., Nerode, A., Remmel, J.B. (eds.): Handbook of Recursive Mathematics. Elsevier, Amsterdam (1998)MATHGoogle Scholar
  24. 24.
    Kleene, S.C.: On the interpretation of intuitionistic number theory. Journal of Symbolic Logic 10, 109–124 (1945)MathSciNetCrossRefMATHGoogle Scholar
  25. 25.
    Kleene, S.C., Vesley, R.E.: The Foundations of Intuitionistic Mathematics, especially in relation to recursive functions. North-Holland Publishing Company, Amsterdam (1965)MATHGoogle Scholar
  26. 26.
    Birkedal, L.: Developing Theories of Types and Computability. PhD thesis, School of Computer Science, Carnegie Mellon University (December 1999)Google Scholar
  27. 27.
    Blanck, J.: Computability on topological spaces by effective domain representations. PhD thesis, Uppsala University, Department of Mathematics, Uppsala, Sweden (1997)Google Scholar
  28. 28.
    Bauer, A., Birkedal, L., Scott, D.S.: Equilogical spaces. Theoretical Computer Science 1(315), 35–59 (2004)MathSciNetCrossRefMATHGoogle Scholar
  29. 29.
    Scott, D.S.: Data types as lattices. SIAM Journal of Computing 5(3), 522–587 (1976)MathSciNetCrossRefMATHGoogle Scholar
  30. 30.
    Escardó, M.H.: PCF extended with real numbers. PhD thesis, Department of Computer Science, University of Edinburgh (December 1997)Google Scholar
  31. 31.
    Marcial-Romero, J.R., Escardó, M.H.: Semantics of a sequential language for exact real-number computation. In: Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, pp. 426–435. IEEE Computer Society Press, Los Alamitos (2004)Google Scholar
  32. 32.
    Borodin, A., Monro, J.I.: The computational complexity of algebraic and numeric problems. Elsevier computer science library: Theory of computation series, vol. 1. American Elsevier, New York, London, Amsterdam (1975)Google Scholar
  33. 33.
    Blum, L., Cucker, F., Shub, M., Smale, S.: Complexity and Real Computation. Springer, New York (1998)CrossRefMATHGoogle Scholar
  34. 34.
    Yap, C.K.: Theory of real computation according to EGC (2006) To appear in LNCS Volume based on the Dagstuhl Seminar Reliable Implementation of Real Number Algorithms: Theory and Practice, (Jan 8-13, 2006)Google Scholar
  35. 35.
    Bishop, E., Bridges, D.: Constructive Analysis. Grundlehren der math. Wissenschaften, vol. 279. Springer, Heidelberg (1985)MATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Andrej Bauer
    • 1
  • Christopher A. Stone
    • 2
  1. 1.Faculty of Mathematics and Physics, University of LjubljanaSlovenia
  2. 2.Computer Science Department, Harvey Mudd CollegeUSA

Personalised recommendations