On the productivity of recursive list definitions
ACM Transactions on Programming Languages and Systems (TOPLAS)
COLOG-88 Proceedings of the international conference on Computer logic
Typing algorithm in type theory with inheritance
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Lazy computation with exact real numbers
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Computable analysis: an introduction
Computable analysis: an introduction
A categorical programming language
A categorical programming language
Constructive analysis, types and exact real numbers
Mathematical Structures in Computer Science
Coinductive proofs for basic real computation
CiE'06 Proceedings of the Second conference on Computability in Europe: logical Approaches to Computational Barriers
Hi-index | 0.00 |
In this work we focus on a formalisation of the algorithms of lazy exact arithmetic á la Potts and Edalat [1]. We choose the constructive type theory as our formal verification tool. We discuss an extension of the constructive type theory with coinductive types that enables one to formalise and reason about the infinite objects. We show examples of how infinite objects such as streams and expression trees can be formalised as coinductive types. We study the type theoretic notion of productivity which ensures the infiniteness of the outcome of the algorithms on infinite objects. Syntactical methods are not always strong enough to ensure the productivity. However, if some information about the complexity of a function is provided, one may be able to show the productivity of that function. In the case of the normalisation algorithm we show that such information can be obtained from the choice of real number representation that is used to represent the input and the output.