Definition good_op_move (x y : op) : Prop :=
    (forall k k', ~ (x = O k /\ y = I k')) /\
    (forall k, ~ (x = I k /\ y = O k)).

Lemma op_equivalent_all_Is_I_middle : forall xs ys k, (forall x, In x xs -> exists k, x = I k) -> op_equivalent (xs ++ I k :: ys) (I k :: xs ++ ys).