Abstract

AbstractIn this paper, we present a formalisation of a subset of the unifying theories of programming (UTP). In UTP, the alphabetised relational calculus is used to describe and relate different programming paradigms, including functional, imperative, logic, and parallel programming.We develop a verification framework for UTP; we give a formal semantics to an imperative programming language, and use our definitions to create a deep embedding of the language in Z. We use ProofPowerZ, a theorem prover for Z to provide mechanised support for reasoning about programs in the unifying theory.KeywordsUnify TheoryObject LanguageProgram CorrectnessHigh Order LogicDenotational SemanticThese 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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call