From mathcomp.ssreflect
From mathcomp
From fcsl
From DiSeL
Set Implicit Arguments.
Unset Strict Implicit.
Unset Printing Implicit Defensive.
(* Operational semantics of the network *)
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).

(* Specifications: *)
Lemma getsE l s : l \in dom s -> find l s = Some (gets s l).
Lemma coh_s l s: Coh w s -> coh (getp l) (gets s l).
(* Stepping preserves the protocol structure *)
Lemma step_preserves_labels s1 s2 :
network_step s1 s2 -> dom s1 =i dom s2.