Proof using.
intros.
eapply candidateEntries_same; eauto;
intros;
repeat (rewrite update_fun_comm; simpl in * );
update_destruct; subst; rewrite_update; auto;
repeat find_rewrite; simpl; auto.
- find_copy_apply_lem_hyp doGenericServer_spec. break_and. auto.
- eauto using doGenericServer_same_type.
Qed.

(* Specifications: *)
Lemma candidate_entries_do_generic_server :
refined_raft_net_invariant_do_generic_server CandidateEntries.