Proof using.
intros.
unfold get_op_input_keys.
apply filterMap_NoDup_inj; auto.
intros.
repeat break_match; try discriminate.
subst. congruence.
Qed.

(* Specifications: *)
Lemma get_op_output_keys_preserves_NoDup :
forall l,
NoDup l ->
NoDup (get_op_output_keys l).