Compositional verification of parallel programs using epistemic logic and abstract assertional languages by M. van Hulst