Proof using.
intros.
rewrite get_op_input_keys_app in *. rewrite get_op_input_keys_defn in *.
match goal with
| [ H : NoDup (_ ++ _ :: _) |- _ ] =>
apply NoDup_remove_2 in H
end.
rewrite get_op_input_keys_app in *.
intro. subst.
repeat do_in_app; intuition auto 10 using get_op_input_keys_complete, in_or_app.
Qed.

Lemma IRO_O_preserved_IU :
forall xs ys k' ir,
(forall k, In (IRO k) (IRI k' :: IRU k' :: ir) ->
In (O k) (xs ++ I k' :: ys)) ->
forall k, In (IRO k) ir ->
In (O k) (xs ++ ys).