Definition input_correct (tr : list (name * (raft_input + list raft_output))) : Prop :=
    (forall client id i i' h h',
       In (h, inl (ClientRequest client id i)) tr ->
       In (h', inl (ClientRequest client id i')) tr ->
       i = i').

Lemma deduplicate_partition : forall l xs e ys xs' e' ys', deduplicate_log l = xs ++ e :: ys -> deduplicate_log l = xs' ++ e' :: ys' -> eClient e = eClient e' -> eId e = eId e' -> xs = xs'.