Skip to main content

A proof tool for reasoning about functional programs

  • Conference paper
  • First Online:
Theorem Proving in Higher Order Logics (TPHOLs 1996)

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

Included in the following conference series:

Abstract

This paper describes a system to support reasoning about lazy functional programs. The system is based on a combination of a deep embedding of the language in HOL with a set of proof tools to raise the level of interaction with the theorem prover. This approach allows metatheoretic reasoning about the semantics and reasoning about undefined programs while still supporting practical reasoning about programs in the language.

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. Samson Abramsky. The Lazy Lambda Calculus. In David Turner, editor, Research Topics in Functional Programming, pages 65–116. Addison-Wesley, 1990.

    Google Scholar 

  2. Richard Boulton, Andrew Gordon, Mike Gordon, John Harrison, John Herbert, and John Van Tassel. Experience with embedding hardware description languages in HOL. In V. Stavridou, T. F. Melham, and R. T. Boute, editors, Theorem Provers in Circuit Design: Theory, Practice and Experience: Proceedings of the IFIP WG10.2 International Conference, Nijmegen, pages 129–156. North-Holland, June 1992.

    Google Scholar 

  3. A. Cant and M.A. Ozols. A verification environment for ML programs. In Proceedings of the ACM SIGPLAN Workshop on ML and its Applications, San Francisco, California, June 1992.

    Google Scholar 

  4. Graham Collins. Supporting Reasoning about Functional Programs: An Operational Approach. In 1995 Glasgow Workshop on Functional Programming, Electroninc Workshops in Computer Science. Springer-Verlag, 1996.

    Google Scholar 

  5. Graham Collins and Donald Syme. A Theory of Finite Maps. In E. Thomas Schubert, Phillip J. Windley, and Hames Alves-Foss, editors, Higher Order Logic Theorem Proving and its Applications, volume 971 of Lecture Notes in Computer Science, pages 122–137. Springer-Verlag, 1995.

    Google Scholar 

  6. Andrew D. Gordon. Bisimilarity as a Theory of Functional Programming. Technical Report NS-95-3, Basic Research in Computer Science, University of Aarhus, July 1995.

    Google Scholar 

  7. Andrew D. Gordon. A Tutorial on Co-induction and Functional Programming. In 1994 Glasgow Workshop on Functional Programming, Workshops in Computer Science, pages 78–95. Springer-Verlag, 1995.

    Google Scholar 

  8. M. J. C. Gordon and T. F. Melham, editors. Introduction to HOL: A theorem proving environment for higher order logic. Cambridge University Press, 1993.

    Google Scholar 

  9. John Harrison. Inductive definitions: automation and application. In E. Thomas Schubert, Phillip J. Windley, and Hames Alves-Foss, editors, Higher Order Logic Theorem Proving and its Applications, volume 971 of Lecture Notes in Computer Science, pages 200–213. Springer-Verlag, 1995.

    Google Scholar 

  10. Savi Maharaj and Elsa Gunter. Studying the ML Module System in HOL. In Tom Melham and Juanito Camilleri, editors, Higher Order Logic Theorem Proving and its Applications, volume 859 of Lecture Notes in Computer Science, pages 346–361. Springer-Verlag, September 1994.

    Google Scholar 

  11. Tom F. Melham. A Package for Inductive Relation Definitions in HOL. In M. Archer, J. J. Joyce, K. N. Levitt, and P. J. Windley, editors, Proceedings of the 1991 International Workshop on the HOL Theorem Proving System and its Applications, Davis, August 1992, pages 350–357. IEEE Computer Society Press, 1992.

    Google Scholar 

  12. Donald Syme. Reasoning with the Formal Definition of Standard ML in HOL. In Higher Order Logic Theorem Proving and Its Applications, volume 780 of Lecture Notes in Computer Science, pages 43–60. Springer-Verlag, 1993.

    Google Scholar 

  13. Myra VanInwegen and Elsa Gunter. HOL-ML. In J. J. Joyce and C. J. H. Seger, editors, Higher Order Logic Theorem Proving and its Applications, volume 780 of Lecture Notes in Computer Science, pages 61–74. Springer-Verlag, 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Gerhard Goos Juris Hartmanis Jan van Leeuwen Joakim von Wright Jim Grundy John Harrison

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Collins, G. (1996). A proof tool for reasoning about functional programs. In: Goos, G., Hartmanis, J., van Leeuwen, J., von Wright, J., Grundy, J., Harrison, J. (eds) Theorem Proving in Higher Order Logics. TPHOLs 1996. Lecture Notes in Computer Science, vol 1125. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0105400

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61587-3

  • Online ISBN: 978-3-540-70641-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics