(****************************************************)
Notation coh := CalCoh.
(*** Server Transitions ***)
Section ServerReceiveTransition.
Definition sr_wf d (_ : coh d) (this from : nid) msg :=
prec msg.
Definition sr_step : receive_step_t coh :=
fun this (from : nid) (m : seq nat) d (pf : coh d) (pt : this \in nodes) =>
if this \in cs
then let s := getSt this pf in
st :-> ((from, this, m) :: s)
else getLocal this d.

(* Specifications: *)
(* This looks extremely similar to TPC, so, perhaps this should be refactored as well. *)
Lemma sr_step_coh : r_step_coh_t sr_wf req sr_step.
Definition server_recv_trans := ReceiveTrans sr_step_coh.