Proof using.
unfold refined_raft_net_invariant_do_generic_server, votes_correct.
intros.
match goal with H : nwState _ _ = _ |- _ =>
assert (gd = fst (nwState net h) /\
d = snd (nwState net h)) by (intuition; find_rewrite; reflexivity);
clear H
end.
split_votes_correct; start_proof; subst.
- eauto.
- find_apply_lem_hyp doGenericServer_log_type_term_votesReceived. break_and.
repeat find_rewrite. eauto.
- find_apply_lem_hyp doGenericServer_log_type_term_votesReceived. break_and.
repeat find_rewrite. eauto.
Qed.

Lemma votes_correct_state_same_packet_subset :
refined_raft_net_invariant_state_same_packet_subset votes_correct.