Konečný, Michal, Steinberg, Florian and Thies, Holger (2020). Computable analysis for verified exact real computation. IN: 40th IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science, FSTTCS 2020. Saxena, Nitin and Simon, Sunil (eds) Leibniz International Proceedings in Informatics, LIPIcs . IND: Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing.
Abstract
We use ideas from computable analysis to formalize exact real number computation in the Coq proof assistant. Our formalization is built on top of the Incone library, a Coq library for computable analysis. We use the theoretical framework that computable analysis provides to systematically generate target specifications for real number algorithms. First we give very simple algorithms that fulfill these specifications based on rational approximations. To provide more efficient algorithms, we develop alternate representations that utilize an existing formalization of floating-point algorithms and interval arithmetic in combination with methods used by software packages for exact real arithmetic that focus on execution speed. We also define a general framework to define real number algorithms independently of their concrete encoding and to prove them correct. Algorithms verified in our framework can be extracted to Haskell programs for efficient computation. The performance of the extracted code is comparable to programs produced using non-verified software packages. This is without the need to optimize the extracted code by hand. As an example, we formalize an algorithm for the square root function based on the Heron method. The algorithm is parametric in the implementation of the real number datatype, not referring to any details of its implementation. Thus the same verified algorithm can be used with different real number representations. Since Boolean valued comparisons of real numbers are not decidable, our algorithms use basic operations that take values in the Kleeneans and Sierpinski space. We develop some of the theory of these spaces. To capture the semantics of non-sequential operations, such as the “parallel or”, we use multivalued functions.
Publication DOI: | https://doi.org/10.4230/LIPIcs.FSTTCS.2020.50 |
---|---|
Funding Information: | Funding Michal Konečný: This project has received funding from the European Union’s Horizon 2020 research and innovation programme under the Marie Skłodowska-Curie grant agreement No 731143. Holger Thies: Supported by JSPS KAKENHI Grant Numbers JP18J10407 |
Additional Information: | Funding Information: Funding Michal Konečný: This project has received funding from the European Union’s Horizon 2020 research and innovation programme under the Marie Skłodowska-Curie grant agreement No 731143. Holger Thies: Supported by JSPS KAKENHI Grant Numbers JP18J10407 and JP20K19744 and by the Japan Society for the Promotion of Science (JSPS), Core-to-Core Program (A. Advanced Research Networks). Publisher Copyright: © Michal Konečný, Florian Steinberg, and Holger Thies; licensed under Creative Commons License CC-BY. |
Event Title: | 40th IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science, FSTTCS 2020 |
Event Type: | Other |
Event Dates: | 2020-12-14 - 2020-12-18 |
Uncontrolled Keywords: | Computable Analysis,Coq,Exact real computation,Formal proofs,Proof assistant,Software |
ISBN: | 9783959771740 |
Last Modified: | 04 Nov 2024 09:47 |
Date Deposited: | 17 Jun 2022 15:01 |
Full Text Link: | |
Related URLs: |
http://www.scop ... tnerID=8YFLogxK
(Scopus URL) |
PURE Output Type: | Conference contribution |
Published Date: | 2020-12 |
Authors: |
Konečný, Michal
(
0000-0003-2374-9017)
Steinberg, Florian Thies, Holger |