{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,31]],"date-time":"2025-08-31T10:23:17Z","timestamp":1756635797472},"reference-count":17,"publisher":"Cambridge University Press (CUP)","issue":"1","license":[{"start":{"date-parts":[[2007,2,1]],"date-time":"2007-02-01T00:00:00Z","timestamp":1170288000000},"content-version":"unspecified","delay-in-days":0,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Math. Struct. Comp. Sci."],"published-print":{"date-parts":[[2007,2]]},"abstract":"<jats:p>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.<\/jats:p>","DOI":"10.1017\/s0960129506005871","type":"journal-article","created":{"date-parts":[[2007,3,7]],"date-time":"2007-03-07T10:59:58Z","timestamp":1173265198000},"page":"129-159","source":"Crossref","is-referenced-by-count":12,"title":["A monadic, functional implementation of real numbers"],"prefix":"10.1017","volume":"17","author":[{"given":"RUSSELL","family":"\u00d3CONNOR","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"56","published-online":{"date-parts":[[2007,2,1]]},"reference":[{"key":"S0960129506005871_rf16","unstructured":"The Coq development team (2004) The Coq proof assistant reference manual, Version 8.0, LogiCal Project."},{"key":"S0960129506005871_rf15","volume-title":"Haskell 98 Language and Libraries: The Revised Report","author":"Peyton Jones","year":"2003"},{"key":"S0960129506005871_rf11","first-page":"195","volume-title":"Proceedings of the 18th International Conference on Theorem Proving in Higher Order Logics, TPHOLs 2005","author":"Mu\u00f1oz","year":"2005"},{"key":"S0960129506005871_rf8","first-page":"259","volume-title":"Numerical Software with Result Verification","author":"Lester","year":"2003"},{"key":"S0960129506005871_rf7","unstructured":"Kurzweg U. H. (2001) Pi. (Available at http:\/\/aemes.mae.ufl.edu\/~uhk\/PI.html.)"},{"key":"S0960129506005871_rf17","volume-title":"Proceedings of the Marktoberdorf Summer School on Program Design Calculi","author":"Wadler","year":"1992"},{"key":"S0960129506005871_rf2","doi-asserted-by":"publisher","DOI":"10.1145\/319838.319860"},{"key":"S0960129506005871_rf10","doi-asserted-by":"publisher","DOI":"10.1016\/0890-5401(91)90052-4"},{"key":"S0960129506005871_rf4","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-39185-1_7"},{"key":"S0960129506005871_rf6","first-page":"795","volume-title":"Proceedings of the International Congress of Mathematicians, Beijing, 2002","author":"Hales","year":"2002"},{"key":"S0960129506005871_rf13","unstructured":"O'Connor R. (2005) Few digits 0.4.0. (Available at http:\/\/r6.ca\/FewDigits\/.)"},{"key":"S0960129506005871_rf5","first-page":"205","volume-title":"Theorem Proving in Higher Order Logics, 16th International Conference, TPHOLs 2003","author":"Cruz-Filipe","year":"2003"},{"key":"S0960129506005871_rf9","doi-asserted-by":"publisher","DOI":"10.1016\/S0304-3975(02)00226-8"},{"key":"S0960129506005871_rf12","unstructured":"Niqui M. and Wiedijk F. (2005) The \u2018many digits\u2019 friendly competition 2005. (Details at http:\/\/www.cs.ru.nl\/~milad\/manydigits.)"},{"key":"S0960129506005871_rf1","volume-title":"Grundlehren der mathematischen Wissenschaften","author":"Bishop","year":"1985"},{"key":"S0960129506005871_rf3","volume-title":"Graduate Studies in Mathematics","author":"Burago","year":"2001"},{"key":"S0960129506005871_rf14","first-page":"138","article-title":"Disproof of the Mertens conjecture","volume":"357","author":"Odlyzko","year":"1985","journal-title":"J. Reine Angew. Math."}],"container-title":["Mathematical Structures in Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0960129506005871","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,4,1]],"date-time":"2019-04-01T18:52:00Z","timestamp":1554144720000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0960129506005871\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2007,2]]},"references-count":17,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2007,2]]}},"alternative-id":["S0960129506005871"],"URL":"https:\/\/doi.org\/10.1017\/s0960129506005871","relation":{},"ISSN":["0960-1295","1469-8072"],"issn-type":[{"value":"0960-1295","type":"print"},{"value":"1469-8072","type":"electronic"}],"subject":[],"published":{"date-parts":[[2007,2]]}}}