End M_ACTION.
Section IN_Q_EFFECT.
Variable Message : Set.
Let Bag_of_message := Bag_of_Data Message.
(* consequence sur l'appartenance *)

(* Specifications: *)
Lemma in_post :
forall (m m' : Message) (bom : Bag_of_message) (s1 s2 s3 s4 : Site),
m <> m' ->
In_queue Message m (Post_message Message m' bom s1 s2 s3 s4) ->
In_queue Message m (bom s3 s4).
Lemma not_in_post :
forall (m m' : Message) (bom : Bag_of_message) (s1 s2 s3 s4 : Site),
m <> m' ->
~ In_queue Message m (bom s3 s4) ->
~ In_queue Message m (Post_message Message m' bom s1 s2 s3 s4).
Lemma not_in_collect :
forall (m : Message) (bom : Bag_of_message) (s1 s2 s3 s4 : Site),
~ In_queue Message m (bom s3 s4) ->
~ In_queue Message m (Collect_message Message bom s1 s2 s3 s4).
Lemma in_collect :
forall (m : Message) (bom : Bag_of_message) (s1 s2 s3 s4 : Site),
In_queue Message m (Collect_message Message bom s1 s2 s3 s4) ->
In_queue Message m (bom s3 s4).