(************************************************************)
Definition coord_msg tag (from to : nid) : bool :=
[&& from == cn, to \in pts & tagFromCoordinator tag].
Definition participant_msg tag (from to : nid) : bool :=
[&& from \in pts, to == cn & tagFromParticipant tag].
Definition internal_msg (tag : nat) (from to : nid) : bool :=
coord_msg tag from to || participant_msg tag from to.

Lemma inv_msg_round d (C : coh d) i tag m from to round cs :
find i (dsoup d) =
Some {| content := {| tag := tag; tms_cont := m |};
from := from;
to := to;
active := true |} ->
internal_msg tag from to ->
Inv d ->
getStC C = (round, cs) ->
head 0 m == round.