Documentation

Mathlib.Algebra.Group.Nat.Hom

Extensionality of monoid homs from #

theorem ext_nat' {A : Type u_3} {F : Type u_5} [FunLike F A] [AddMonoid A] [AddMonoidHomClass F A] (f g : F) (h : f 1 = g 1) :
f = g
theorem AddMonoidHom.ext_nat {A : Type u_3} [AddMonoid A] {f g : →+ A} :
f 1 = g 1f = g
def multiplesHom (M : Type u_2) [AddMonoid M] :
M ( →+ M)

Additive homomorphisms from are defined by the image of 1.

Equations
  • multiplesHom M = { toFun := fun (x : M) => { toFun := fun (n : ) => n x, map_zero' := , map_add' := }, invFun := fun (f : →+ M) => f 1, left_inv := , right_inv := }
@[simp]
theorem multiplesHom_apply {M : Type u_2} [AddMonoid M] (x : M) (n : ) :
((multiplesHom M) x) n = n x
@[simp]
theorem multiplesHom_symm_apply {M : Type u_2} [AddMonoid M] (f : →+ M) :
(multiplesHom M).symm f = f 1
theorem AddMonoidHom.apply_nat {M : Type u_2} [AddMonoid M] (f : →+ M) (n : ) :
f n = n f 1
def powersHom (M : Type u_2) [Monoid M] :

Monoid homomorphisms from Multiplicative are defined by the image of Multiplicative.ofAdd 1.

Equations
@[simp]
theorem powersHom_apply {M : Type u_2} [Monoid M] (x : M) (n : Multiplicative ) :
theorem MonoidHom.ext_mnat {M : Type u_2} [Monoid M] f g : Multiplicative →* M (h : f (Multiplicative.ofAdd 1) = g (Multiplicative.ofAdd 1)) :
f = g
def multiplesAddHom (M : Type u_2) [AddCommMonoid M] :
M ≃+ ( →+ M)

If M is commutative, multiplesHom is an additive equivalence.

Equations
@[simp]
theorem multiplesAddHom_apply {M : Type u_2} [AddCommMonoid M] (x : M) (n : ) :
((multiplesAddHom M) x) n = n x
@[simp]
theorem multiplesAddHom_symm_apply {M : Type u_2} [AddCommMonoid M] (f : →+ M) :

If M is commutative, powersHom is a multiplicative equivalence.

Equations
@[simp]
theorem powersMulHom_apply {M : Type u_2} [CommMonoid M] (x : M) (n : Multiplicative ) :