Proof using.
induction l; intros.
- auto.
- simpl. repeat break_match; subst; simpl in *; intuition auto 10 using f_equal with *.
+ exfalso. eauto.
+ exfalso. eauto.
Qed.

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