Local Arguments update {_} {_} _ _ _ _ _ : simpl never.
Set Bullet Behavior "Strict Subproofs".
Section VotesCorrect.
Context {orig_base_params : BaseParams}.
Context {one_node_params : OneNodeParams orig_base_params}.
Context {raft_params : RaftParams orig_base_params}.
Context {rri : raft_refinement_interface}.
Context {vlcti : votes_le_current_term_interface}.
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.