Documentation

Mathlib.Data.FunLike.Graded

Class of grading-preserving functions and isomorphisms #

We define GradedFunLike F 𝒜 ℬ where 𝒜 and represent some sort of grading. This class assumes FunLike A B where A and B are the underlying types.

We also define GradedEquivLike E 𝒜 ℬ, which is similar to EquivLike, where here e : E is required to satisfy x ∈ 𝒜 i ↔ e x ∈ ℬ i.

class GradedFunLike (F : Type u_1) {A : outParam (Type u_2)} {B : outParam (Type u_3)} {σ : outParam (Type u_4)} {τ : outParam (Type u_5)} {ι : outParam (Type u_6)} [SetLike σ A] [SetLike τ B] (𝒜 : outParam (ισ)) ( : outParam (ιτ)) [FunLike F A B] :

The class GradedFunLike F 𝒜 ℬ expresses that terms of type F have an injective coercion to grading-preserving functions from A to B, where 𝒜 is a grading on A and is a grading on B. This typeclass has [FunLike F A B] as one of the assumptions. This typeclass is used in the charactersation of certain types of graded homomorphisms, such as GradedRingHom and GradedAlgHom. For example, what would be called "GradedRingHomClass F 𝒜 ℬ" would be expressed as [FunLike F A B] [GradedFunLike F 𝒜 ℬ] [RingHomClass F A B].

  • map_mem (f : F) {i : ι} {x : A} : x 𝒜 if x i
Instances
    theorem Graded.map_mem {F : Type u_1} {A : Type u_2} {B : Type u_3} {σ : Type u_4} {τ : Type u_5} {ι : Type u_6} [SetLike σ A] [SetLike τ B] {𝒜 : ισ} { : ιτ} [FunLike F A B] [GradedFunLike F 𝒜 ] (f : F) {i : ι} {x : A} (h : x 𝒜 i) :
    f x i
    def Graded.subtypeMap {F : Type u_1} {A : Type u_2} {B : Type u_3} {σ : Type u_4} {τ : Type u_5} {ι : Type u_6} [SetLike σ A] [SetLike τ B] {𝒜 : ισ} { : ιτ} [FunLike F A B] [GradedFunLike F 𝒜 ] (f : F) (i : ι) (x : (𝒜 i)) :
    ( i)

    A graded map descends to a map on each component.

    Equations
    Instances For
      class GradedEquivLike (E : Type u_1) {A : outParam (Type u_2)} {B : outParam (Type u_3)} {σ : outParam (Type u_4)} {τ : outParam (Type u_5)} {ι : outParam (Type u_6)} [SetLike σ A] [SetLike τ B] (𝒜 : outParam (ισ)) ( : outParam (ιτ)) [EquivLike E A B] :

      The class GradedEquivLike E 𝒜 ℬ says that E is a type of grading-preserving isomorphisms between 𝒜 and . It is the combination of GradedFunLike E 𝒜 ℬ and EquivLike E A B.

      • map_mem_iff (e : E) {i : ι} {x : A} : e x i x 𝒜 i
      Instances
        @[instance 100]
        instance GradedEquivLike.toGradedFunLike (E : Type u_1) {A : Type u_2} {B : Type u_3} {σ : Type u_4} {τ : Type u_5} {ι : Type u_6} [SetLike σ A] [SetLike τ B] (𝒜 : ισ) ( : ιτ) [EquivLike E A B] [GradedEquivLike E 𝒜 ] :
        GradedFunLike E 𝒜
        theorem Graded.map_mem_iff {E : Type u_1} {A : Type u_2} {B : Type u_3} {σ : Type u_4} {τ : Type u_5} {ι : Type u_6} [SetLike σ A] [SetLike τ B] {𝒜 : ισ} { : ιτ} [EquivLike E A B] [GradedEquivLike E 𝒜 ] (e : E) {i : ι} {x : A} :
        e x i x 𝒜 i
        theorem Graded.mem_of_map_mem {E : Type u_1} {A : Type u_2} {B : Type u_3} {σ : Type u_4} {τ : Type u_5} {ι : Type u_6} [SetLike σ A] [SetLike τ B] {𝒜 : ισ} { : ιτ} [EquivLike E A B] [GradedEquivLike E 𝒜 ] (e : E) {i : ι} {x : A} :
        e x ix 𝒜 i

        Alias of the forward direction of Graded.map_mem_iff.

        theorem Graded.map_mem_of_mem {E : Type u_1} {A : Type u_2} {B : Type u_3} {σ : Type u_4} {τ : Type u_5} {ι : Type u_6} [SetLike σ A] [SetLike τ B] {𝒜 : ισ} { : ιτ} [EquivLike E A B] [GradedEquivLike E 𝒜 ] (e : E) {i : ι} {x : A} :
        x 𝒜 ie x i

        Alias of the reverse direction of Graded.map_mem_iff.

        def Graded.equiv {E : Type u_1} {A : Type u_2} {B : Type u_3} {σ : Type u_4} {τ : Type u_5} {ι : Type u_6} [SetLike σ A] [SetLike τ B] {𝒜 : ισ} { : ιτ} [EquivLike E A B] [GradedEquivLike E 𝒜 ] (e : E) (i : ι) :
        (𝒜 i) ( i)

        A graded isomorphism descends to an isomorphism on each component.

        Equations
        Instances For
          @[simp]
          theorem Graded.equiv_symm_apply_coe {E : Type u_1} {A : Type u_2} {B : Type u_3} {σ : Type u_4} {τ : Type u_5} {ι : Type u_6} [SetLike σ A] [SetLike τ B] {𝒜 : ισ} { : ιτ} [EquivLike E A B] [GradedEquivLike E 𝒜 ] (e : E) (i : ι) (y : ( i)) :
          ((equiv e i).symm y) = EquivLike.inv e y
          @[simp]
          theorem Graded.equiv_apply {E : Type u_1} {A : Type u_2} {B : Type u_3} {σ : Type u_4} {τ : Type u_5} {ι : Type u_6} [SetLike σ A] [SetLike τ B] {𝒜 : ισ} { : ιτ} [EquivLike E A B] [GradedEquivLike E 𝒜 ] (e : E) (i : ι) (x : (𝒜 i)) :
          (equiv e i) x = subtypeMap e i x