Definition candidateEntriesTerm_lowered (net : network) t p : Prop :=
    In p (nwPackets net) ->
    pBody p = RequestVoteReply t true ->
    currentTerm (nwState net (pDst p)) = t ->
    wonElection (dedup name_eq_dec (pSrc p :: votesReceived (nwState net (pDst p)))) = true ->
    type (nwState net (pDst p)) <> Candidate.

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).