The ''everywhere'' operator was introduced by E.W. Dijkstra and C.S. Scholten for use in reasoning about programs. The predicate calculus used by them is an algebra, rather than a logic and this appears to have caused some misunderstanding.
We present the predicate algebra of Dijkstra and Scholten in a way that we hope is comprehensible for those with a working knowledge of lattice theory. We also present propositional modal logic S5 in a way that should be comprehensible for those without a background in logic. We show that S5 is sound and complete for the propositional part of the predicate algebra with the everywhere operator. This is not new but apparently little known.
- specification languages
- predicate algebra
- everywhere operator