Ltac split_votes_correct :=
    intros; subst;
    intuition; [ unfold one_vote_per_term in *
               | unfold votes_currentTerm_votedFor_correct in *
               | unfold currentTerm_votedFor_votes_correct in * ];
    cbn [nwState].Ltac start_proof :=
    intros;
    match goal with H : forall _, ?f _ = _ |- _ => rewrite H in * end;
    update_destruct; rewrite_update;
    cbn [fst snd] in *; eauto.

(* Specifications: *)
Lemma votes_correct_client_request : refined_raft_net_invariant_client_request votes_correct.