Proof using.
red. unfold votedFor_moreUpToDate. intros. simpl in *.
subst. repeat find_higher_order_rewrite.
destruct_update_hyp; simpl in *;
try rewrite update_elections_data_request_vote_reply_votesWithLog;
eauto.
- erewrite handleRequestVoteReply_log; eauto.
find_copy_eapply_lem_hyp handleRequestVoteReply_log_term_type; eauto.
find_copy_eapply_lem_hyp handleRequestVoteReply_term_votedFor; eauto.
intuition. repeat find_rewrite. eauto.
- find_copy_eapply_lem_hyp handleRequestVoteReply_term_votedFor; eauto.
intuition. repeat find_rewrite. eauto.
- erewrite handleRequestVoteReply_log; eauto.
find_copy_eapply_lem_hyp handleRequestVoteReply_log_term_type; eauto.
intuition. repeat find_rewrite. eauto.
Qed.

(* Specifications: *)
Lemma votedFor_moreUpToDate_timeout :
refined_raft_net_invariant_timeout votedFor_moreUpToDate.