Proof using.
unfold refined_raft_net_invariant_do_generic_server, cronies_term.
intros. subst. simpl in *. repeat find_higher_order_rewrite.
update_destruct; subst; rewrite_update; eauto.
simpl in *.
find_apply_lem_hyp doGenericServer_spec.
repeat find_rewrite.
match goal with
| H : nwState ?net ?h = (?g, ?st) |- _ =>
replace g with (fst (nwState net h)) in *; [|rewrite H; auto];
replace st with (snd (nwState net h)) in *; [|rewrite H; auto]
end; eauto.
Qed.

Lemma handleAppendEntries_spec :
forall h st t n pli plt es ci st' m,
handleAppendEntries h st t n pli plt es ci = (st', m) ->
currentTerm st <= currentTerm st'.