Proof using.
unfold handleRequestVote, advanceCurrentTerm.
intros.
repeat (break_match; try discriminate; repeat (find_inversion; simpl in *)); auto.
Qed.

(* Specifications: *)
Lemma doGenericServer_matchIndex_preserved :
forall h st os st' ps,
doGenericServer h st = (os, st', ps) ->
matchIndex_preserved st st'.