End enum_red.

(* Specifications: *)
Lemma enumerable_red X Y (p : X -> Prop) (q : Y -> Prop) :
p ⪯ q -> enumerable__T X -> discrete Y -> enumerable q -> enumerable p.
Theorem not_decidable X Y (p : X -> Prop) (q : Y -> Prop) :
p ⪯ q -> enumerable__T X -> ~ enumerable (compl p) ->
~ decidable q /\ ~ decidable (compl q).
Theorem not_coenumerable X Y (p : X -> Prop) (q : Y -> Prop) :
p ⪯ q -> enumerable__T X -> ~ enumerable (compl p) -> discrete Y ->
~ enumerable (compl q).