Proof using.
intuition.
eapply H.
- apply in_cons. apply in_cons. eauto.
- auto using in_middle_insert.
Qed.

(* Specifications: *)
Lemma IRU_not_O_preserved :
forall xs ys zs k' ir,
(forall k,
In (IRU k) (IRI k' :: IRO k' :: ir) ->
~ In (O k) (xs ++ I k' :: ys ++ O k' :: zs)) ->
forall k,
In (IRU k) (ir) ->
~ In (O k) (xs ++ ys ++ zs).