Preview

Modeling and Analysis of Information Systems

Advanced search

Platform-independent Specification and Verification of the Standard Mathematical Square Root Function

https://doi.org/10.18255/1818-1015-2018-6-637-666

Abstract

The project “Platform-independent approach to formal specification and verification of standard mathematical functions” is aimed onto the development of incremental combined approach to specification and verification of standard Mathematical functions like sqrt, cos, sin, etc. Platform-independence means that we attempt to design a relatively simple axiomatization of the computer arithmetics in terms of real arithmetics (i.e. the field \(\mathbb{R}\) of real numbers) but do not specify neither base of the computer arithmetics, nor a format of numbers representation. Incrementality means that we start with the most straightforward specification of the simplest case to verify the algorithm in real numbers and finish with a realistic specification and a verification of the algorithm in computer arithmetics. We call our approach combined because we start with manual (pen-and-paper) verification of the algorithm in real numbers, then use this verification as proof-outlines for a manual verification of the algorithm in computer arithmetics, and finish with a computer-aided validation of the manual proofs with a proof-assistant system (to avoid appeals to “obviousness” that are common in human-carried proofs).
In the paper, we apply our platform-independent incremental combined approach to specification and verification of the standard Mathematical square root function. Currently a computer-aided validation was carried for correctness (consistency) of our fix-point arithmetics and for the existence of a look-up table with the initial approximations of the square roots for fix-point numbers.

About the Authors

Nikolay V. Shilov
Autonomous noncommercial organization of higher education "Innopolis University"
Russian Federation

PhD

1 Universitetskaya str., Innopolis, Tatarstan Republic, 420500



Dmitry A. Kondratyev
A.P. Ershov Institute of Informatics Systems
Russian Federation

postgraduate student

6, Acad. Lavrentjev pr., Novosibirsk 630090



Igor S. Anureev
A.P. Ershov Institute of Informatics Systems
Russian Federation

PhD, senior researcher

6, Acad. Lavrentjev pr., Novosibirsk 630090



Eugene V. Bodin
A.P. Ershov Institute of Informatics Systems
Russian Federation

researcher

6, Acad. Lavrentjev pr., Novosibirsk 630090



Alexei V. Promsky
A.P. Ershov Institute of Informatics Systems
Russian Federation

PhD, scientific secretary

6, Acad. Lavrentjev pr., Novosibirsk 630090



References

1. Kuliamin V.V., “Standardization and testing of implementations of mathematical functions in floating point numbers”, Programming and Computer Software, 33:3 (2007), 154–173.

2. Nikitin V.F., Variant vychisleniya kvadratnogo kornya (algoritm Nyutona), http://algolist.manual.ru/ maths/count_fast/sqrt.php, (in Russian).

3. Shelekhov V.I., “Verifikatsiya i sintez effektivnykh programm standartnykh funktsiy floor, isqrt i ilog2 v tekhnologii predikatnogo programmirovaniya”, Problemy upravleniya i modelirovaniya v slozhnykh sistemakh, Trudy 12-y mezhd. konf. (Samara, Samarskiy nauchnyy tsentr RAN), 2010, 622–630, (in Russian).

4. Ayad A., March ́e C., “Multi-prover verification of floating-point programs”, Perspectives of System Informatics. PSI 2014, Lecture Notes in Artificial Intelligence, 6173, Springer, Berlin, Heidelberg, 2010, 127–141.

5. Barret G., “Formal Methods Applied to a Floating-Point Number System”, IEEE Trans. Softw. Eng., 15:5 (1989), 611–621.

6. Brain M. et al., “An Automatable Formal Semantics for IEEE-754 Floating-Point Arithmetic”, Computer Arithmetic (ARITH ’15), Proc. of the 2015 IEEE 22nd Symposium (IEEE Computer Society), 2015, 160–167.

7. El-Magdoub M.H., Best Square Root Method – Algorithm – Function (Precision VS Speed), https://www.codeproject.com/Articles/69941/ Best-Square-Root-Method-Algorithm-Function-Precisi.

8. Ferguson W.E. et al., “Digit serial methods with applications to division and square root (with mechanically checked correctness proofs)”, 2017, 102–114, arXiv: arXiv:1708.00140.

9. Gamboa R.A., Square Roots in Acl2: a Study in Sonata Form, Technical Report. University of Texas at Austin, USA, 1997.

10. Gries D., The Science of Programming, Springer-Verlag, New York, 1981.

11. Grohoski G., “Verifying Oracle’s SPARC Processors with ACL2 (Slides of the Invited talk)”, The ACL2 Theorem Prover and Its Applications, Proc. Int. Workshop, 2017, http://www.cs.utexas.edu/users/moore/acl2/workshop-2017/slides-accepted/ grohoski-ACL2_talk.pdf.

12. Gutowski M.W., “Power and beauty of interval methods”, arXiv: arXiv:physics/0302034.

13. Harrison J., “A Machine-Checked Theory of Floating Point Arithmetic”, Lecture Notes in Computer Science, 1690, Springer, Berlin, Heidelberg, 1999, 113–130.

14. Harrison J., “Formal Verification of Floating Point Trigonometric Functions”, Lecture Notes in Computer Science, 1954, Springer, Berlin, Heidelberg, 2000, 217–233.

15. Harrison J., “Formal Verification of IA-64 Division Algorithms”, Lecture Notes in Computer Science, 1869, Springer, Berlin, Heidelberg, 2000, 233–251.

16. Harrison J., “Floating Point Verification in HOL Light: The Exponential Function”, Formal Methods in System Design, 16:3 (2000), 271–305.

17. Harrison J., “Formal Verification of Square Root Algorithms”, Formal Methods in System Design, 22:2 (2003), 143–153.

18. Hoare C.A.R., “The Verifying Compiler: A Grand Challenge for Computing Research”, Lecture Notes in Computer Science, 2890, Springer, Berlin, Heidelberg, 2003, 1–12.

19. Kuliamin V.V., “Standardization and Testing of Mathematical Functions in floating point numbers”, Lecture Notes in Computer Science, 5947, Springer, Berlin, Heidelberg, 2010, 257–268.

20. Monniaux D., “The pitfalls of verifying floating-point computations”, ACM Transactions on Programming Languages and Systems, 30:3 (2008), 1–41.

21. Muller J.-M., Elementary Functions: Algorithms and Implementation, Birkhau ̈ser, 2005.

22. Muller J.-M. et al., Handbook of Floating-Point Arithmetic, 2nd eddition, Birkhu ̈ser, 2018.

23. Sawada J., Gamboa R., “Mechanical Verification of a Square Root Algorithm Using Taylor’s Theorem”, Lecture Notes in Computer Science, 2517, Springer, Berlin, Heidelberg, 2002, 274–291.

24. Shilov N.V., “On the need to specify and verify standard functions”, The Bulletin of the Novosibirsk Computing Center (Series: Computer Science), 38 (2015), 105–119.

25. Shilov N.V., Promsky A.V., “On specification andd verification of standard mathematical functions”, Humanities and Science University Journal, 19 (2016), 57–68.

26. Shilov N.V. et al., “Towards platform-independent verification of the standard mathematical functions: the square root function”, arXiv: arXiv:abs/1801.00969.

27. Siddique U., Hasan O., “On the Formalization of Gamma Function in HOL”, J. Autom. Reason., 53:4 (2014), 407–429.

28. C reference. Sqrt, sqrtf, sqrtl, http://en.cppreference.com/w/c/numeric/math/sqrt.

29. IEEE 754-2008, http://ieeexplore.ieee.org/document/4610935.

30. ISO/IEC/IEEE 60559:2011. Information technology --Microprocessor Systems --Floating-Point arithmetic, http://www.iso.org/iso/iso_catalogue/catalogue_tc/ catalogue_detail.htm?csnumber=57469.

31. nth root algorithm, https://en.wikipedia.org/wiki/Nth_root_algorithm.

32. “Roskosmos” nazval prichinu neudachnogo zapuska s kosmodroma Vostochnyy, https://www.rbc.ru/ politics/12/12/2017/5a2ebcd59a79479d29667115, (in Russian).


Review

For citations:


Shilov N.V., Kondratyev D.A., Anureev I.S., Bodin E.V., Promsky A.V. Platform-independent Specification and Verification of the Standard Mathematical Square Root Function. Modeling and Analysis of Information Systems. 2018;25(6):637-666. (In Russ.) https://doi.org/10.18255/1818-1015-2018-6-637-666

Views: 985


Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.


ISSN 1818-1015 (Print)
ISSN 2313-5417 (Online)