(* les couples de sites correspondent aux files d'attente *)

Definition eq_queue_dec := eq_couple_dec Site Site eq_site_dec eq_site_dec.Definition change_queue (Q : Set) := update2_table Site eq_site_dec Q.

(* Specifications: *)
Lemma that_queue : forall (E : Set) (f : Site -> Site -> E) (s0 s1 : Site) (x : E), change_queue E f s0 s1 x s0 s1 = x.
Lemma other_queue : forall (E : Set) (f : Site -> Site -> E) (s0 s1 s2 s3 : Site) (x : E), s2 <> s0 \/ s3 <> s1 -> change_queue E f s0 s1 x s2 s3 = f s2 s3.