Finite Cardinality Functions #
Main Definitions #
Nat.card α
is the cardinality ofα
as a natural number. Ifα
is infinite,Nat.card α = 0
.ENat.card α
is the cardinality ofα
as an extended natural number. Ifα
is infinite,ENat.card α = ⊤
.PartENat.card α
is the cardinality ofα
as an extended natural number (using the legacy definitionPartENat := Part ℕ
). Ifα
is infinite,PartENat.card α = ⊤
.
Nat.card α
is the cardinality of α
as a natural number.
If α
is infinite, Nat.card α = 0
.
Equations
- Nat.card α = Cardinal.toNat (Cardinal.mk α)
Instances For
@[simp]
Because this theorem takes Fintype α
as a non-instance argument, it can be used in particular
when Fintype.card
ends up with different instance than the one found by inference
theorem
Nat.card_le_card_of_injective
{α : Type u}
{β : Type v}
[Finite β]
(f : α → β)
(hf : Function.Injective f)
:
theorem
Nat.card_le_card_of_surjective
{α : Type u}
{β : Type v}
[Finite α]
(f : α → β)
(hf : Function.Surjective f)
:
theorem
Nat.card_eq_of_bijective
{α : Type u_1}
{β : Type u_2}
(f : α → β)
(hf : Function.Bijective f)
:
theorem
Nat.bijective_iff_injective_and_card
{α : Type u_1}
{β : Type u_2}
[Finite β]
(f : α → β)
:
Function.Bijective f ↔ Function.Injective f ∧ Nat.card α = Nat.card β
theorem
Nat.bijective_iff_surjective_and_card
{α : Type u_1}
{β : Type u_2}
[Finite α]
(f : α → β)
:
Function.Bijective f ↔ Function.Surjective f ∧ Nat.card α = Nat.card β
theorem
Function.Surjective.bijective_of_nat_card_le
{α : Type u_1}
{β : Type u_2}
[Finite α]
{f : α → β}
(surj : Surjective f)
(hc : Nat.card α ≤ Nat.card β)
:
theorem
Nat.card_image_of_injective
{α : Type u_1}
{β : Type u_2}
{f : α → β}
(hf : Function.Injective f)
(s : Set α)
:
theorem
Nat.card_range_of_injective
{α : Type u_1}
{β : Type u_2}
{f : α → β}
(hf : Function.Injective f)
:
Alias of the reverse direction of Set.natCard_pos
.
ENat.card α
is the cardinality of α
as an extended natural number.
If α
is infinite, ENat.card α = ⊤
.
Equations
- ENat.card α = Cardinal.toENat (Cardinal.mk α)
Instances For
@[simp]
theorem
ENat.card_image_of_injective
{α : Type u_3}
{β : Type u_4}
(f : α → β)
(s : Set α)
(h : Function.Injective f)
:
@[simp]
@[simp]
@[simp]
@[simp]