We found a match
Your institution may have access to this item. Find your institution then sign in to continue.
- Title
Proofs, Programs, Processes.
- Authors
Berger, Ulrich; Seisenberger, Monika
- 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 first-order proofs, a soundness proof for this system, and applications to the synthesis of non-trivial 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.
- Publication
Theory of Computing Systems, 2012, Vol 51, Issue 3, p313
- ISSN
1432-4350
- Publication type
Academic Journal
- DOI
10.1007/s00224-011-9325-8