Skip to main content

Refinement Calculus for Logic Programming in Isabelle/HOL

  • Conference paper
  • First Online:

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

Abstract

This paper describes a deep embedding of a refinement calculus for logic programs in Isabelle/HOL. It extends a previous tool with support for procedures and recursion. The tool supports refinement in context, and a number of window-inference tactics that ease the burden on the user. In this paper, we also discuss the insights gained into the suitability of different logics for embedding refinement calculii (applicable to both declarative and imperative paradigms). In particular, we discuss the richness of the language, choice between typed and untyped logics, automated proof support, support for user-defined tactics, and representation of program states.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Isabelle home page. http://www.cl.cam.ac.uk/Research/HVG/Isabelle/index.html.

  2. Ralph Back, Jim Grundy, and Joakim von Wright. Structured calculational proof. Formal Aspects of Computing, 9(5–6):469–483, 1997.

    Article  MATH  Google Scholar 

  3. D. Carrington, I. Hayes, R. Nickson, G. Watson, and J. Welsh. A review of existing refinement tools. Technical report 94-08, Software Verification Research Centre, The University of Queensland, Brisbane 4072. Australia, June 1994.

    Google Scholar 

  4. D. Carrington, I. Hayes, R. Nickson, G. Watson, and J. Welsh. A program refinement tool. Formal Aspects of Computing, 10:97–124, 1998.

    Article  MATH  Google Scholar 

  5. R. Colvin, I. Hayes, R. Nickson, and P. Strooper. A tool for logic program refinement. In D. J. Duke and A. S. Evans, editors, Second BCS-FACS Northern Formal Methods Workshop, Electronic Workshops in Computing. Springer Verlag, 1997.

    Google Scholar 

  6. J. Grundy. A window inference tool for refinement. In C.B. Jones, R.C. Shaw, and T. Denvir, editors, Fifth Refinement Workshop, Workshops in Computing, pages 230–254. BCS FACS, Springer-Verlag, 1992.

    Google Scholar 

  7. I. Hayes, R. Nickson, and P. Strooper. Refining specifications to logic programs. In J. Gallagher, editor, Logic Program Synthesis and Transformation. Proceedings of the 6th International Workshop, LOPSTR’96, Stockholm, Sweden, August 1996, volume 1207 of Lecture Notes in Computer Science, pages 1–19. Springer Verlag, 1997.

    Google Scholar 

  8. I. Hayes, R. Nickson, P. Strooper, and R. Colvin. A declarative semantics for logic program refinement. Technical Report 00-30, Software Verification Research Centre, The University of Queensland, October 2000.

    Google Scholar 

  9. D. Hemer. Building tool support for a refinement calculus for logic programming: A comparison of interactive theorem provers. Technical Report 00-06, Software Verification Research Centre, The University of Queensland, March 2000.

    Google Scholar 

  10. P. Homeier and D. Martin. Mechanical verification of mutually recursive procedures. In M.A. McRobbie and J.K. Slaney, editors, Proceedings of the 13th International Conference on Artificial Deduction (CADE-13), number 1104 in Lecture Notes in Artificial Intelligence, pages 201–215. Springer-Verlag, 1996.

    Google Scholar 

  11. Kolyang, T. Santen, and B. Wolff. A structure preserving encoding of Z in Isabelle/HOL. In J. von Wright, J. Grundy, and J. Harrison, editors, Theorem Proving in Higher Order Logics — 9th International Conference, LNCS 1125, pages 283–298. Springer Verlag, 1996.

    Google Scholar 

  12. R. Nickson and I. Hayes. Supporting contexts in program refinement. Science of Computer Programming, 29:279–302, 1997.

    Article  MATH  Google Scholar 

  13. L.C. Paulson. Isabelle-A Generic Theorem Prover, volume 828 of Lecture Notes in Computer Science. Springer-Verlag, 1994.

    MATH  Google Scholar 

  14. P.J. Robinson and J. Staples. Formalising the hierarchical structure of practical mathematical reasoning. Journal of Logic and Computation, 3(1):47–61, February 1993.

    Google Scholar 

  15. J.M. Spivey. The Z Notation: a Reference Manual. Prentice-Hall, New York, 1989.

    MATH  Google Scholar 

  16. M. Staples. Window inference in Isabelle. In L. Paulson, editor, Proceedings of the First Isabelle User’s Workshop, volume 379 of University of Cambridge Computer Laboratory Technical Report, pages 191–205, September 1995.

    Google Scholar 

  17. M. Staples. A Mechanised Theory of Refinement. PhD thesis, Computer Laboratory, University of Cambridge, 1998.

    Google Scholar 

  18. M. Staples. Representing WP Semantics in Isabelle/ZF. In TPHOLs’ 99, volume 1690 of Lecture Notes in Computer Science, pages 239–254, September 1999.

    Google Scholar 

  19. M. Utting and K. Whitwell. Ergo user manual. Technical Report 93-19, Software Verification Research Centre, The University of Queensland, Brisbane, QLD 4072, Australia, March 1994. Describes Version 4.0 of Ergo.

    Google Scholar 

  20. Mark Utting. The Ergo 5 generic proof engine. Technical Report 97-44, Software Verification Research Centre, The University of Queensland, 1997.

    Google Scholar 

  21. J. von Wright. Program refinement by theorem proving. In D. Till, editor, Sixth Refinement Workshop, Workshops in Computing, pages 121–150. BCS FACS, Springer-Verlag, 1994.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hemer, D., Hayes, I., Strooper, P. (2001). Refinement Calculus for Logic Programming in Isabelle/HOL. In: Boulton, R.J., Jackson, P.B. (eds) Theorem Proving in Higher Order Logics. TPHOLs 2001. Lecture Notes in Computer Science, vol 2152. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44755-5_18

Download citation

  • DOI: https://doi.org/10.1007/3-540-44755-5_18

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42525-0

  • Online ISBN: 978-3-540-44755-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics