Proof using.
unfold refined_raft_net_invariant_init, leaderLogs_sublog.
simpl. intuition.
Qed.
Ltac start :=
repeat match goal with
| [ H : _ |- _ ] =>
rewrite update_fun_comm with (f := fst) in H
| [ H : _ |- _ ] =>
rewrite update_fun_comm with (f := snd) in H
| [ H : _ |- _ ] =>
rewrite update_fun_comm with (f := leaderLogs) in H
end;
rewrite update_fun_comm with (f := snd);
simpl in *;
match goal with
| [ H : context [ type ] |- _ ] =>
rewrite update_fun_comm in H;
rewrite update_nop_ext' in H by auto
end;
match goal with
| [ H : context [ currentTerm ] |- _ ] =>
rewrite update_fun_comm in H;
rewrite update_nop_ext' in H by auto
end.

(* Specifications: *)
Theorem leaderLogs_sublog_client_request :
refined_raft_net_invariant_client_request leaderLogs_sublog.