Definition internal_msg (tag : nat) (from to : nid) : bool :=
  coord_msg tag from to || participant_msg tag from to.

(* Specifications: *)
Lemma internal_msg_to_cn tag from : internal_msg tag from cn -> participant_msg tag from cn.
Lemma cn_stateE_consume_external d i this tag m from cs log : E_consume_external d i this tag m from (fun d => cn_state d cs log).
Lemma pt_stateE_consume_external d i this tag m from ps lg pt : E_consume_external d i this tag m from (fun d => pt_state d ps lg pt).
Lemma msg_specE_consume_external d i this tag m from from' to' tag' m' : internal_msg tag' from' to' -> E_consume_external d i this tag m from (fun d => msg_spec from' to' tag' m' (dsoup d)).
Lemma pt_InitE_consume_external d i this tag m from round lg pt : E_consume_external d i this tag m from (fun d => pt_Init d round lg pt).
Lemma pt_PhaseOneRespondedE_consume_external d i this tag m from round next_data lg b pt : E_consume_external d i this tag m from (fun d => pt_PhaseOneResponded d round next_data lg b pt).
Lemma pt_PhaseTwoRespondedE_consume_external d i this tag m from round next_data lg b pt : E_consume_external d i this tag m from (fun d => pt_PhaseTwoResponded d round next_data lg b pt).
Lemma invE_consume_external d i this tag m from : E_consume_external d i this tag m from Inv.
Lemma internal_msg_from_cn tag to : internal_msg tag cn to -> coord_msg tag cn to.
Lemma cn_state_functional d cs1 lg1 cs2 lg2 : valid (loc cn d) -> cn_state d cs1 lg1 -> cn_state d cs2 lg2 -> cs1 = cs2 /\ lg1 = lg2.