Section le_cardinal_total.
Variable X Y:Type.
Record partial_injection : Type := {
pi_dom: Ensemble X;
pi_func: forall x:X, In pi_dom x -> Y;
pi_inj: forall (x1 x2:X) (i1:In pi_dom x1) (i2:In pi_dom x2),
pi_func x1 i1 = pi_func x2 i2 -> x1 = x2
}.
Record partial_injection_ord (pi1 pi2:partial_injection) : Prop := {
pi_dom_inc: Included (pi_dom pi1) (pi_dom pi2);
pi_func_ext: forall (x:X) (i1:In (pi_dom pi1) x)
(i2:In (pi_dom pi2) x),
pi_func pi1 x i1 = pi_func pi2 x i2
}.
End le_cardinal_total.

Lemma cardinal_no_inj_equiv_lt_cardinal (A B : Type) :
(forall f : A -> B, ~ injective f) <->
lt_cardinal (cardinality B) (cardinality A).