Documentation

Mathlib.SetTheory.Cardinal.ToNat

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.

Instances For
    @[simp]
    theorem Cardinal.toNat_ofENat (n : ℕ∞) :
    toNat n = n.toNat
    @[simp]
    theorem Cardinal.toNat_natCast (n : ) :
    toNat n = n
    @[simp]
    theorem Cardinal.toNat_inj_of_lt_aleph0 {c d : Cardinal.{u}} (hc : c < aleph0) (hd : d < aleph0) :
    toNat c = toNat d c = d

    Two finite cardinals are equal iff they are equal their Cardinal.toNat projections are equal.

    theorem Cardinal.toNat_le_toNat {c d : Cardinal.{u}} (hcd : c d) (hd : d < aleph0) :
    theorem Cardinal.toNat_lt_toNat {c d : Cardinal.{u}} (hcd : c < d) (hd : d < aleph0) :
    @[simp]
    theorem Cardinal.mk_toNat_of_infinite {α : Type u} [h : Infinite α] :
    toNat (mk α) = 0
    @[simp]
    theorem Cardinal.toNat_eq_iff {c : Cardinal.{u}} {n : } (hn : n 0) :
    toNat c = n c = n

    A version of toNat_eq_iff for literals

    @[simp]
    theorem Cardinal.toNat_congr {α : Type u} {β : Type v} (e : α β) :
    toNat (mk α) = toNat (mk β)
    @[simp]
    theorem Cardinal.toNat_add {c d : Cardinal.{u}} (hc : c < aleph0) (hd : d < aleph0) :
    toNat (c + d) = toNat c + toNat d
    theorem Cardinal.toNat_eq_iff_of_lt_aleph0 {a : Cardinal.{u}} (n : ) (lt : a < aleph0) :
    toNat a = n a = n