Arguments flatten_imageP {aT rT A P y}.
Section CardFunImage.
Variables (T T' : finType) (f : T -> T').
Implicit Type A : pred T.

(* Specifications: *)
Lemma leq_image_card A : #|image f A| <= #|A|.
Lemma image_injP A : reflect {in A &, injective f} (#|image f A| == #|A|).
Hypothesis injf : injective f.
Lemma card_image A : #|image f A| = #|A|.
Hypothesis card_range : #|T| = #|T'|.
Lemma inj_card_onto y : y \in codom f.
End CardFunImage.