Definition pq := QueryProtocol qnodes serialize lq.(* The query hook extracts certain data from the the core protocol *)
(* local state if it's present there. *)
Definition query_hook : hook_type :=
  fun hc hq ms to => 
    forall n rid d, ms = rid :: serialize d -> core_state_to_data n hc d.

(* Specifications: *)
Lemma W_valid : valid W.
Lemma W_complete : hook_complete W.
Lemma prEqC : getProtocol W (plab pc) = pc.
Lemma prEqQ : getProtocol W lq = pq.