Proof using.
intros.
simpl in *.
find_copy_eapply_lem_hyp before_2_3_insert.
- find_eapply_lem_hyp In_cons_2_3.
eapply_prop_hyp In (O k1); eauto.
intuition; try congruence.
find_inversion.
find_copy_eapply_lem_hyp before_In.
exfalso.
eauto using NoDup_get_op_output_keys_In_2_3.
- intro. find_inversion. eauto using NoDup_get_op_input_keys_In_2_3.
- discriminate.
Qed.

Lemma in_before_preserved_IU :
forall xs ys k',
~ acknowledged_op k' (xs ++ ys) ->
(forall k, In (O k) (xs ++ I k' :: ys) ->
before (I k) (O k) (xs ++ I k' :: ys)) ->
forall k, In (O k) (xs ++ ys) ->
before (I k) (O k) (xs ++ ys).