intuition.
unfold OTP.
r_ident_r.
eapply (dist_iso (BVxor c x) (BVxor c x));
intuition; xorTac.
Qed.
End OTP.
*)
(* The actual argument is more general (and more complex) *)
Section OTP.
Variable T : Set.
Hypothesis T_EqDec : EqDec T.
Variable RndT : Comp T.
Variable T_op : T -> T -> T.
Hypothesis op_assoc : forall x y z, T_op (T_op x y) z = T_op x (T_op y z).
Variable T_inverse : T -> T.
Variable T_ident : T.
Hypothesis inverse_l_ident : forall x, T_op (T_inverse x) x = T_ident.
Hypothesis inverse_r_ident : forall x, T_op x (T_inverse x) = T_ident.
Hypothesis ident_l : forall x, T_op T_ident x = x.
Hypothesis ident_r : forall x, T_op x T_ident = x.
Hypothesis RndT_uniform : forall x y, comp_spec (fun a b => a = x <-> b = y) RndT RndT.

(* Specifications: *)
Theorem all_in_support :
forall y, In y (getSupport RndT) ->
forall x, In x (getSupport RndT).