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

Lemma recv_lq_case3 req_num reqs resp to s data
(N : this != to) (Qn : to \in qnodes)
(M : msg_responded (getSq s) reqs resp req_num to data)
(H : core_state_to_data to (getLc' s to) data)
(L : local_indicator data (getLc' s this))
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_responded d reqs resp req_num to data.