Proof using.
unfold refined_raft_net_invariant_client_request, votes_correct.
split_votes_correct; start_proof;
rewrite @votes_update_elections_data_client_request in *;
find_apply_lem_hyp handleClientRequest_term_votedFor; break_and;
repeat find_rewrite; eauto.
Qed.
Ltac do_le_antisym :=
match goal with
| [ H : ?x <= ?y, H' : ?y <= ?x |- _ ] =>
assert (x = y) by auto using Nat.le_antisymm
end.

Lemma votes_correct_timeout :
refined_raft_net_invariant_timeout votes_correct.