Canonical request_eqMixin := EqMixin request_eqP.Canonical request_eqType := Eval hnf in EqType request request_eqMixin.Record server_state :=
  ServerState {
      current_epoch : epoch;
      current_value : value;
      outstanding : seq request
    }.Record server_state :=
  ServerState {
      current_epoch : epoch;
      current_value : value;
      outstanding : seq request
    }.Record server_state :=
  ServerState {
      current_epoch : epoch;
      current_value : value;
      outstanding : seq request
    }.Record server_state :=
  ServerState {
      current_epoch : epoch;
      current_value : value;
      outstanding : seq request
    }.Record server_state :=
  ServerState {
      current_epoch : epoch;
      current_value : value;
      outstanding : seq request
    }.Definition update_tag := 0.Definition update_response_tag := 1.Definition read_tag := 2.Definition read_response_tag := 3.Definition st := ptr_nat 1.

(* Specifications: *)
Lemma l1 d: resource_coh d -> valid (dstate d).
Lemma l2 d: resource_coh d -> valid (dsoup d).
Lemma l3 d: resource_coh d -> dom (dstate d) =i nodes.