Definition and basic properties of extended natural numbers #
In this file we define ENat (notation: ℕ∞) to be WithTop ℕ and prove some basic lemmas
about this type.
Implementation details #
There are two natural coercions from ℕ to WithTop ℕ = ENat: WithTop.some and Nat.cast. In
Lean 3, this difference was hidden in typeclass instances. Since these instances were definitionally
equal, we did not duplicate generic lemmas about WithTop α and WithTop.some coercion for ENat
and Nat.cast coercion. If you need to apply a lemma about WithTop, you may either rewrite back
and forth using ENat.some_eq_natCast, or restate the lemma for ENat.
TODO #
Unify ENat.add_iSup/ENat.iSup_add with ENNReal.add_iSup/ENNReal.iSup_add. The key property
of ENat and ENNReal we are using is that all a are either absorbing for addition (a + b = a
for all b), or that it's order-cancellable (a + b ≤ a + c → b ≤ c for all b, c), and
similarly for multiplication.
Lemmas about WithTop expect (and can output) WithTop.some but the normal form for coercion
ℕ → ℕ∞ is Nat.cast.
Alias of ENat.some_eq_natCast.
Lemmas about WithTop expect (and can output) WithTop.some but the normal form for coercion
ℕ → ℕ∞ is Nat.cast.
Alias of ENat.natCast_inj.
Alias of ENat.natCast_zero.
Alias of ENat.natCast_one.
Alias of ENat.natCast_add.
Alias of ENat.natCast_sub.
Alias of ENat.natCast_lt_top.
Alias of ENat.natCast_lift.
Alias of ENat.lift_natCast.
Alias of ENat.toNat_natCast.
Alias of ENat.top_ne_natCast.
Alias of ENat.natCast_ne_top.
Alias of ENat.top_sub_natCast.
Alias of ENat.natCast_toNat_eq_self.
Alias of the reverse direction of ENat.natCast_toNat_eq_self.
Alias of ENat.natCast_toNat.
Alias of the reverse direction of ENat.natCast_toNat_eq_self.
Alias of ENat.natCast_toNat_le_self.
Alias of ENat.natCast_lt_natCast.
Alias of ENat.natCast_le_natCast.
Alias of ENat.toNat_le_of_le_natCast.
Alias of ENat.toNat_eq_iff_eq_natCast.
Version of WithTop.forall_natCast_le_iff_le using Nat.cast rather than WithTop.some.
Version of WithTop.eq_of_forall_natCast_le_iff using Nat.cast rather than WithTop.some.
Alias of ENat.addLECancellable_natCast.
Alias of ENat.map_natCast.