(************************************************************************)
(******       Auxiliary lemmas for establishing stability          ******)
(************************************************************************)

Lemma recv_lq_case1 req_num reqs resp to s
(N : this != to) (Qn : to \in qnodes)
(M : msg_just_sent (getSq s) reqs resp req_num to)
i from msg (C : Coh W s) (C' : (coh pq) (getSq s))
(pf : to \in nodes pq (getSq s))
(rt : receive_trans (Protocols.coh pq)) :
rt \In rcv_trans pq -> tag msg = t_rcv rt ->
find i (dsoup (getSq s)) = Some (Msg msg from to true) ->
let: d := getStatelet (upd (plab pq)
(DStatelet (upd to (receive_step rt from msg C' pf) (dstate (getSq s)))
(consume_msg (dsoup (getSq s)) i)) s) lq in
msg_just_sent d reqs resp req_num to \/
msg_received d reqs resp req_num to.