Proof using.
unfold deduplicate_log.
intros. eauto using deduplicate_log'_In_if.
Qed.

Lemma applyEntry_clientCache :
forall st e l st',
applyEntry st e = (l, st') ->
let (out, _) := handler (eInput e) (stateMachine st)
in (clientCache st' = assoc_set clientId_eq_dec (clientCache st) (eClient e) (eId e, out) /\
In out l).