Results 1 
4 of
4
Implementing real numbers with RZ
, 2007
"... RZ is a tool which translates axiomatizations of mathematical structures to program specifications using the realizability interpretation of logic. This helps programmers correctly implement data structures for computable mathematics. RZ does not prescribe a particular method of implementation, but ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
RZ is a tool which translates axiomatizations of mathematical structures to program specifications using the realizability interpretation of logic. This helps programmers correctly implement data structures for computable mathematics. RZ does not prescribe a particular method of implementation, but allows programmers to write efficient code by hand, or to extract trusted code from formal proofs, if they so desire. We used this methodology to axiomatize real numbers and implemented the specification computed by RZ. The axiomatization is the standard domaintheoretic construction of reals as the maximal elements of the interval domain, while the implementation closely follows current stateoftheart implementations of exact real arithmetic. Our results shows not only that the theory and practice of computable mathematics can coexist, but also that they work together harmoniously.
Realisability and adequacy for (co)induction
"... Abstract. We prove the correctness of a formalised realisability interpretation of extensions of firstorder theories by inductive and coinductive definitions in an untyped λcalculus with fixedpoints. We illustrate the use of this interpretation for program extraction by some simple examples in th ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Abstract. We prove the correctness of a formalised realisability interpretation of extensions of firstorder theories by inductive and coinductive definitions in an untyped λcalculus with fixedpoints. We illustrate the use of this interpretation for program extraction by some simple examples in the area of exact real number computation, and hint at further nontrivial applications in computable analysis. 1
Minlog A Tool for Program Extraction Supporting Algebras and Coalgebras
"... Abstract. Minlog is an interactive system which implements prooftheoretic methods and applies them to verification and program extraction. We give an overview of Minlog and demonstrate how it can be used to exploit the computational content in (co)algebraic proofs and to develop correct and efficien ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Abstract. Minlog is an interactive system which implements prooftheoretic methods and applies them to verification and program extraction. We give an overview of Minlog and demonstrate how it can be used to exploit the computational content in (co)algebraic proofs and to develop correct and efficient programs. We illustrate this by means of two examples: one about parsing, the other about exact real numbers in signed digit representation. 1
Mathematically Structured but not Necessarily Functional Programming
, 2008
"... Realizability is an interpretation of intuitionistic logic which subsumes the CurryHoward interpretation of propositions as types, because it allows the realizers to use computational effects such as nontermination, store and exceptions. Therefore, we can use realizability as a framework for progr ..."
Abstract
 Add to MetaCart
Realizability is an interpretation of intuitionistic logic which subsumes the CurryHoward interpretation of propositions as types, because it allows the realizers to use computational effects such as nontermination, store and exceptions. Therefore, we can use realizability as a framework for program development and extraction which allows any style of programming, not just the purely functional one that is supported by the CurryHoward correspondence. In joint work with Christopher A. Stone we developed RZ, a tool which uses realizability to translate specifications written in constructive logic into interface code annotated with logical assertions. RZ does not extract code from proofs, but allows any implementation method, from handwritten code to code extracted from proofs by other tools. In our experience, RZ is useful for specification of nontrivial theories. While the use of computational effects does improve efficiency it also makes it difficult to reason about programs and prove their correctness. We demonstrate this fact by considering nonpurely functional realizers for a Brouwerian continuity principle.