Proof using.
red. unfold append_entries_leaderLogs. intros.
subst. simpl in *.
find_apply_hyp_hyp. intuition eauto.
- eapply_prop_hyp In In; break_exists. intuition; eauto.
+ repeat eexists; intuition eauto.
repeat find_higher_order_rewrite.
update_destruct; subst_max; rewrite_update; simpl in *; eauto.
subst. rewrite update_elections_data_timeout_leaderLogs.
eauto.
+ repeat eexists; intuition eauto.
repeat find_higher_order_rewrite.
update_destruct; subst_max; rewrite_update; simpl in *; eauto.
subst. rewrite update_elections_data_timeout_leaderLogs.
eauto.
+ repeat eexists; intuition eauto.
repeat find_higher_order_rewrite.
update_destruct; subst_max; rewrite_update; simpl in *; eauto.
subst. rewrite update_elections_data_timeout_leaderLogs.
eauto.
+ eauto.
- subst. simpl in *.
unfold handleTimeout, tryToBecomeLeader in *.
repeat break_match; find_inversion; do_in_map; simpl in *; intuition;
subst; simpl in *; do_in_map; subst; simpl in *; congruence.
Qed.

Lemma append_entries_leaderLogs_doGenericServer :
refined_raft_net_invariant_do_generic_server append_entries_leaderLogs.