Hostname: page-component-78c5997874-4rdpn Total loading time: 0 Render date: 2024-11-09T21:59:40.437Z Has data issue: false hasContentIssue false

Program extraction in exact real arithmetic

Published online by Cambridge University Press:  10 November 2014

KENJI MIYAMOTO
Affiliation:
Mathematisches Institut, LMU, Theresienstr. 39, D-80333 München, Germany Email: [email protected], [email protected]
HELMUT SCHWICHTENBERG
Affiliation:
Mathematisches Institut, LMU, Theresienstr. 39, D-80333 München, Germany Email: [email protected], [email protected]

Abstract

The importance of an abstract approach to a computation theory over general data types has been stressed by Tucker in many of his papers. Berger and Seisenberger recently elaborated the idea for extraction out of proofs involving (only) abstract reals. They considered a proof involving coinduction of the proposition that any two reals in [−1, 1] have their average in the same interval, and informally extract a Haskell program from this proof, which works with stream representations of reals. Here we formalize the proof, and machine extract its computational content using the Minlog proof assistant. This required an extension of this system to also take coinduction into account.

Type
Paper
Copyright
Copyright © Cambridge University Press 2014 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

Footnotes

Kenji Miyamoto is supported by the Marie Curie Initial Training Network in Mathematical Logic – MALOA – from Mathematical Logic to Applications, PITN-GA-2009-238381

References

Berger, U. (1993) Program extraction from normalization proofs. In: Bezem, M. and Groote, J. (eds.) Typed Lambda Calculi and Applications. Springer Verlag Lecture Notes in Computer Science 664 91106.CrossRefGoogle Scholar
Berger, U. (2009) From coinductive proofs to exact real arithmetic. In: Grädel, E. and Kahle, R. (eds.) Computer Science Logic. Springer Verlag Lecture Notes in Computer Science 5771 132146.Google Scholar
Berger, U., Eberl, M. and Schwichtenberg, H. (2003) Term rewriting for normalization by evaluation. Information and Computation 183 1942.CrossRefGoogle Scholar
Berger, U. and Seisenberger, M. (2010) Proofs, programs, processes. In: Ferreira, F. et al. (eds.) Proceedings CiE 2010. Springer Verlag Lecture Notes Computer Science 6158 3948.Google Scholar
Berger, U. and Seisenberger, M. (2012) Proofs, programs, processes. Theory of Computing 51 313329.Google Scholar
Berghofer, S. (2003) Proofs, Programs and Executable Specifications in Higher Order Logic, Ph.D. thesis, Institut für Informatik, TU München.Google Scholar
Chuang, C. M. (2011) Extraction of Programs for Exact Real Number Computation Using Agda, Ph.D. thesis, Swansea University, Wales, UK.Google Scholar
Ciaffaglione, A. and Gianantonio, P. D. (2006) A certified, corecursive implementation of exact real numbers. Theoretical Computer Science 351 3951.Google Scholar
Coq Development Team (2009) The Coq Proof Assistant Reference Manual – Version 8.2. Inria.Google Scholar
Kohlenbach, U. (2008) Applied Proof Theory: Proof Interpretations and Their Use in Mathematics, Springer Verlag, Berlin, Heidelberg.Google Scholar
Kreisel, G. (1959) Interpretation of analysis by means of constructive functionals of finite types. In: Heyting, A. (ed.) Constructivity in Mathematics. North-Holland, Amsterdam, 101128.Google Scholar
Letouzey, P. (2003) A new extraction for coq. In: Geuvers, H. and Wiedijk, F. (eds.) Types for Proofs and Programs, Second International Workshop, TYPES 2002. Springer Verlag Lecture Notes in Computer Science 2646 200219.Google Scholar
O'Connor, R. (2009) Incompleteness & Completeness. Formalizing Logic and Analysis in Type Theory, Ph.D. thesis, Nijmegen University.Google Scholar
Plume, D. (1998) A Calculator for Exact Real Number Computation, Ph.D. thesis, University of Edinburgh.Google Scholar
Schwichtenberg, H. (2006) Minlog. In: Wiedijk, F. (ed.) The Seventeen Provers of the World. Springer Verlag Lecture Notes in Artificial Intelligence 3600 151157.Google Scholar
Schwichtenberg, H. (2008) Realizability interpretation of proofs in constructive analysis. Theory of Computing Systems 43 (3) 583602.Google Scholar
Schwichtenberg, H. and Wainer, S. S. (2012) Proofs and Computations. Perspectives in Logic. Cambridge University Press.Google Scholar
Tucker, J. V. and Zucker, J. I. (1992) Theory of computation over stream algebras, and its applications. In: Havel, I. M. and Koubek, V. (eds.) Mathematical Foundations of Computer Science. Springer Verlag Lecture Notes in Computer Science 629 6280.Google Scholar
Wiedmer, E. (1977) Exaktes Rechnen mit reellen Zahlen und anderen unendlichen Objekten, Ph.D. thesis, ETH Zürich.Google Scholar
Wiedmer, E. (1980) Computing with infinite objects. Theoretical Computer Science 10 133155.Google Scholar