Proof using.
intros.
rewrite get_op_output_keys_app in *.
rewrite get_op_output_keys_defn in *.
rewrite get_op_output_keys_app in *.
rewrite get_op_output_keys_defn in *.
repeat
(do_in_app; intuition
eauto using NoDup_app3_not_in_1, NoDup_app3_not_in_2,
NoDup_app3_not_in_3, get_op_output_keys_complete).
Qed.

(* Specifications: *)
Lemma NoDup_get_op_input_keys_In_2_3 :
forall xs ys zs k,
NoDup (get_op_input_keys (xs ++ I k :: ys ++ O k :: zs)) ->
In (I k) (xs ++ ys ++ zs) ->
False.