Skip to main content

Isabelle/UTP: A Mechanised Theory Engineering Framework

  • Conference paper
  • First Online:
Unifying Theories of Programming (UTP 2014)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8963))

Included in the following conference series:

Abstract

We introduce Isabelle/UTP, a novel mechanisation of Hoare and He’s Unifying Theories of Programming (UTP) in Isabelle/HOL. UTP is a framework for the study, formalisation, and unification of formal semantics. Our contributions are, firstly, a deep semantic model of UTP’s alphabetised predicates, supporting meta-logical reasoning that is parametric in the underlying notions of values and types. Secondly, integration of host-logic type checking that subsumes the need for typing proof obligations in the object-language. Thirdly, proof tactics that transfer results from well-supported mathematical structures in Isabelle to proofs about UTP theories. Additionally, our work provides novel insights towards reconciliation of shallow and deep language embeddings.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 34.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 44.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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Blanchette, J.C., Bulwahn, L., Nipkow, T.: Automatic proof and disproof in Isabelle/HOL. In: Tinelli, C., Sofronie-Stokkermans, V. (eds.) FroCoS 2011. LNCS, vol. 6989, pp. 12–27. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  2. Boulton, R., Gordon, A., Gordon, M., Harrison, J., VanTassel, J.: Experience with embedding hardware description languages in HOL. In: Proc. IFIP Intl. Conf. on Theorem Provers in Circuit Design, pp. 129–156 (1993)

    Google Scholar 

  3. Bowen, J., Gordon, M.: Z and HOL. In: Bowen, J.P., Hall, J.A. (eds.) Z User Workshop, pp. 141–167. Springer, Cambridge (1994)

    Google Scholar 

  4. Butterfield, A.: Saoithín: a theorem prover for UTP. In: Qin, S. (ed.) UTP 2010. LNCS, vol. 6445, pp. 137–156. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  5. Butterfield, A.: The Logic of U \(\cdot \)(TP)\(^2\). In: Wolff, B., Gaudel, M.-C., Feliachi, A. (eds.) UTP 2012. LNCS, vol. 7681, pp. 124–143. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  6. Cavalcanti, A., Wellings, A., Woodcock, J.: The Safety-Critical Java memory model formalised. Formal Aspects of Computing 25(1), 37–57 (2013)

    Article  MATH  MathSciNet  Google Scholar 

  7. Couto, L., Foster, S., Payne, R.: Towards verification of constituent systems through automated proof. In: Proc. Workshop on Engineering Dependable Systems of Systems (EDSoS). ACM CoRR (2014)

    Google Scholar 

  8. Feliachi, A., Gaudel, M.-C., Wolff, B.: Unifying theories in Isabelle/HOL. In: Qin, S. (ed.) UTP 2010. LNCS, vol. 6445, pp. 188–206. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  9. Feliachi, A., Gaudel, M.-C., Wolff, B.: Isabelle/Circus: a process specification and verification environment. In: Joshi, Rajeev, Müller, Peter, Podelski, Andreas (eds.) VSTTE 2012. LNCS, vol. 7152, pp. 243–260. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  10. Foster, S., Miyazawa, A., Woodcock, J., Cavalcanti, A., Fitzgerald, J., Larsen, P.: An approach for managing semantic heterogeneity in systems of systems engineering. In: Proc. 9th Intl. Conf. on Systems of Systems Engineering. IEEE (2014)

    Google Scholar 

  11. Foster, S., Struth, G., Weber, T.: Automated engineering of relational and algebraic methods in Isabelle/HOL. In: de Swart, H. (ed.) RAMICS 2011. LNCS, vol. 6663, pp. 52–67. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  12. Foster, S., Woodcock, J.: Unifying theories of programming in Isabelle. In: Liu, Z., Woodcock, J., Zhu, H. (eds.) Theories of Programming. LNCS, vol. 8050, pp. 109–155. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  13. Guttmann, W., Möller, B.: Normal design algebra. The Journal of Logic and Algebraic Programming 79(2), 144–173 (2010)

    Article  MATH  MathSciNet  Google Scholar 

  14. Hoare, T.: Communicating Sequential Processes. Prentice-Hall (1985)

    Google Scholar 

  15. Hoare, T., He, J.: Unifying Theories of Programming. Prentice-Hall (1998)

    Google Scholar 

  16. Huffman, B., Kunčar, O.: Lifting and transfer: a modular design for quotients in Isabelle/HOL. In: Gonthier, G., Norrish, M. (eds.) CPP 2013. LNCS, vol. 8307, pp. 131–146. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  17. Iancu, M., Rabe, F.: Formalising foundations of mathematics. Mathematical Structures in Computer Science 21, 883–911 (2011)

    Article  MATH  MathSciNet  Google Scholar 

  18. Nipkow, T., Paulson, L.C., Wenzel, M. (eds.): Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)

    Google Scholar 

  19. Oliveira, M., Cavalcanti, A., Woodcock, J.: Unifying theories in proofpower-Z. In: Dunne, S., Stoddart, B. (eds.) UTP 2006. LNCS, vol. 4010, pp. 123–140. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  20. Oliveira, M., Cavalcanti, A., Woodcock, J.: A UTP semantics for Circus. Formal Aspects of Computing 21, 3–32 (2009)

    Article  MATH  Google Scholar 

  21. Perna, J.I., Woodcock, J.: UTP semantics for handel-C. In: Butterfield, A. (ed.) UTP 2008. LNCS, vol. 5713, pp. 142–160. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  22. Spivey, J.: The Z-Notation - A Reference Manual. Prentice Hall (1989)

    Google Scholar 

  23. Tarski, A.: On the calculus of relations. J. Symbolic Logic 6(3), 73–89 (1941)

    Article  MathSciNet  Google Scholar 

  24. Urban, C., Tasson, C.: Nominal techniques in Isabelle/HOL. In: Nieuwenhuis, R. (ed.) CADE 2005. LNCS (LNAI), vol. 3632, pp. 38–53. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  25. Woodcock, J., Cavalcanti, A.: The semantics of \(Circus\). In: Bert, D., Bowen, J.P., C. Henson, M., Robinson, K. (eds.) B 2002 and ZB 2002. LNCS, vol. 2272, p. 184. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  26. Woodcock, J., Cavalcanti, A., Fitzgerald, J., Larsen, P., Miyazawa, A., Perry, S.: Features of CML: a formal modelling language for systems of systems. In: IEEE Proc. 7th Intl. Conference on System of Systems Engineering, July 2012

    Google Scholar 

  27. Zeyda, F., Cavalcanti, A.: Mechanical reasoning about families of UTP theories. In: SBMF. ENTCS, vol. 240, pp. 239–257 (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Simon Foster .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Foster, S., Zeyda, F., Woodcock, J. (2015). Isabelle/UTP: A Mechanised Theory Engineering Framework. In: Naumann, D. (eds) Unifying Theories of Programming. UTP 2014. Lecture Notes in Computer Science(), vol 8963. Springer, Cham. https://doi.org/10.1007/978-3-319-14806-9_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-14806-9_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-14805-2

  • Online ISBN: 978-3-319-14806-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics