Proof using.
start.
eapply candidateEntries_ext; eauto.
repeat find_higher_order_rewrite.
assert (candidateEntries e (nwState net)).
{ destruct_update; simpl in *.
- find_rewrite_lem update_elections_data_requestVote_allEntries. eauto.
- eauto. }
unfold candidateEntries in *.
break_exists. break_and.
exists x.
update_destruct; rewrite_update; simpl; [|auto].
subst. split.
- rewrite update_elections_data_requestVote_cronies. auto.
- find_apply_lem_hyp handleRequestVote_type_term.
break_or_hyp; break_and.
+ repeat find_rewrite. auto.
+ unfold not. intros. find_rewrite. discriminate.
Qed.

(* Specifications: *)
Lemma allEntries_candidateEntries_request_vote_reply :
refined_raft_net_invariant_request_vote_reply allEntries_candidateEntries.