Section ClientGenericReceiveTransitions.
Notation coh := LockCoh.
Variable the_tag : nat.
Variable client_recv_wf : forall d, coh d -> nid -> nid -> TaggedMessage -> bool.
Definition rc_step : receive_step_t coh :=
fun this (from : nid) (m : seq nat) d (pf : coh d) (pt : this \in nodes) =>
if (this \in clients)
then let s := getSt_client pf pt in
st :-> client_recv_step s from the_tag m
else getLocal this d.

Lemma rc_step_coh : r_step_coh_t client_recv_wf the_tag rc_step.