Skip to main content
    • Aa
    • Aa

A monadic, functional implementation of real numbers


Large scale real number computation is an essential ingredient in several modern mathematical proofs. Because such lengthy computations cannot be verified by hand, some mathematicians want to use software proof assistants to verify the correctness of these proofs. This paper develops a new implementation of the constructive real numbers and elementary functions for such proofs by using the monad properties of the completion operation on metric spaces. Bishop and Bridges's notion (Bishop and Bridges 1985) of regular sequences is generalised to what I call regular functions, which form the completion of any metric space. Using the monad operations, continuous functions on length spaces (which are a common subclass of metric spaces) are created by lifting continuous functions on the original space. A prototype Haskell implementation has been created. I believe that this approach yields a real number library that is reasonably efficient for computation, and still simple enough to verify its correctness easily.

Linked references
Hide All

This list contains references from the content that can be linked to their source. For a full set of references and notes please see the PDF or HTML where available.

E. Bishop and D. Bridges (1985) Constructive Analysis. Grundlehren der mathematischen Wissenschaften 279, Springer-Verlag

H.-J. Boehm , R. Cartwright , M. Riggle and M. J. O'Donnell (1986) Exact real arithmetic: a case study in higher order programming. In: LFP '86: Proceedings of the 1986 ACM conference on LISP and functional programming, ACM Press162173.

D. Burago , Y. Burago and S. Ivanov (2001) A Course in Metric Geometry, Graduate Studies in Mathematics 33, American Mathematical Society.

L. Cruz-Filipe (2003) A constructive formalization of the fundamental theorem of calculus. In: Geuvers, H. and Wiedijk, F. (eds.) Types for Proofs and Programs. Springer-Verlag Lecture Notes in Computer Science 2646 108126.

D. Lester and P. Gowland (2002) Using PVS to validate the algorithms of an exact arithmetic. Theoretical Computer Science 291 (2) 203218.

E. Moggi (1991) Notions of computation and monads. Information and Computation 93 (1) 5592.

Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Mathematical Structures in Computer Science
  • ISSN: 0960-1295
  • EISSN: 1469-8072
  • URL: /core/journals/mathematical-structures-in-computer-science
Please enter your name
Please enter a valid email address
Who would you like to send this to? *


Full text views

Total number of HTML views: 0
Total number of PDF views: 5 *
Loading metrics...

Abstract views

Total abstract views: 65 *
Loading metrics...

* Views captured on Cambridge Core between September 2016 - 24th September 2017. This data will be updated every 24 hours.