The consequences of a logic program depend in general upon both the rules of the program and its language. However the consequences of some programs are independent of the choice ...
We consider software verification of imperative programs by theorem proving in higher-order separation logic. Of particular interest are the difficulties of encoding and reasoning ...
Logics of action, for reasoning about the effects of state change, and logics of belief, accounting for belief revision and update, have much in common. Furthermore, we may underta...
with functions over those sets. This level of abstraction is commensurate with the view that the correctness of the input/output behaviour of a program takes precedence over all it...
We outline elements of the Abstract Contract Calculator, a prototype language implemented in Haskell (a declarative programming language) in which we simulate agents executing abst...