Proof using.
intros.
rewrite get_op_input_keys_app in *.
rewrite get_op_input_keys_defn in *.
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.
repeat (do_in_app; intuition); eauto 10 using get_op_input_keys_complete with *.
Qed.

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