Skip to main content

Realizability of monotone coinductive definitions and its application to program synthesis

  • Conference paper
  • First Online:
Mathematics of Program Construction (MPC 1998)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1422))

Included in the following conference series:

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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 

  4. H. Friedman, On the derivability of instantiation properties, Journal of Symbolic Logic 42 (4) (1977) 506–514.

    Article  MATH  MathSciNet  Google Scholar 

  5. S. Hayashi and H. Nakano, PX: A Computational Logic (MIT Press, 1988).

    Google Scholar 

  6. S. Kobayashi and M. Tatsuta, Realizability interpretation of generalized inductive definitions, Theoretical Computer Science 131 (1994) 121–138.

    Article  MathSciNet  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 

  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.

    Article  MATH  MathSciNet  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 

  12. L. C. Paulson, Mechanizing Coinduction and Corecursion in Higher-order Logic, Journal of Logic and Computation 7 (2) (1997) 175–204.

    Article  MATH  MathSciNet  Google Scholar 

  13. M. Parigot, Recursive programming with proofs, Theoretical Computer Science 94 (1992) 335–356.

    Article  MATH  MathSciNet  Google Scholar 

  14. C. Raffalli, Data types, infinity and equality in system AF2, LNCS 832 (Springer, 1993) 280–294.

    Google Scholar 

  15. C. Talcott, A theory for program and data type specification, Theoretical Computer Science 104 (1992) 129–159.

    Article  MATH  MathSciNet  Google Scholar 

  16. M. Tatsuta, Program Synthesis Using Realizability, Theoretical Computer Science 90 (1991) 309–353.

    MATH  MathSciNet  Google Scholar 

  17. M. Tatsuta, Realizability interpretation of coinductive definitions and program synthesis with streams, Theoretical Computer Science 122 (1994) 119–136.

    Article  MATH  MathSciNet  Google Scholar 

  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.

    MathSciNet  Google Scholar 

  19. M. Tatsuta, Two realizability interpretations of monotone inductive definitions, International Journal of Foundations of Computer Science 5 (1) (1994) 1–21.

    Article  MATH  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Johan Jeuring

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Tatsuta, M. (1998). Realizability of monotone coinductive definitions and its application to program synthesis. In: Jeuring, J. (eds) Mathematics of Program Construction. MPC 1998. Lecture Notes in Computer Science, vol 1422. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0054298

Download citation

  • DOI: https://doi.org/10.1007/BFb0054298

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64591-7

  • Online ISBN: 978-3-540-69345-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics