Proof using plceti cci vci rri.
intros net H.
pattern net.
apply lower_prop; auto.
clear H net.
intros.
eapply prevLog_candidateEntriesTerm_lowered';
eauto using prevLog_candidateEntriesTerm_invariant, votes_correct_invariant,
cronies_correct_invariant.
Qed.

(* Specifications: *)
Lemma handleRequestVoteReply_type_term_won :
forall h st src t v st',
handleRequestVoteReply h st src t v = st' ->
type st' = type st \/
type st' = Follower \/
(v = true /\
wonElection (dedup name_eq_dec (src :: votesReceived st)) = true /\
currentTerm st' = t).