Projection from cardinal numbers to natural numbers #
In this file we define Cardinal.toNat
to be the natural projection Cardinal → ℕ
,
sending all infinite cardinals to zero.
We also prove basic lemmas about this definition.
This function sends finite cardinals to the corresponding natural, and infinite cardinals to 0.
Equations
Instances For
theorem
Cardinal.toNat_apply_of_lt_aleph0
{c : Cardinal.{u}}
(h : c < aleph0)
:
toNat c = Classical.choose ⋯
Two finite cardinals are equal
iff they are equal their Cardinal.toNat
projections are equal.
@[deprecated Cardinal.toNat_inj_of_lt_aleph0 (since := "2024-12-29")]
theorem
Cardinal.toNat_eq_iff_eq_of_lt_aleph0
{c d : Cardinal.{u}}
(hc : c < aleph0)
(hd : d < aleph0)
:
Alias of Cardinal.toNat_inj_of_lt_aleph0
.
Two finite cardinals are equal
iff they are equal their Cardinal.toNat
projections are equal.
@[simp]
toNat
has a right-inverse: coercion.
theorem
Cardinal.toNat_eq_ofNat
{c : Cardinal.{u}}
{n : ℕ}
[n.AtLeastTwo]
:
toNat c = OfNat.ofNat n ↔ c = OfNat.ofNat n
A version of toNat_eq_iff
for literals
@[simp]
theorem
Cardinal.toNat_lift_add_lift
{a : Cardinal.{u}}
{b : Cardinal.{v}}
(ha : a < aleph0)
(hb : b < aleph0)
:
toNat (lift.{v, u} a + lift.{u, v} b) = toNat a + toNat b