Results 1 
6 of
6
A proof pearl with the fan theorem and bar induction—Walking through infinite trees with mixed induction and coinduction
 In APLAS ’11
, 2011
"... Abstract. We study temporal properties over infinite binary redblue trees in the setting of constructive type theory. We consider several familiar pathbased properties, typical to lineartime and branchingtime temporal logics like LTL and CTL ∗ , and the corresponding treebased properties, in th ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Abstract. We study temporal properties over infinite binary redblue trees in the setting of constructive type theory. We consider several familiar pathbased properties, typical to lineartime and branchingtime temporal logics like LTL and CTL ∗ , and the corresponding treebased properties, in the spirit of the modal μcalculus. We conduct a systematic study of the relationships of the pathbased and treebased versions of “eventually always blueness ” and mixed inductivecoinductive “almost always blueness ” and arrive at a diagram relating these properties to each other in terms of implications that hold either unconditionally or under specific assumptions (Weak Continuity for Numbers, the Fan Theorem, Lesser Principle of Omniscience, Bar Induction). We have fully formalized our development with the Coq proof assistant. 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 3 (2 self)
 Add to MetaCart
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 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
DOI 10.1007/s0022401193258 Proofs, Programs, Processes
, 2011
"... Abstract The objective of this paper is to provide a theoretical foundation for program extraction from inductive and coinductive proofs geared to practical applications. The novelties consist in the addition of inductive and coinductive definitions to a realizability interpretation for firstorder ..."
Abstract
 Add to MetaCart
Abstract The objective of this paper is to provide a theoretical foundation for program extraction from inductive and coinductive proofs geared to practical applications. The novelties consist in the addition of inductive and coinductive definitions to a realizability interpretation for firstorder proofs, a soundness proof for this system, and applications to the synthesis of nontrivial provably correct programs in the area of exact real number computation. We show that realizers, although per se untyped, can be assigned polymorphic recursive types and hence represent valid 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. the binary signed digit representation.
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
 Add to MetaCart
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