Proof using.
unfold refined_raft_net_invariant_do_leader, votes_le_currentTerm.
start_proof.
assert (gd = (fst (nwState net h)) /\ d = snd (nwState net h))
by (repeat find_rewrite; auto). break_and. subst.
erewrite doLeader_currentTerm by eauto.
eauto.
Qed.

(* Specifications: *)
Lemma votes_le_current_term_do_generic_server :
refined_raft_net_invariant_do_generic_server votes_le_currentTerm.