Definition no_message (c : Config) :=
forall s1 s2 : Site, In s1 LS -> In s2 LS -> bm c s1 s2 = empty Message.

(* Specifications: *)
Lemma decide_no_message :
forall c : Config, {no_message c} + {~ no_message c}.
Lemma decide_exist_non_empty_queue1 :
forall (c : Config) (a : Site),
legal c ->
{(forall s2 : Site, In s2 LS -> bm c a s2 = empty Message)} +
{~ (forall s2 : Site, In s2 LS -> s2 <> a -> bm c a s2 = empty Message)}.
Lemma exist_non_empty_queue :
forall c : Config,
legal c ->
~ no_message c ->
exists s1 : Site,
(exists s2 : Site, s1 <> s2 /\ bm c s1 s2 <> empty Message).