Proof using.
unfold refined_raft_net_invariant_timeout, leaderLogs_sublog.
simpl. intuition.
repeat find_higher_order_rewrite.
find_copy_apply_lem_hyp handleTimeout_type.
intuition.
- start.
find_rewrite_lem update_elections_data_timeout_leaderLogs.
find_erewrite_lem update_nop_ext' .
update_destruct_max_simplify; eauto.
erewrite handleTimeout_log_same by eauto; eauto.
- repeat update_destruct_max_simplify; try congruence.
+ find_rewrite_lem update_elections_data_timeout_leaderLogs.
eauto.
+ eauto.
Qed.

(* Specifications: *)
Lemma handleAppendEntries_leader :
forall h st t n pli plt es ci st' m,
handleAppendEntries h st t n pli plt es ci = (st', m) ->
type st' = Leader ->
log st' = log st.