First-Order Dynamic Logic door David Harel