Proof using.
intros. unfold handleRequestVote, advanceCurrentTerm in *.
repeat break_match; find_inversion; auto.
Qed.

Lemma handleRequestVote_currentTerm_same_or_follower :
forall h st t h' lli llt st' m,
handleRequestVote h st t h' lli llt = (st', m) ->
(currentTerm st' = currentTerm st /\ type st' = type st) \/
type st' = Follower.