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 shallow 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: while it supports a unified value notion, it allows us to directly inject a closed universe of HOL types into it. We carefully craft a definitional mechanism in Isabelle/HOL that guarantees soundness.
|Title of host publication||6th International Symposium on Unifying Theories of Programming|
|Number of pages||20|
|Publication status||Accepted/In press - 2016|
|Event||6th International Symposium on Unifying Theories of Programming - Reykjavík, Iceland|
Duration: 4 Jun 2016 → 5 Jun 2016
|Conference||6th International Symposium on Unifying Theories of Programming|
|Period||4/06/16 → 5/06/16|