Section NetworkSemantics.
Variable w : world.
Variable this: nid.
Notation getl := (getLocal).
Notation gets := (getStatelet).
Notation getp := (@getProtocol w).
(* Getters for transitions *)
Definition get_coh l := @coh (getp l).
Definition get_st l := @snd_trans (getp l).
Definition get_rt l := @rcv_trans (getp l).
(* Stepping only changes the local state of "this" node, in any of the protocols. *)
(* Lemma step_other_label s1 s2 l: network_step s1 s2 -> *)
(*   forall z l', l' != l -> *)
(*   find z (dstate (gets s1 l')) = find z (dstate (gets s2 l')). *)
(* Proof. *)
(* move=>S z l' N; case: S; first by case=>_ Z; subst s2. *)
(* (* Send-transition *) *)
(* move=>k st ? to a b pf D C S Ph Spf Z; subst s2. *)
(* case B: (l' == k); rewrite /gets !findU B ?(cohS C)//=. *)
(* move/eqP: B=>B; subst l'. *)
(* case: dom_find D=>//d -> E _. rewrite findU. *)
(* Search _ (dom_find_spec). *)
(* (* Receive-transition *) *)
(* Qed. *)

Lemma stepV1 s1 s2: network_step s1 s2 -> valid s1.