Results 1 
7 of
7
The Dedekind reals in abstract Stone duality
 Mathematical Structures in Computer Science
, 2008
"... Abstract Stone Duality (ASD) is a direct axiomatisation of general topology, in contrast to the traditional and all other contemporary approaches, which rely on a prior notion of discrete set, type or object of a topos. ASD reconciles mathematical and computational viewpoints, providing an inherentl ..."
Abstract

Cited by 11 (5 self)
 Add to MetaCart
Abstract Stone Duality (ASD) is a direct axiomatisation of general topology, in contrast to the traditional and all other contemporary approaches, which rely on a prior notion of discrete set, type or object of a topos. ASD reconciles mathematical and computational viewpoints, providing an inherently computable calculus that does not sacrifice key properties of real analysis such as compactness of the closed interval. Previous theories of recursive analysis failed to do this because they were based on points; ASD succeeds because, like locale theory and formal topology, it is founded on the algebra of open subspaces. ASD is presented as a lambdacalculus, of which we provide a selfcontained summary, as the foundational background has been investigated in earlier work. The core of the paper constructs the real line using twosided Dedekind cuts. We show that the closed interval is compact and overt, where these concepts are defined using quantifiers. Further topics, such as the Intermediate Value Theorem, are presented in a separate paper that builds on this one. The interval domain plays an important foundational role. However, we see intervals as generalised Dedekind cuts, which underly the construction of the real line, not as sets or pairs of real numbers. We make a thorough study of arithmetic, in which our operations are more complicated than Moore’s, because we work constructively, and we also consider backtofront (Kaucher) intervals. Finally, we compare ASD with other systems of constructive and computable topology and analysis.
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 5 (1 self)
 Add to MetaCart
(Show Context)
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
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 4 (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 4 (4 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
Realisability for induction and coinduction with applications to constructive analysis
 J. Univers. Comput. Sci
, 2010
"... 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.
Computational effects in computable and formalized mathematics (EFFMATH) Project summary
"... In mathematics the application of a function f to an argument x always yields the same result y = f(x), which depends just on x and nothing else. In programming the situation is different. A program may do other things apart from computing the result from the given input: it may get caught in a non ..."
Abstract
 Add to MetaCart
(Show Context)
In mathematics the application of a function f to an argument x always yields the same result y = f(x), which depends just on x and nothing else. In programming the situation is different. A program may do other things apart from computing the result from the given input: it may get caught in a nonterminating loop, abort execution, interact with the external world through communication channels, use internal memory to store and retrieve data between invocations, compute results using random numbers, etc. All such phenomena are collectively known as computational effects. A comprehensive mathematical theory of computational effects was developed by Moggi [9] under the slogan “effects are monads”. It has been very successful, not only in theory but also in practice, as it heavily influenced the design of realworld programming languages, most notably
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
(Show Context)
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.