Results 1 
2 of
2
Mechanizing Programming Logics in Higher Order Logic
 in Current Trends in Hardware Verification and Automated Theorem Proving, ed. P.A. Subrahmanyam and Graham Birtwistle
, 1989
"... Formal reasoning about computer programs can be based directly on the semantics of the programming language, or done in a special purpose logic like Hoare logic. The advantage of the first approach is that it guarantees that the formal reasoning applies to the language being used (it is well known, ..."
Abstract

Cited by 61 (3 self)
 Add to MetaCart
Formal reasoning about computer programs can be based directly on the semantics of the programming language, or done in a special purpose logic like Hoare logic. The advantage of the first approach is that it guarantees that the formal reasoning applies to the language being used (it is well known, for example, that Hoare’s assignment axiom fails to hold for most programming languages). The advantage of the second approach is that the proofs can be more direct and natural. In this paper, an attempt to get the advantages of both approaches is described. The rules of Hoare logic are mechanically derived from the semantics of a simple imperative programming language (using the HOL system). These rules form the basis for a simple program verifier in which verification conditions are generated by LCFstyle tactics whose validations use the derived Hoare rules. Because Hoare logic is derived, rather than postulated, it is straightforward to mix semantic and axiomatic reasoning. It is also straightforward to combine the constructs of Hoare logic with other applicationspecific notations. This is briefly illustrated for various logical constructs, including termination statements, VDMstyle ‘relational’ correctness specifications, weakest precondition statements and dynamic logic formulae. The theory underlying the work presented here is well known. Our contribution is to propose a way of mechanizing this theory in a way that makes certain practical details work out smoothly.
Relational Semantics for Modal Logics
, 1995
"... In this work we survey the connections between modal logic and relation algebra. We compare various modal and relational languages for the specification of reactive systems by giving new translation algorithms between these languages. We then characterize the expressiveness of the languages algeb ..."
Abstract
 Add to MetaCart
(Show Context)
In this work we survey the connections between modal logic and relation algebra. We compare various modal and relational languages for the specification of reactive systems by giving new translation algorithms between these languages. We then characterize the expressiveness of the languages algebraically with pmorphisms (or bisimulations). Furthermore, we show how completeness and incompleteness proofs of modal logic can be transferred to relation algebra, and give a relation algebraic treatment of modal correspondence theory. We show how our methods can be applied to stronger languages like those containing derivation rules or fixpoint operators. 1