Section enum_red.
Variables (X Y : Type) (p : X -> Prop) (q : Y -> Prop).
Variables (f : X -> Y) (Hf : forall x, p x <-> q (f x)).
Variables (Lq : _) (qe : list_enumerator Lq q).
Variables (x0 : X).
Variables (d : eq_dec Y).
Local Fixpoint L L' n :=
match n with
| 0 => []
| S n => L L' n ++ [ x | x ∈ cumul L' n , In (f x) (cumul Lq n) ]
end.

Lemma enum_red L' :
list_enumerator__T L' X ->
list_enumerator (L L') p.