Results 1  10
of
13
From coinductive proofs to exact real arithmetic
"... Abstract. We give a coinductive characterisation of the set of continuous functions defined on a compact real interval, and extract certified programs that construct and combine exact real number algorithms with respect to the binary signed digit representation of real numbers. The data type corresp ..."
Abstract

Cited by 20 (7 self)
 Add to MetaCart
(Show Context)
Abstract. We give a coinductive characterisation of the set of continuous functions defined on a compact real interval, and extract certified programs that construct and combine exact real number algorithms with respect to the binary signed digit representation of real numbers. The data type corresponding to the coinductive definition of continuous functions consists of finitely branching nonwellfounded trees describing when the algorithm writes and reads digits. This is a pilot study in using prooftheoretic methods for obtaining certified algorithms in exact real arithmetic. 1
Resumptions, Weak Bisimilarity and BigStep Semantics for While with Interactive I/O: An Exercise in Mixed InductionCoinduction
"... We look at the operational semantics of languages with interactive I/O through the glasses of constructive type theory. Following on from our earlier work on coinductive tracebased semantics for While [17], we define several bigstep semantics for While with interactive I/O, based on resumptions an ..."
Abstract

Cited by 7 (3 self)
 Add to MetaCart
(Show Context)
We look at the operational semantics of languages with interactive I/O through the glasses of constructive type theory. Following on from our earlier work on coinductive tracebased semantics for While [17], we define several bigstep semantics for While with interactive I/O, based on resumptions and terminationsensitive weak bisimilarity. These require nesting inductive definitions in coinductive definitions, which is interesting both mathematically and from the pointofview of implementation in a proof assistant. After first defining a basic semantics of statements in terms of resumptions with explicit internal actions (delays), we introduce a semantics in terms of delayfree resumptions that essentially removes finite sequences of delays on the fly from those resumptions that are responsive. Finally, we also look at a semantics in terms of delayfree resumptions supplemented with a silent divergence option. This semantics hinges on decisions between convergence and divergence and is only equivalent to the basic one classically. We have fully formalized our development in Coq. 1
Proofs, programs, processes
"... Abstract. We study a realisability interpretation for inductive and coinductive definitions and discuss its application to program extraction from proofs. A speciality of this interpretation is that realisers are given by terms that correspond directly to programs in a lazy functional programming la ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
(Show Context)
Abstract. We study a realisability interpretation for inductive and coinductive definitions and discuss its application to program extraction from proofs. A speciality of this interpretation is that realisers are given by terms that correspond directly to programs in a lazy functional programming language such as Haskell. Programs extracted from proofs using coinduction can be understood as perpetual processes producing infinite streams of data. Typical applications of such processes are computations in exact real arithmetic. As an example we show how to extract a program computing the average of two real numbers w.r.t. to the binary signed digit representation. 1
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
(Show Context)
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
The Lax Braided Structure of Streaming I/O ∗
"... We investigate and implement a model of typed streaming I/O. Each type determines a language of traces analogous to regular expressions on strings, and programs are modelled by certain monotone functions on these traces. We show that sequential composition forms a lax braided monoid in the category ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
We investigate and implement a model of typed streaming I/O. Each type determines a language of traces analogous to regular expressions on strings, and programs are modelled by certain monotone functions on these traces. We show that sequential composition forms a lax braided monoid in the category of types and programs. This lax braided structure allows programs to be represented diagrammatically using Joyal and Street’s string diagrams in 3D space. Monotone functions over traces cannot be executed efficiently, so we present an equivalent monoidal category of transducers. We demonstrate that transducers can be executed efficiently, theoretically by showing that programs with diagrams embedded in the plane can be executed in O(1) space, and experimentally by an implementation in the Agda dependently typed functional language. Agda supports machineassisted proof: we have mechanically verified that the transducer implementation and the I/O model form lax braided monoidal categories.
Program extraction via typed realisability for induction and coinduction
, 2009
"... and coinduction ..."
(Show Context)
Program Extraction from Nested Definitions
"... Abstract. Minlog is a proof assistant which automatically extracts computational content in an extension of Gödel’s T from formalized proofs. We report on extending Minlog to deal with predicates defined using a particular combination of induction and coinduction, via socalled nested definitions. I ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
Abstract. Minlog is a proof assistant which automatically extracts computational content in an extension of Gödel’s T from formalized proofs. We report on extending Minlog to deal with predicates defined using a particular combination of induction and coinduction, via socalled nested definitions. In order to increase the efficiency of the extracted programs, we have also implemented a feature to translate terms into Haskell programs. To illustrate our theory and implementation, a formalisation of a theory of uniformly continuous functions due to Berger is presented. 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.
and Helmut Schwichtenberg1
"... Abstract. Minlog is a proof assistant which automatically extracts computational content in an extension of Gödel’s T from formalized proofs. We report on extending Minlog to deal with predicates defined using a particular combination of induction and coinduction, via socalled nested definitions. ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. Minlog is a proof assistant which automatically extracts computational content in an extension of Gödel’s T from formalized proofs. We report on extending Minlog to deal with predicates defined using a particular combination of induction and coinduction, via socalled nested definitions. In order to increase the efficiency of the extracted programs, we have also implemented a feature to translate terms into Haskell programs. To illustrate our theory and implementation, a formalisation of a theory of uniformly continuous functions due to Berger is presented. 1
Streams from a typetheoretic perspective
, 2010
"... A stream is a paradigm for an ‘infinite object ’ in a certain sense. There are two ‘poles ’ in the notion of infinity: µ transfinite entities, having a wellfounded structure, typified by the ordinal ω. We define functions on such: folds, primitive recursion,.... ν coinductive entities, explorable ‘i ..."
Abstract
 Add to MetaCart
A stream is a paradigm for an ‘infinite object ’ in a certain sense. There are two ‘poles ’ in the notion of infinity: µ transfinite entities, having a wellfounded structure, typified by the ordinal ω. We define functions on such: folds, primitive recursion,.... ν coinductive entities, explorable ‘in perpetuity’, typified by streams B ω. We define functions to such: unfolds,....Infinite objects A stream is a paradigm for an ‘infinite object ’ in a certain sense. There are two ‘poles ’ in the notion of infinity: µ transfinite entities, having a wellfounded structure, typified by the ordinal ω. We define functions on such: folds, primitive recursion,.... ν coinductive entities, explorable ‘in perpetuity’, typified by streams B ω. We define functions to such: unfolds,.... The work presented here (joint with Ghani and Pattinson) concerns an interplay between initiality µ and finality ν.Infinite objects A stream is a paradigm for an ‘infinite object ’ in a certain sense. There are two ‘poles ’ in the notion of infinity: µ transfinite entities, having a wellfounded structure, typified by the ordinal ω. We define functions on such: folds, primitive recursion,.... ν coinductive entities, explorable ‘in perpetuity’, typified by streams B ω. We define functions to such: unfolds,.... The work presented here (joint with Ghani and Pattinson) concerns an interplay between initiality µ and finality ν. How to handle coinduction in dependent type theory (and tools based on it) is not a settled matter. I’m not sure there’s much consensus. What I use