Mechanising the Alphabetised Relational Calculus
Gift Nuka, Jim Woodcock · Electronic Notes in Theoretical Computer Science · 2004
In Hoare and He's unifying theories of programming, the alphabetised relational calculus is used to describe and relate different programming paradigms, including functional, imperative, logic, and parallel programming. In this paper, we give a formal semantics of the alphabetised relational calculus, and use our definition to create a deep embedding of the calculus in Z. This allows us to use one of the standard theorem provers for Z, in order to provide mechanised support for reasoning about programs in the unifying theory.