Proof using.
intros. unfold doGenericServer in *.
repeat break_match; find_inversion; subst; auto.
Qed.

(* Specifications: *)
Theorem logs_sorted_do_generic_server :
raft_net_invariant_do_generic_server logs_sorted.
Lemma doLeader_messages :
forall d h os d' ms m es e,
doLeader d h = (os, d', ms) ->
In m ms ->
mEntries (snd m) = Some es ->
In e es ->
In e (log d).
Lemma leaderLogs_entries_match_do_generic_server :
refined_raft_net_invariant_do_generic_server leaderLogs_entries_match.