Process semantics of Petri nets over partial algebraProving correctness of distributed algorithms using high-level Petri nets: A case study