Proof using.
red. unfold requestVote_maxIndex_maxTerm. intros. simpl in *.
find_copy_apply_lem_hyp doGenericServer_packets. subst. simpl in *.
find_apply_hyp_hyp. break_or_hyp.
match goal with
| H : nwState ?net ?h = (?gd, ?d) |- _ =>
replace gd with (fst (nwState net h)) in * by (rewrite H; reflexivity);
replace d with (snd (nwState net h)) in * by (rewrite H; reflexivity);
clear H
end.
subst. repeat find_higher_order_rewrite.
destruct_update; simpl in *; eauto;
find_apply_lem_hyp doGenericServer_log_type_term_votesReceived;
break_and; repeat find_rewrite; eauto. intuition.
Qed.

Lemma requestVote_maxIndex_maxTerm_reboot :
refined_raft_net_invariant_reboot requestVote_maxIndex_maxTerm.