1 Programming, Logic and Intelligent Systems, Department of People and Technology, Roskilde University2 The Department of Communication, Business and Information Technologies, Roskilde University
The model-checking problem is to decide, given a formula φ and an interpretation M, whether M satisfies φ, written M |= φ. Model-checking algorithms for temporal logics were initially developed with finite models (such as models of hardware) in mind so that M |= φ is decidable. As interest grew in model-checking infinite systems, other approaches were developed based on approximating the model-checking algorithm so that it still terminates with some useful output. In this work we present a model-checking algorithm for a multiagent epistemic logic contain- ing operators for common and distributed knowledge. The model-checker is developed as a function directly from the semantics of the logic, in a style that could be applied straight- forwardly to derive model-checkers for other logics. Secondly, we consider how to abstract the model-checker using abstract interpretation, yielding a procedure applicable to infinite models. The abstract model-checker allows model-checking with infinite-state models. When applied to the problem of whether M |= φ, it terminates and returns the set of states in M at which φ might hold. If the set is empty, then M definitely does not satisfy φ, while if the set is non-empty then M possibly satisfies φ.