Proof using.
intros.
unfold handleRequestVoteReply, advanceCurrentTerm in *.
repeat break_match; try find_inversion; subst; simpl in *; intuition;
do_bool; intuition.
Qed.

(* Specifications: *)
Lemma update_elections_data_requestVoteReply_leaderLogs :
forall h h' t r st,
leaderLogs (update_elections_data_requestVoteReply h h' t r st) =
leaderLogs (fst st) \/
leaderLogs (update_elections_data_requestVoteReply h h' t r st) =
(currentTerm (snd st), log (snd st)) :: leaderLogs (fst st).
Lemma cronies_term_request_vote_reply :
refined_raft_net_invariant_request_vote_reply cronies_term.
Lemma no_entries_past_current_term_request_vote_reply :
raft_net_invariant_request_vote_reply no_entries_past_current_term.