Proof using.
induction l; intros; solve_by_inversion.
Qed.

(* Specifications: *)
Lemma clients_only_move_up_in_queue :
forall n c s,
lb_step_execution lb_step_async s ->
Nth (queue (nwState (evt_a (hd s)) Server)) (S n) c ->
weak_until (fun s => Nth (queue (nwState (evt_a (hd s)) Server)) (S n) c)
(next (fun s => Nth (queue (nwState (evt_a (hd s)) Server)) n c
/\ (n = 0 -> In (mkPacket Server (Client c) Locked)
(nwPackets (evt_a (hd s))))))
s.