Skip to main content

Executing formal specifications by translation to higher order logic programming

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

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

Included in the following conference series:

Abstract

We describe the construction and use of a system for translating higher order logic-based specifications into programs in the higher order logic programming language Lambda Prolog. The translation improves on previous work in the field of executing specifications by allowing formulas with quantifiers to be executed, and by permitting users to pose Prolog-style queries with free variables to be instantiated by the system. We also discuss various alternative target languages and design decisions in implementing the translator.

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. Hassan Ait-Kaci and Andreas Podelski. Towards a meaning of Life. Journal of Logic Programming, 16(3/4):195, July 1993.

    Google Scholar 

  2. Pascal Brisset and Olivier Ridoux. The compilation of Lambda Prolog and its execution with MALI. Technical Report 1831, INRIA, 1993.

    Google Scholar 

  3. Albert Camilleri. Simulation as an aid to verification using the HOL theorem prover. Technical Report 150, University of Cambridge Computer Laboratory, October 1988.

    Google Scholar 

  4. Michael R. Donat. Automating formal specification-based testing. In TAPSOFT: 7th International Joint Conference on Theory and Practice of Software Engineering, April 1997.

    Google Scholar 

  5. John Harman and Dale Miller. From operational semantics to abstract machines: Preliminary results. In Proceedings of the ACM Conference on Lisp and Functional Programming, pages 323–332, Nice, France, June 1990. ACM Press.

    Google Scholar 

  6. Jeffrey J. Joyce, Nancy A. Day, and Michael R. Donat. S: A machine readable specification notation based on higher order logic. In Higher Order Logic Theorem Proving and Its Applications, 7th International Workshop, volume 859 of LNCS. Springer-Verlag, 1994.

    Google Scholar 

  7. Jeffrey J. Joyce, Nancy A. Day, and Michael R. Donat. S — a general-purpose specification notation. Draft report, 1996.

    Google Scholar 

  8. Joxan Jaffar, Spiro Michaylov, Peter J. Stuckey, and Roland H. C. Yap. The CLP(R) language and system. ACM Transactions on Programming Languages and Systems, 14(3):339–395, July 1992.

    Google Scholar 

  9. G. Kahn. Natural semantics. In Proceedings of the Symposium on Theoretical Aspects of Computer Science, volume 247 of LNCS, pages 22–39, Passau, Federal Republic of Germany, Feb 1987. Springer.

    Google Scholar 

  10. Donald W. Loveland and David W. Reed. near-Horn Prolog for compilation. In Computational Logic: Essays in Honor of Alan Robinson, Cambridge, Mass., 1991. MIT Press.

    Google Scholar 

  11. Robin Milner. A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science. Springer-Verlag, Berlin, 1980.

    Google Scholar 

  12. Dale A. Miller. Lambda Prolog homepage. http://www.cis.upenn.edu/ dale/lProlog/index. html/,1996.

    Google Scholar 

  13. Dale A. Miller and Gopalan Nadathur. Higher-order logic programming. In Proceedings of the Third International Logic Programming Conference, Imperial College, London, July 1986.

    Google Scholar 

  14. Dale Miller, Gopalan Nadathur, Frank Pfenning, and Andre Scedrov. Uniform proofs as a foundation for logic programming. Annals of Pure and Applied Logic, 51:125–157, 1991.

    Google Scholar 

  15. Chetan R. Murthy. An evaluation semantics for classical proofs. In Proceedings of the Fifth Annual Symposium on Logic in Computer Science. IEEE, 1991.

    Google Scholar 

  16. Monica Nesi. Value-passing CCS in HOL. In HOL Users' Group Workshop, Vancouver, August 1993.

    Google Scholar 

  17. SICS (Swedish Institute of Computer Science). SICStus Prolog user's manual. Technical report, Swedish Institute of Computer Science, Kista, Sweden, April 1994.

    Google Scholar 

  18. P. Sreeranga Rajan. Executing HOL specifications: Towards an evaluation semantics for classical higher order logic. In L. J. M. Claesen and M. J. C. Gordon, editors, Higher Order Logic Theorem Proving and its Applications, Leuven, Belgium, September 1992. Elsevier.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Elsa L. Gunter Amy Felty

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Andrews, J.H. (1997). Executing formal specifications by translation to higher order logic programming. In: Gunter, E.L., Felty, A. (eds) Theorem Proving in Higher Order Logics. TPHOLs 1997. Lecture Notes in Computer Science, vol 1275. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0028383

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63379-2

  • Online ISBN: 978-3-540-69526-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics