Proof using.
red. intuition congruence.
Qed.

(* Specifications: *)
Lemma good_move_OO :
forall k k',
good_move (IRO k) (IRO k').
Lemma IR_equivalent_all_Is_I :
forall l k,
(forall x, In x l -> exists k, x = IRI k) ->
IR_equivalent (l ++ [IRI k]) (IRI k :: l).
Lemma good_move_IU_neq :
forall k k',
k <> k' ->
good_move (IRI k) (IRU k').
Lemma good_move_IO_neq :
forall k k',
k <> k' ->
good_move (IRI k) (IRO k').
Lemma op_equivalent_all_Is_I :
forall l k,
(forall x, In x l -> exists k, x = I k) ->
op_equivalent (l ++ [I k]) (I k :: l).