Abstract
When handling proofs of properties in the real world we often need to assert that one numeric quantity is greater than another. When these numeric quantities are real-valued, it is often tempting to get out the calculator to calculate the values of the expressions and then enter the results directly into the theorem prover as “facts” or axioms, since formally proving the desired properties can often be very tiresome. Obviously, such a procedure poses a few risks.
An alternative approach, presented in this paper, is to prove the correctness of an arbitrarily accurate calculator for the reals. If this calculator is expressed in terms of the underlying integer arithmetic operations of the theorem-prover’s implementation language, then there is a reasonable expectation that a practical evaluator of real-valued expressions may have been constructed.
Obviously, there are some constraints imposed by computability theory. It is well known, for example, that it is not possible to determine the sign of a computable real in finite time. We show that for all practical purposes, we need not worry about such fussy details. After all, mathematicians have – throughout the centuries – been prepared to make such calculations without being overly punctilious about the computability of the operations they were performing!
We report on the experience of validating and using a real number calculator in PVS.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Akbarpour, B., Paulson, L.C.: Towards automatic proofs of inequalities involving elementary functions. In: PDPAR 2006: Pragmatics of Decision Procedures in Automated Reasoning, pp. 27–37 (2006)
Akbarpour, B., Paulson, L.C.: Extending a resolution prover for inequalities on elementary functions. In: Dershowitz, N., Voronkov, A. (eds.) LPAR 2007. LNCS (LNAI), vol. 4790, pp. 47–61. Springer, Heidelberg (2007)
Bishop, E., Bridges, D.S.: Constructive Analysis. Grundlehren der Mathematischen Wissenschaften, vol. 279. Springer, Berlin (1985)
Bajard, J.-C., Ercegovac, M., Imbert, L., Rico, F.: Fast evaluation of elementary functions with combined shift-and-add and polynomial methods. In: 4th Conference on Real Numbers and Computers, pp. 75–87 (2000)
Bertot, Y.: Affine functions and series with co-inductive real numbers. Mathematical Structures in Computer Science 17(1) (2007)
Cody Jr., W.J., Waite, W.: Software Manual for the Elementary Functions. Prentice-Hall, Englewood Cliffs (1980)
Daumas, M., Melquiond, G., Muñoz, C.: Guaranteed proofs using interval arithmetic. In: Montuschi, P., Schwarz, E. (eds.) Proceedings of the 17th Symposium on Computer Arithmetic, Cape Cod, Massachusetts (2005)
Grzegorczyk, A.: Computable functionals. Fundamenta Mathematicae 42, 168–202 (1955)
Grzegorczyk, A.: On the definition of computable functionals. Fundamenta Mathematicae 42, 232–239 (1955)
Grzegorczyk, A.: On the definitions of computable real continuous functions. Fundamenta Mathematicae 44, 61–71 (1957)
Grzegorczyk, A.: Some approaches to constructive analysis. In: Heyting, A. (ed.) Constructivity in mathematics. Studies in Logic and the Foundations of Mathematics, pp. 43–61. North-Holland, Colloquium, Amsterdam (1957)
Harrison, J.: Floating point verification in HOL light: the exponential function. Technical Report 428, University of Cambridge Computer Laboratory (1997)
Harrison, J.: Verifying the accuracy of polynomial approximations in HOL. In: Proceedings of the 10th International Conference on Theorem Proving in Higher Order Logics, Murray Hill, New Jersey, pp. 137–152 (1997)
Harrison, J.: A machine-checked theory of floating point arithmetic. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) 12th International Conference on Theorem Proving in Higher Order Logics, Nice, France, pp. 113–130 (1999)
Harrison, J.: Formal verification of floating point trigonometric functions. In: Hunt, W.A., Johnson, S.D. (eds.) Proceedings of the Third International Conference on Formal Methods in Computer-Aided Design, Austin, Texas, pp. 217–233 (2000)
Julien, N.: Certified exact real arithmetic using co-induction in arbitrary integer base. In: Functional and Logic Programming Symposium, Saratoga, NY. LNCS, vol. 4989, pp. 48–63. Springer, Heidelberg (2008)
Lester, D.: Using PVS to validate the inverse trigonometric functions of an exact arithmetic. In: Proceedings of the Seminar on Numerical Software with Result Verification, Dagstuhl, Germany, pp. 259–273 (2003)
Lester, D., Gowland, P.: Using PVS to validate the algorithms of an exact arithmetic. Theoretical Computer Science 291, 203–218 (2003)
Ménissier, V.: Arithmétique Exacte. PhD thesis, Université Pierre et Marie Curie, Paris (December 1994)
Muñoz, C., Lester, D.: Real number calculations and theorem proving. In: 18th International Conference on Theorem Proving in Higher Order Logics, Oxford, England, pp. 239–254 (2005)
Moore, J.S., Lynch, T., Kaufmann, M.: A mechanically checked proof of the correctness of the kernel of the amd5k86 floating-point division algorithm. IEEE Transactions on Computers 47(9), 913–926 (1998)
Muller, J.-M.: Elementary Functions. Birkhauser, Basel (1997)
Owre, S., Rushby, J.M., Shankar, N.: PVS: A prototype verification system. In: Kapur, D. (ed.) CADE 1992. LNCS, vol. 607, pp. 748–752. Springer, Heidelberg (1992)
Paulson, L.C.: Isabelle. LNCS, vol. 828. Springer, Saratoga (1994)
Pour-El, M.B., Ian Richards, J.: Computability in Analysis and Physics. Springer, Berlin (1989)
Turing, A.M.: On computable numbers, with an application to the “Entscheidungsproblem”. Proceedings of the London Mathematical Society 42(2), 230–265 (1936)
Alan, M., Turing, A.M.: On computable numbers, with an application to the “Entscheidungsproblem”. A correction. Proceedings of the London Mathematical Society 43(2), 544–546 (1937)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lester, D.R. (2008). Real Number Calculations and Theorem Proving. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds) Theorem Proving in Higher Order Logics. TPHOLs 2008. Lecture Notes in Computer Science, vol 5170. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71067-7_19
Download citation
DOI: https://doi.org/10.1007/978-3-540-71067-7_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-71065-3
Online ISBN: 978-3-540-71067-7
eBook Packages: Computer ScienceComputer Science (R0)