Realizability of monotone coinductive definitions and its application to program synthesis
Two realizability interpretations of monotone coinductive definitions are studied. One interpretation is defined so that a realizer of a coinductively defined predicate is the same as that of its expansion. For this interpretation, the paper proves that full monotone coinductive definitions are not sound and restricted monotone coinductive definitions are sound. The other interpreration is based on second order logic and can interpret least-upper-bound coinductive definitions, which is generalization of monotone coinductive definitions. By using these interprerations, the paper shows that a program which treats coinductively defined infinite data structures such as streams can be synthesized from a constructive proof of its specification.
Unable to display preview. Download preview PDF.
- 1.M. Beeson, Foundations of Constructive Mathematics (Springer, 1985).Google Scholar
- 2.R.L. Constable et al, Implementing Mathematics with the Nuprl Proof Development System (Prentice-Hall, 1986).Google Scholar
- 3.T. Coquand, Infinite Objects in Type Theory, LNCS 806 (Springer, 1993) 62–78.Google Scholar
- 5.S. Hayashi and H. Nakano, PX: A Computational Logic (MIT Press, 1988).Google Scholar
- 7.P. Martin-Löf, Constructive mathematics and computer programming, In: Logic, Methodology, and Philosophy of Science VI, eds. L.J. Cohen et. al (North-Holland, Amsterdam, 1982) 153–179.Google Scholar
- 9.R. Milner, Communication and Concurrency (Prentice Hall, 1989).Google Scholar
- 10.C. Paulin-Mohring, Extracting 357-01 programs from proofs in the Calculus of Constructions, Proc. 16th Symp. Principles of Programming Languages (1989) 89–104.Google Scholar
- 11.F. Leclerc and C. Paulin-Mohring, Programming with Streams in Coq, A case study: the Sieve of Eratosthenes, LNCS 806 (Springer, 1993) 191–212.Google Scholar
- 14.C. Raffalli, Data types, infinity and equality in system AF2, LNCS 832 (Springer, 1993) 280–294.Google Scholar
- 20.M. Tatsuta, Realizability for Constructive Theory of Functions and Classes and Its Application to Program Synthesis, Proceedings of Thirteenth Annual IEEE Symposium on Logic in Computer Science (1998).Google Scholar