(* la vision en table est globale sur l'ensemble des sites, on peut
aussi la voir distribuee chaque site etant proprietaire de son entree
*)

Definition Date_table := Site -> nat.Definition Send_table := Site -> Z.Definition Rec_table := Site -> bool.(* l'ensemble des messages est distribue sur les files d'attente, ceci
pour respecter la contrainte que les messages entre deux sites sont
recus dans l'ordre dans lequel ils sont emis *)
 
Definition Bag_of_message := Site -> Site -> queue Message.Definition card_mess (m : Message) (q : queue Message) :=
  card Message eq_message_dec m q.

Lemma pos_card_mess : forall (m : Message) (q : queue Message), (card_mess m q >= 0)%Z.