Section ALT_CTRL.
(* decompte des messages sur une file d'attente alternee *)
Remark S_card_mess :
forall (q0 : queue Message) (m : Message),
card_mess m (input Message m q0) = (card_mess m q0 + 1)%Z.
Remark card_mess_diff :
forall (q0 : queue Message) (m m' : Message),
m <> m' -> card_mess m (input Message m' q0) = card_mess m q0.
Remark S_sigma_card_inc :
forall (s0 : Site) (q0 : queue Message),
sigma Site LS
(fun s' : Site => card_mess (inc_dec s') (input Message (inc_dec s0) q0)) =
(sigma Site LS (fun s' : Site => card_mess (inc_dec s') q0) + 1)%Z.
Remark diff_sigma_card_inc :
forall q0 : queue Message,
sigma Site LS
(fun s' : Site => card_mess (inc_dec s') (input Message dec q0)) =
sigma Site LS (fun s' : Site => card_mess (inc_dec s') q0).

Lemma alt_dec_inc :
forall q0 : queue Message,
alternate q0 ->
(card_mess dec q0 + 1 >=
sigma Site LS (fun s' : Site => card_mess (inc_dec s') q0))%Z.