An Axiomatic Value Model for Isabelle/UTP

  • Frank Zeyda
  • Simon FosterEmail author
  • Leo Freitas
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10134)


The Unifying Theories of Programming (UTP) is a mathematical framework to define, examine and link program semantics for a large variety of computational paradigms. Several mechanisations of the UTP in HOL theorem provers have been developed. All of them, however, succumb to a trade off in how they encode the value model of UTP theories. A deep and unified value model via a universal (data)type incurs restrictions on permissible value types and adds complexity; a value model directly instantiating HOL types for UTP values retains simplicity, but sacrifices expressiveness, since we lose the ability to compositionally reason about alphabets and theories. We here propose an alternative solution that axiomatises the value model and retains the advantages of both approaches. We carefully craft a definitional mechanism in the Isabelle/HOL prover that guarantees soundness.


Proof System Healthiness Condition Proof Obligation Object Orientation Type Definition 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



We would like to thank the anonymous reviewers for their helpful suggestions and conscientious reading of the paper.


  1. 1.
    Blanchette, J.C., Böhme, S., Paulson, L.C.: Extending sledgehammer with SMT solvers. In: Bjørner, N., Sofronie-Stokkermans, V. (eds.) CADE 2011. LNCS (LNAI), vol. 6803, pp. 116–130. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-22438-6_11 CrossRefGoogle Scholar
  2. 2.
    Butterfield, A.: Saoithín: a theorem prover for UTP. In: Qin, S. (ed.) UTP 2010. LNCS, vol. 6445, pp. 137–156. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-16690-7_6 CrossRefGoogle Scholar
  3. 3.
    Butterfield, A.: The logic of \(\mathit{U}\cdot (\mathit{TP})^{2}\). In: Wolff, B., Gaudel, M.-C., Feliachi, A. (eds.) UTP 2012. LNCS, vol. 7681, pp. 124–143. Springer, Berlin (2013). doi: 10.1007/978-3-642-35705-3_6 CrossRefGoogle Scholar
  4. 4.
    Cavalcanti, A., Wellings, A., Woodcock, J.: The safety-critical java memory model formalised. Formal Aspects Comput, 25(1), 37–57 (2013)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    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). doi: 10.1007/978-3-642-16690-7_9 CrossRefGoogle Scholar
  6. 6.
    Feliachi, A., Gaudel, M.-C., Wolff, B.: Open image in new window a process specification and verification environment. In: Joshi, R., Müller, P., Podelski, A. (eds.) VSTTE 2012. LNCS, vol. 7152, pp. 243–260. Springer, Berlin (2012). doi: 10.1007/978-3-642-27705-4_20
  7. 7.
    Foster, S., Zeyda, F., Woodcock, J.: Isabelle/UTP: a mechanised theory engineering framework. In: Naumann, D. (ed.) UTP 2014. LNCS, vol. 8963, pp. 21–41. Springer, Heidelberg (2015). doi: 10.1007/978-3-319-14806-9_2 Google Scholar
  8. 8.
    Gordon, M.: Set theory, higher order logic or both? In: Goos, G., Hartmanis, J., Leeuwen, J., Wright, J., Grundy, J., Harrison, J. (eds.) TPHOLs 1996. LNCS, vol. 1125, pp. 191–201. Springer, Heidelberg (1996). doi: 10.1007/BFb0105405 CrossRefGoogle Scholar
  9. 9.
    Gordon, M.J., Milner, A.J., Wadsworth, C.P.: Edinburgh LCF: A Mechanised Logic of Computation. LNCS, vol. 78. Springer, Heidelberg (1979)zbMATHGoogle Scholar
  10. 10.
    Hoare, T., Jifeng, H.: Unifying Theories of Programming. Prentice Hall Series in Computer Science. Prentice Hall, Upper Saddle River (1998).
  11. 11.
    Iancu, M., Rabe, F.: Formalising foundations of mathematics. Math. Struct. Comput. Sci. 21(Special Issue 04), 883–911 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Kunčar, O., Popescu, A.: A consistent foundation for Isabelle/HOL. In: Urban, C., Zhang, X. (eds.) ITP 2015. LNCS, vol. 9236, pp. 234–252. Springer, Heidelberg (2015). doi: 10.1007/978-3-319-22102-1_16 Google Scholar
  13. 13.
    Nipkow, T., Wenzel, M., Paulson, L.C. (eds.): Isabelle/HOL: A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Berlin (2002). 3540433767zbMATHGoogle Scholar
  14. 14.
    Nuka, G., Woodcock, J.: Mechanising a unifying theory. In: Dunne, S., Stoddart, B. (eds.) UTP 2006. LNCS, vol. 4010, pp. 217–235. Springer, Heidelberg (2006). doi: 10.1007/11768173_13 CrossRefGoogle Scholar
  15. 15.
    Obua, S.: Partizan games in Isabelle/HOLZF. In: Barkaoui, K., Cavalcanti, A., Cerone, A. (eds.) ICTAC 2006. LNCS, vol. 4281, pp. 272–286. Springer, Heidelberg (2006). doi: 10.1007/11921240_19 CrossRefGoogle Scholar
  16. 16.
    Oliveira, M., Cavalcanti, A., Woodcock, J.: A UTP semantics for Open image in new window. Formal Aspects Comput. 21(1), 3–32 (2007)Google Scholar
  17. 17.
    Oliveira, M., Cavalcanti, A., Woodcock, J.: Unifying theories in ProofPower-Z. Formal Aspects Comput. 25(1), 133–158 (2013)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Pitts, A.: Part III: The HOL Logic. In: Gordon, M.J.C., Melham, T.F. (eds) Introduction to HOL: A Theorem-Proving Environment for Higher-Order Logic, pp. 191–232. Cambridge University Press, March 1993Google Scholar
  19. 19.
    RTCA, Inc.: Formal Methods Supplement to DO-178C and DO-278A. Technical report DO-333, RTCA, Washington, DC 20036, USA, December 2011Google Scholar
  20. 20.
    Santos, T., Cavalcanti, A., Sampaio, A.: Object-orientation in the UTP. In: Dunne, S., Stoddart, B. (eds.) UTP 2006. LNCS, vol. 4010, pp. 18–37. Springer, Heidelberg (2006). doi: 10.1007/11768173_2 CrossRefGoogle Scholar
  21. 21.
    Sherif, A., Cavalcanti, A., Jifeng, H., Sampaio, A.: A process algebraic framework for specification and validation of real-time systems. Formal Aspects Comput. 22(2), 153–191 (2010)CrossRefzbMATHGoogle Scholar
  22. 22.
    Spivey, M.: The consistency theorem for free type definitions in Z. Formal Aspects Comput. 8(3), 369–375 (2015)CrossRefzbMATHGoogle Scholar
  23. 23.
    Traytel, D., Popescu, A., Blanchette, J.C.: Foundational, compositional (Co)datatypes for higher-order logic: category theory applied to theorem proving. In: Proceedings of LICS 2012, pp. 596–605. IEEE, June 2012Google Scholar
  24. 24.
    Zeyda, F., Cavalcanti, A.: Higher-order UTP for a theory of methods. In: Wolff, B., Gaudel, M.-C., Feliachi, A. (eds.) UTP 2012. LNCS, vol. 7681, pp. 204–223. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-35705-3_10 CrossRefGoogle Scholar
  25. 25.
    Zeyda, F., Cavalcanti, A.: Mechanical reasoning about families of UTP theories. Sci. Comput. Program. 77(4), 444–479 (2012)CrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.School of ComputingTeesside UniversityMiddlesbroughUK
  2. 2.Department of Computer ScienceUniversity of YorkYorkUK
  3. 3.School of Computing ScienceNewcastle UniversityNewcastleUK

Personalised recommendations