An Axiomatic Value Model for Isabelle/UTP
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.
KeywordsProof System Healthiness Condition Proof Obligation Object Orientation Type Definition
We would like to thank the anonymous reviewers for their helpful suggestions and conscientious reading of the paper.
- 10.Hoare, T., Jifeng, H.: Unifying Theories of Programming. Prentice Hall Series in Computer Science. Prentice Hall, Upper Saddle River (1998). http://www.unifyingtheories.org/
- 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.RTCA, Inc.: Formal Methods Supplement to DO-178C and DO-278A. Technical report DO-333, RTCA, Washington, DC 20036, USA, December 2011Google Scholar
- 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