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

Lemma send_lq_case3 req_num data reqs resp to s
(N : this != to) (Qn : to \in qnodes) (H : core_state_to_data to (getLc' s to) data)
(L : local_indicator data (getLc' s this))
(M : msg_responded (getSq s) reqs resp req_num to data)
to' msg (n : heap) (C : Coh W s) (st : send_trans (Protocols.coh pq))
(H1 : st \In snd_trans pq)
(H2 : to \in qnodes)
(H4 : send_safe st to to' (getSq s) msg) :
all_hooks_fire query_hookz (plab pq) (t_snd st) s to msg to' -> Some n = send_step H4 ->
let: d := getStatelet (upd (plab pq)
(DStatelet (upd to n (dstate (getSq s)))
(dsoup (getSq s) \+ fresh (dsoup (getSq s)) \\->
Msg (TMsg (t_snd st) msg) to to' true)) s) lq in
msg_responded d reqs resp req_num to data.