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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
Bowen, J., Gordon, M.: Z and HOL. In: Bowen, J.P., Hall, J.A. (eds.) Z User Workshop, pp. 141–167. Springer, Cambridge (1994)
Butterfield, A.: Saoithín: a theorem prover for UTP. In: Qin, S. (ed.) UTP 2010. LNCS, vol. 6445, pp. 137–156. Springer, Heidelberg (2010)
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)
Cavalcanti, A., Wellings, A., Woodcock, J.: The Safety-Critical Java memory model formalised. Formal Aspects of Computing 25(1), 37–57 (2013)
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)
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)
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)
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)
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)
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)
Guttmann, W., Möller, B.: Normal design algebra. The Journal of Logic and Algebraic Programming 79(2), 144–173 (2010)
Hoare, T.: Communicating Sequential Processes. Prentice-Hall (1985)
Hoare, T., He, J.: Unifying Theories of Programming. Prentice-Hall (1998)
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)
Iancu, M., Rabe, F.: Formalising foundations of mathematics. Mathematical Structures in Computer Science 21, 883–911 (2011)
Nipkow, T., Paulson, L.C., Wenzel, M. (eds.): Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)
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)
Oliveira, M., Cavalcanti, A., Woodcock, J.: A UTP semantics for Circus. Formal Aspects of Computing 21, 3–32 (2009)
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)
Spivey, J.: The Z-Notation - A Reference Manual. Prentice Hall (1989)
Tarski, A.: On the calculus of relations. J. Symbolic Logic 6(3), 73–89 (1941)
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)
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)
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
Zeyda, F., Cavalcanti, A.: Mechanical reasoning about families of UTP theories. In: SBMF. ENTCS, vol. 240, pp. 239–257 (2008)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)