Section Ensembles_finis_facts.
Variable U : Type.

Lemma cardinal_invert :
forall (X:Ensemble U) (p:nat),
cardinal U X p ->
match p with
| O => X = Empty_set U
| S n =>
exists A : _,
(exists x : _, X = Add U A x /\ ~ In U A x /\ cardinal U A n)
end.