Cast of natural numbers (additional theorems) #
This file proves additional properties about the canonical homomorphism from
the natural numbers into an additive monoid with a one (Nat.cast
).
Main declarations #
castAddMonoidHom
:cast
bundled as anAddMonoidHom
.castRingHom
:cast
bundled as aRingHom
.
Nat.cast : ℕ → α
as an AddMonoidHom
.
Equations
- Nat.castAddMonoidHom α = { toFun := Nat.cast, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Equations
- Nat.castRingHom α = { toFun := Nat.cast, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Alias of Nat.cast_dvd_cast
.
If two MonoidWithZeroHom
s agree on the positive naturals they are equal.
This lemma is not marked @[simp]
lemma because its #discr_tree_key
(for the LHS) would just
be DFunLike.coe _ _
, due to the no_index
that https://github.com/leanprover/lean4/issues/2867
forces us to include, and therefore it would negatively impact performance.
If that issue is resolved, this can be marked @[simp]
.
This is primed to match eq_intCast'
.
We don't use RingHomClass
here, since that might cause type-class slowdown for
Subsingleton
Equations
- Nat.uniqueRingHom = { default := Nat.castRingHom R, uniq := ⋯ }
Additive homomorphisms from ℕ
are defined by the image of 1
.
Equations
Instances For
Monoid homomorphisms from Multiplicative ℕ
are defined by the image
of Multiplicative.ofAdd 1
.
Equations
- powersHom α = Additive.ofMul.trans ((multiplesHom (Additive α)).trans AddMonoidHom.toMultiplicative'')
Instances For
If α
is commutative, multiplesHom
is an additive equivalence.
Equations
- multiplesAddHom β = { toEquiv := multiplesHom β, map_add' := ⋯ }
Instances For
If α
is commutative, powersHom
is a multiplicative equivalence.
Equations
- powersMulHom α = { toEquiv := powersHom α, map_mul' := ⋯ }
Instances For
Alias of Pi.natCast_apply
.
Alias of Pi.natCast_def
.