Realizability of monotone coinductive definitions and its application to program synthesis

  • Makoto Tatsuta
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1422)


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.

Unable to display preview. Download preview PDF.


  1. 1.
    M. Beeson, Foundations of Constructive Mathematics (Springer, 1985).Google Scholar
  2. 2.
    R.L. Constable et al, Implementing Mathematics with the Nuprl Proof Development System (Prentice-Hall, 1986).Google Scholar
  3. 3.
    T. Coquand, Infinite Objects in Type Theory, LNCS 806 (Springer, 1993) 62–78.Google Scholar
  4. 4.
    H. Friedman, On the derivability of instantiation properties, Journal of Symbolic Logic 42 (4) (1977) 506–514.MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    S. Hayashi and H. Nakano, PX: A Computational Logic (MIT Press, 1988).Google Scholar
  6. 6.
    S. Kobayashi and M. Tatsuta, Realizability interpretation of generalized inductive definitions, Theoretical Computer Science 131 (1994) 121–138.CrossRefMathSciNetGoogle Scholar
  7. 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
  8. 8.
    N. P. Mendler, Inductive types and type constraints in the second-order lambda calculus, Annals of Pure and Applied Logic 51 (1991) 159–172.MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    R. Milner, Communication and Concurrency (Prentice Hall, 1989).Google Scholar
  10. 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. 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
  12. 12.
    L. C. Paulson, Mechanizing Coinduction and Corecursion in Higher-order Logic, Journal of Logic and Computation 7 (2) (1997) 175–204.MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    M. Parigot, Recursive programming with proofs, Theoretical Computer Science 94 (1992) 335–356.MATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    C. Raffalli, Data types, infinity and equality in system AF2, LNCS 832 (Springer, 1993) 280–294.Google Scholar
  15. 15.
    C. Talcott, A theory for program and data type specification, Theoretical Computer Science 104 (1992) 129–159.MATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    M. Tatsuta, Program Synthesis Using Realizability, Theoretical Computer Science 90 (1991) 309–353.MATHMathSciNetGoogle Scholar
  17. 17.
    M. Tatsuta, Realizability interpretation of coinductive definitions and program synthesis with streams, Theoretical Computer Science 122 (1994) 119–136.MATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    M. Tatsuta, Monotone Recursive Definition of Predicates and Its Realizability Interpretation, Proceedings of International Conference on Theoretical Aspects of Computer Software, LNCS 526 (1991) 38–52.MathSciNetGoogle Scholar
  19. 19.
    M. Tatsuta, Two realizability interpretations of monotone inductive definitions, International Journal of Foundations of Computer Science 5 (1) (1994) 1–21.MATHCrossRefGoogle Scholar
  20. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Makoto Tatsuta
    • 1
  1. 1.Department of MathematicsKyoto UniversityKyotoJapan

Personalised recommendations