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).