End Fold_More.
(** * Cardinal *)

(* Specifications: *)
Lemma cardinal_fold : forall m : t elt,
cardinal m = fold (fun _ _ => S) m 0.
Lemma cardinal_Empty : forall m : t elt,
Empty m <-> cardinal m = 0.
Lemma Equal_cardinal : forall m m' : t elt,
Equal m m' -> cardinal m = cardinal m'.
Lemma cardinal_1 : forall m : t elt, Empty m -> cardinal m = 0.
Lemma cardinal_2 :
forall m m' x e, ~ In x m -> Add x e m m' -> cardinal m' = S (cardinal m).
Lemma cardinal_Add_In:
forall m m' x e, In x m -> Add x e m m' -> cardinal m' = cardinal m.
Lemma cardinal_inv_1 : forall m : t elt,
cardinal m = 0 -> Empty m.