Documentation

Mathlib.RingTheory.GradedAlgebra.AlgHom

R-linear homomorphisms of graded algebras #

This file defines bundled R-linear homomorphisms of graded R-algebras.

Main definitions #

Notation #

structure GradedAlgHom (R : Type u_1) {A : Type u_2} {B : Type u_3} {ι : Type u_4} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] (𝒜 : ιSubmodule R A) ( : ιSubmodule R B) [GradedAlgebra 𝒜] [GradedAlgebra ] extends A →ₐ[R] B, 𝒜 →+*ᵍ :
Type (max u_2 u_3)

An R-linear homomorphism of graded algebras, denoted 𝒜 →ₐᵍ[R] ℬ.

Instances For

    An R-linear homomorphism of graded algebras, denoted 𝒜 →ₐᵍ[R] ℬ.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def GradedAlgHom.ofClass {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] {F : Type u_11} [FunLike F A B] [GradedFunLike F 𝒜 ] [AlgHomClass F R A B] (f : F) :
      𝒜 →ₐᵍ[R]

      Turn an element of a type F satisfying [FunLike F A B] [GradedFunLike F 𝒜 ℬ] [AlgHomClass F R A B] into an actual GradedAlgHom.

      In future mathlib this will be deprioritised in favour of using structural projections.

      Equations
      Instances For
        @[implicit_reducible]
        instance GradedAlgHom.instFunLike {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] :
        FunLike (𝒜 →ₐᵍ[R] ) A B
        Equations
        instance GradedAlgHom.instGradedFunLikeSubmodule {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] :
        GradedFunLike (𝒜 →ₐᵍ[R] ) 𝒜
        instance GradedAlgHom.instAlgHomClass {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] :
        AlgHomClass (𝒜 →ₐᵍ[R] ) R A B
        @[simp]
        theorem GradedAlgHom.toAlgHom_ofClass {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] {F : Type u_11} [FunLike F A B] [GradedFunLike F 𝒜 ] [AlgHomClass F R A B] (f : F) :
        (ofClass f) = f
        @[simp]
        theorem GradedAlgHom.toGradedRingHom_ofClass {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] {F : Type u_11} [FunLike F A B] [GradedFunLike F 𝒜 ] [AlgHomClass F R A B] (f : F) :
        @[simp]
        theorem GradedAlgHom.coe_ofClass {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] {F : Type u_11} [FunLike F A B] [GradedFunLike F 𝒜 ] [AlgHomClass F R A B] (f : F) :
        (ofClass f) = f
        @[simp]
        theorem GradedAlgHom.coe_toAlgHom {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] (f : 𝒜 →ₐᵍ[R] ) :
        f.toAlgHom = f
        @[simp]
        theorem GradedAlgHom.coe_mk {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] {f : A →ₐ[R] B} (h : ∀ {i : ι} {x : A}, x 𝒜 if.toRingHom x i) :
        { toAlgHom := f, map_mem := h } = f
        theorem GradedAlgHom.coe_mks {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] {f : AB} (h₁ : f 1 = 1) (h₂ : ∀ (x y : A), { toFun := f, map_one' := h₁ }.toFun (x * y) = { toFun := f, map_one' := h₁ }.toFun x * { toFun := f, map_one' := h₁ }.toFun y) (h₃ : (↑{ toFun := f, map_one' := h₁, map_mul' := h₂ }).toFun 0 = 0) (h₄ : ∀ (x y : A), (↑{ toFun := f, map_one' := h₁, map_mul' := h₂ }).toFun (x + y) = (↑{ toFun := f, map_one' := h₁, map_mul' := h₂ }).toFun x + (↑{ toFun := f, map_one' := h₁, map_mul' := h₂ }).toFun y) (h₅ : ∀ (r : R), (↑{ toFun := f, map_one' := h₁, map_mul' := h₂, map_zero' := h₃, map_add' := h₄ }).toFun ((algebraMap R A) r) = (algebraMap R B) r) (h₆ : ∀ {i : ι} {x : A}, x 𝒜 i{ toFun := f, map_one' := h₁, map_mul' := h₂, map_zero' := h₃, map_add' := h₄, commutes' := h₅ }.toRingHom x i) :
        { toFun := f, map_one' := h₁, map_mul' := h₂, map_zero' := h₃, map_add' := h₄, commutes' := h₅, map_mem := h₆ } = f
        @[simp]
        theorem GradedAlgHom.coe_algHom_mk {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] {f : A →ₐ[R] B} (h : ∀ {i : ι} {x : A}, x 𝒜 if.toRingHom x i) :
        { toAlgHom := f, map_mem := h } = f
        theorem GradedAlgHom.coe_fn_injective {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] :
        theorem GradedAlgHom.coe_fn_inj {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] {f₁ f₂ : 𝒜 →ₐᵍ[R] } :
        f₁ = f₂ f₁ = f₂
        theorem GradedAlgHom.coe_algHom_injective {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] :
        theorem GradedAlgHom.toGradedRingHom_injective {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] :
        theorem GradedAlgHom.coe_linearMap_injective {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] :
        Function.Injective fun (x : 𝒜 →ₐᵍ[R] ) => x
        theorem GradedAlgHom.coe_ringHom_injective {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] :
        theorem GradedAlgHom.coe_monoidHom_injective {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] :
        theorem GradedAlgHom.coe_addMonoidHom_injective {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] :
        theorem GradedAlgHom.congr_fun {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] {f₁ f₂ : 𝒜 →ₐᵍ[R] } (H : f₁ = f₂) (x : A) :
        f₁ x = f₂ x

        Consider using congr($H x) instead.

        theorem GradedAlgHom.congr_arg {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] (f : 𝒜 →ₐᵍ[R] ) {x y : A} (h : x = y) :
        f x = f y

        Consider using congr(f $h) instead.

        theorem GradedAlgHom.ext {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] {f₁ f₂ : 𝒜 →ₐᵍ[R] } (H : ∀ (x : A), f₁ x = f₂ x) :
        f₁ = f₂
        theorem GradedAlgHom.ext_iff {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] {f₁ f₂ : 𝒜 →ₐᵍ[R] } :
        f₁ = f₂ ∀ (x : A), f₁ x = f₂ x
        @[simp]
        theorem GradedAlgHom.mk_coe {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] {f : 𝒜 →ₐᵍ[R] } (h₁ : f 1 = 1) (h₂ : ∀ (x y : A), { toFun := f, map_one' := h₁ }.toFun (x * y) = { toFun := f, map_one' := h₁ }.toFun x * { toFun := f, map_one' := h₁ }.toFun y) (h₃ : (↑{ toFun := f, map_one' := h₁, map_mul' := h₂ }).toFun 0 = 0) (h₄ : ∀ (x y : A), (↑{ toFun := f, map_one' := h₁, map_mul' := h₂ }).toFun (x + y) = (↑{ toFun := f, map_one' := h₁, map_mul' := h₂ }).toFun x + (↑{ toFun := f, map_one' := h₁, map_mul' := h₂ }).toFun y) (h₅ : ∀ (r : R), (↑{ toFun := f, map_one' := h₁, map_mul' := h₂, map_zero' := h₃, map_add' := h₄ }).toFun ((algebraMap R A) r) = (algebraMap R B) r) (h₆ : ∀ {i : ι} {x : A}, x 𝒜 i{ toFun := f, map_one' := h₁, map_mul' := h₂, map_zero' := h₃, map_add' := h₄, commutes' := h₅ }.toRingHom x i) :
        { toFun := f, map_one' := h₁, map_mul' := h₂, map_zero' := h₃, map_add' := h₄, commutes' := h₅, map_mem := h₆ } = f
        @[simp]
        theorem GradedAlgHom.commutes {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] (f : 𝒜 →ₐᵍ[R] ) (r : R) :
        f ((algebraMap R A) r) = (algebraMap R B) r
        theorem GradedAlgHom.comp_ofId {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] (f : 𝒜 →ₐᵍ[R] ) :
        (↑f).comp (Algebra.ofId R A) = Algebra.ofId R B
        def GradedAlgHom.mk' {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] (f : 𝒜 →+*ᵍ ) (h : ∀ (c : R) (x : A), f (c x) = c f x) :
        𝒜 →ₐᵍ[R]

        If a GradedRingHom is R-linear, then it is a GradedAlgHom.

        Equations
        Instances For
          @[simp]
          theorem GradedAlgHom.coe_mk' {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] (f : 𝒜 →+*ᵍ ) (h : ∀ (c : R) (x : A), f (c x) = c f x) :
          (mk' f h) = f
          def GradedAlgHom.id (R : Type u_1) {A : Type u_6} {ι : Type u_10} [CommSemiring R] [Semiring A] [Algebra R A] [DecidableEq ι] [AddMonoid ι] (𝒜 : ιSubmodule R A) [GradedAlgebra 𝒜] :
          𝒜 →ₐᵍ[R] 𝒜

          Identity map as a GradedAlgHom.

          Equations
          Instances For
            @[simp]
            theorem GradedAlgHom.id_apply (R : Type u_1) {A : Type u_6} {ι : Type u_10} [CommSemiring R] [Semiring A] [Algebra R A] [DecidableEq ι] [AddMonoid ι] (𝒜 : ιSubmodule R A) [GradedAlgebra 𝒜] (a : A) :
            (GradedAlgHom.id R 𝒜) a = a
            @[simp]
            theorem GradedAlgHom.coe_id (R : Type u_1) {A : Type u_6} {ι : Type u_10} [CommSemiring R] [Semiring A] [Algebra R A] [DecidableEq ι] [AddMonoid ι] (𝒜 : ιSubmodule R A) [GradedAlgebra 𝒜] :
            (GradedAlgHom.id R 𝒜) = id
            @[simp]
            theorem GradedAlgHom.id_toAlgHom (R : Type u_1) {A : Type u_6} {ι : Type u_10} [CommSemiring R] [Semiring A] [Algebra R A] [DecidableEq ι] [AddMonoid ι] (𝒜 : ιSubmodule R A) [GradedAlgebra 𝒜] :
            (GradedAlgHom.id R 𝒜) = AlgHom.id R A
            def GradedAlgHom.comp {R : Type u_1} {A : Type u_6} {B : Type u_7} {C : Type u_8} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Semiring C] [Algebra R A] [Algebra R B] [Algebra R C] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} {𝒞 : ιSubmodule R C} [GradedAlgebra 𝒜] [GradedAlgebra ] [GradedAlgebra 𝒞] (g : →ₐᵍ[R] 𝒞) (f : 𝒜 →ₐᵍ[R] ) :
            𝒜 →ₐᵍ[R] 𝒞

            If g and f are R-linear graded algebra homomorphisms with the domain of g equal to the codomain of f, then g.comp f is the graded algebra homomorphism x ↦ g (f x).

            Equations
            • g.comp f = { toAlgHom := (↑g).comp f, map_mem := }
            Instances For
              @[simp]
              theorem GradedAlgHom.comp_apply {R : Type u_1} {A : Type u_6} {B : Type u_7} {C : Type u_8} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Semiring C] [Algebra R A] [Algebra R B] [Algebra R C] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} {𝒞 : ιSubmodule R C} [GradedAlgebra 𝒜] [GradedAlgebra ] [GradedAlgebra 𝒞] (g : →ₐᵍ[R] 𝒞) (f : 𝒜 →ₐᵍ[R] ) (a✝ : A) :
              (g.comp f) a✝ = g (f a✝)
              @[simp]
              theorem GradedAlgHom.coe_comp {R : Type u_1} {A : Type u_6} {B : Type u_7} {C : Type u_8} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Semiring C] [Algebra R A] [Algebra R B] [Algebra R C] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] (g : B →ₐ[R] C) (f : 𝒜 →ₐᵍ[R] ) :
              (g.comp f) = g f
              theorem GradedAlgHom.comp_toGradedRingHom {R : Type u_1} {A : Type u_6} {B : Type u_7} {C : Type u_8} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Semiring C] [Algebra R A] [Algebra R B] [Algebra R C] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} {𝒞 : ιSubmodule R C} [GradedAlgebra 𝒜] [GradedAlgebra ] [GradedAlgebra 𝒞] (g : →ₐᵍ[R] 𝒞) (f : 𝒜 →ₐᵍ[R] ) :
              theorem GradedAlgHom.comp_toAlgHom {R : Type u_1} {A : Type u_6} {B : Type u_7} {C : Type u_8} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Semiring C] [Algebra R A] [Algebra R B] [Algebra R C] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} {𝒞 : ιSubmodule R C} [GradedAlgebra 𝒜] [GradedAlgebra ] [GradedAlgebra 𝒞] (g : →ₐᵍ[R] 𝒞) (f : 𝒜 →ₐᵍ[R] ) :
              (g.comp f) = (↑g).comp f
              @[simp]
              theorem GradedAlgHom.comp_id {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] (f : 𝒜 →ₐᵍ[R] ) :
              f.comp (GradedAlgHom.id R 𝒜) = f
              @[simp]
              theorem GradedAlgHom.id_comp {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] (f : 𝒜 →ₐᵍ[R] ) :
              (GradedAlgHom.id R ).comp f = f
              theorem GradedAlgHom.comp_assoc {R : Type u_1} {A : Type u_6} {B : Type u_7} {C : Type u_8} {D : Type u_9} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Semiring C] [Semiring D] [Algebra R A] [Algebra R B] [Algebra R C] [Algebra R D] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} {𝒞 : ιSubmodule R C} {𝒟 : ιSubmodule R D} [GradedAlgebra 𝒜] [GradedAlgebra ] [GradedAlgebra 𝒞] [GradedAlgebra 𝒟] (fCD : 𝒞 →ₐᵍ[R] 𝒟) (fBC : →ₐᵍ[R] 𝒞) (fAB : 𝒜 →ₐᵍ[R] ) :
              (fCD.comp fBC).comp fAB = fCD.comp (fBC.comp fAB)
              @[implicit_reducible]
              instance GradedAlgHom.instMonoid {R : Type u_1} {A : Type u_6} {ι : Type u_10} [CommSemiring R] [Semiring A] [Algebra R A] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} [GradedAlgebra 𝒜] :
              Monoid (𝒜 →ₐᵍ[R] 𝒜)
              Equations
              theorem GradedAlgHom.toOne_one {R : Type u_1} {A : Type u_6} {ι : Type u_10} [CommSemiring R] [Semiring A] [Algebra R A] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} [GradedAlgebra 𝒜] :
              theorem GradedAlgHom.toSemigroup_toMul_mul {R : Type u_1} {A : Type u_6} {ι : Type u_10} [CommSemiring R] [Semiring A] [Algebra R A] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} [GradedAlgebra 𝒜] (g f : 𝒜 →ₐᵍ[R] 𝒜) :
              g * f = g.comp f
              @[simp]
              theorem GradedAlgHom.coe_one {R : Type u_1} {A : Type u_6} {ι : Type u_10} [CommSemiring R] [Semiring A] [Algebra R A] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} [GradedAlgebra 𝒜] :
              1 = id
              @[simp]
              theorem GradedAlgHom.coe_mul {R : Type u_1} {A : Type u_6} {ι : Type u_10} [CommSemiring R] [Semiring A] [Algebra R A] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} [GradedAlgebra 𝒜] (f g : 𝒜 →ₐᵍ[R] 𝒜) :
              ⇑(f * g) = f g
              @[simp]
              theorem GradedAlgHom.coe_pow {R : Type u_1} {A : Type u_6} {ι : Type u_10} [CommSemiring R] [Semiring A] [Algebra R A] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} [GradedAlgebra 𝒜] (f : 𝒜 →ₐᵍ[R] 𝒜) (n : ) :
              ⇑(f ^ n) = (⇑f)^[n]
              theorem GradedAlgHom.cancel_right {R : Type u_1} {A : Type u_6} {B : Type u_7} {C : Type u_8} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Semiring C] [Algebra R A] [Algebra R B] [Algebra R C] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} {𝒞 : ιSubmodule R C} [GradedAlgebra 𝒜] [GradedAlgebra ] [GradedAlgebra 𝒞] {g₁ g₂ : →ₐᵍ[R] 𝒞} {f : 𝒜 →ₐᵍ[R] } (hf : Function.Surjective f) :
              g₁.comp f = g₂.comp f g₁ = g₂
              theorem GradedAlgHom.cancel_left {R : Type u_1} {A : Type u_6} {B : Type u_7} {C : Type u_8} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Semiring C] [Algebra R A] [Algebra R B] [Algebra R C] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} {𝒞 : ιSubmodule R C} [GradedAlgebra 𝒜] [GradedAlgebra ] [GradedAlgebra 𝒞] {g₁ g₂ : 𝒜 →ₐᵍ[R] } {f : →ₐᵍ[R] 𝒞} (hf : Function.Injective f) :
              f.comp g₁ = f.comp g₂ g₁ = g₂
              def GradedAlgHom.toEnd {R : Type u_1} {A : Type u_6} {ι : Type u_10} [CommSemiring R] [Semiring A] [Algebra R A] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} [GradedAlgebra 𝒜] :
              (𝒜 →ₐᵍ[R] 𝒜) →* A →ₐ[R] A

              We enrich the existing function toAlgHom with the structure of a MonoidHom, to produce a bundled function that we now call toEnd.

              Equations
              Instances For
                @[simp]
                theorem GradedAlgHom.toEnd_apply {R : Type u_1} {A : Type u_6} {ι : Type u_10} [CommSemiring R] [Semiring A] [Algebra R A] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} [GradedAlgebra 𝒜] (self : 𝒜 →ₐᵍ[R] 𝒜) :
                toEnd self = self.toAlgHom
                @[implicit_reducible]
                instance GradedAlgHom.instUnique {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] [Subsingleton B] :
                Unique (𝒜 →ₐᵍ[R] )
                Equations
                @[simp]
                theorem GradedAlgHom.default_apply {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] [Subsingleton B] (x : A) :
                def GradedAlgHom.restrictScalars {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] (R₀ : Type u_11) [CommSemiring R₀] [Algebra R₀ R] [Algebra R₀ A] [Algebra R₀ B] [IsScalarTower R₀ R A] [IsScalarTower R₀ R B] (f : 𝒜 →ₐᵍ[R] ) :
                (fun (x : ι) => Submodule.restrictScalars R₀ (𝒜 x)) →ₐᵍ[R₀] fun (x : ι) => Submodule.restrictScalars R₀ ( x)

                Restrict the base ring to a "smaller" ring.

                Equations
                Instances For
                  @[simp]
                  theorem GradedAlgHom.restrictScalars_apply {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] (R₀ : Type u_11) [CommSemiring R₀] [Algebra R₀ R] [Algebra R₀ A] [Algebra R₀ B] [IsScalarTower R₀ R A] [IsScalarTower R₀ R B] (f : 𝒜 →ₐᵍ[R] ) (a✝ : A) :
                  (R₀ f) a✝ = f a✝
                  @[simp]
                  theorem GradedAlgHom.coe_restrictScalars {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] (R₀ : Type u_11) [CommSemiring R₀] [Algebra R₀ R] [Algebra R₀ A] [Algebra R₀ B] [IsScalarTower R₀ R A] [IsScalarTower R₀ R B] (f : 𝒜 →ₐᵍ[R] ) :
                  (R₀ f) = f
                  @[simp]
                  theorem GradedAlgHom.restrictScalars_coe_algHom {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] (R₀ : Type u_11) [CommSemiring R₀] [Algebra R₀ R] [Algebra R₀ A] [Algebra R₀ B] [IsScalarTower R₀ R A] [IsScalarTower R₀ R B] (f : 𝒜 →ₐᵍ[R] ) :
                  AlgHom.restrictScalars R₀ f = (R₀ f)
                  @[simp]
                  theorem GradedAlgHom.restrictScalars_coe_linearMap {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] (R₀ : Type u_11) [CommSemiring R₀] [Algebra R₀ R] [Algebra R₀ A] [Algebra R₀ B] [IsScalarTower R₀ R A] [IsScalarTower R₀ R B] (f : 𝒜 →ₐᵍ[R] ) :
                  R₀ f = (R₀ f)
                  theorem GradedAlgHom.restrictScalars_injective {R : Type u_1} {A : Type u_6} {B : Type u_7} {ι : Type u_10} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [DecidableEq ι] [AddMonoid ι] {𝒜 : ιSubmodule R A} { : ιSubmodule R B} [GradedAlgebra 𝒜] [GradedAlgebra ] (R₀ : Type u_11) [CommSemiring R₀] [Algebra R₀ R] [Algebra R₀ A] [Algebra R₀ B] [IsScalarTower R₀ R A] [IsScalarTower R₀ R B] :