Documentation

Mathlib.RepresentationTheory.Homological.GroupCohomology.Functoriality

Functoriality of group cohomology #

Given a commutative ring k, a group homomorphism f : G →* H, a k-linear H-representation A, a k-linear G-representation B, and a representation morphism Res(f)(A) ⟶ B, we get a cochain map inhomogeneousCochains A ⟶ inhomogeneousCochains B and hence maps on cohomology Hⁿ(H, A) ⟶ Hⁿ(G, B). We also provide extra API for these maps in degrees 0, 1, 2.

Main definitions #

theorem groupCohomology.congr {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u_2, u, u} k H} {B : Rep.{u_2, u, u} k G} {f₁ f₂ : G →* H} (h : f₁ = f₂) {φ : Rep.res f₁ A B} {T : Type u_1} (F : (f : G →* H) → (Rep.res f A B) → T) :
F f₁ φ = F f₂ (h φ)
noncomputable def groupCohomology.cochainsMap {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u, u, u} k H} {B : Rep.{u, u, u} k G} (f : G →* H) (φ : Rep.res f A B) :

Given a group homomorphism f : G →* H and a representation morphism φ : Res(f)(A) ⟶ B, this is the chain map sending x : Hⁿ → A to (g : Gⁿ) ↦ φ (x (f ∘ g)).

Instances For
    theorem groupCohomology.cochainsMap_f_hom {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u, u, u} k H} {B : Rep.{u, u, u} k G} (f : G →* H) (φ : Rep.res f A B) (i : ) :
    ModuleCat.Hom.hom ((cochainsMap f φ).f i) = (Rep.Hom.hom φ).compLeft (Fin iG) ∘ₗ LinearMap.funLeft k A fun (x : Fin iG) => f x
    theorem groupCohomology.cochainsMap_f {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u, u, u} k H} {B : Rep.{u, u, u} k G} (f : G →* H) (φ : Rep.res f A B) (i : ) :
    (cochainsMap f φ).f i = CategoryTheory.CategoryStruct.comp (ModuleCat.ofHom (LinearMap.funLeft k A fun (x : Fin iG) => f x)) (ModuleCat.ofHom ((Rep.Hom.hom φ).compLeft (Fin iG)))
    @[simp]
    theorem groupCohomology.cochainsMap_id_f_hom_eq_compLeft {k G : Type u} [CommRing k] [Group G] {A B : Rep.{u, u, u} k G} (f : A B) (i : ) :
    theorem groupCohomology.cochainsMap_comp {k : Type u} [CommRing k] {G H K : Type u} [Group G] [Group H] [Group K] {A : Rep.{u, u, u} k K} {B : Rep.{u, u, u} k H} {C : Rep.{u, u, u} k G} (f : H →* K) (g : G →* H) (φ : Rep.res f A B) (ψ : Rep.res g B C) :
    @[simp]
    theorem groupCohomology.cochainsMap_zero {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u, u, u} k H} {B : Rep.{u, u, u} k G} (f : G →* H) :
    cochainsMap f 0 = 0
    theorem groupCohomology.cochainsMap_f_map_mono {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u, u, u} k H} {B : Rep.{u, u, u} k G} (f : G →* H) (φ : Rep.res f A B) (hf : Function.Surjective f) [CategoryTheory.Mono φ] (i : ) :
    theorem groupCohomology.cochainsMap_f_map_epi {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u, u, u} k H} {B : Rep.{u, u, u} k G} (f : G →* H) (φ : Rep.res f A B) (hf : Function.Injective f) [CategoryTheory.Epi φ] (i : ) :
    @[reducible, inline]
    noncomputable abbrev groupCohomology.cocyclesMap {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u, u, u} k H} {B : Rep.{u, u, u} k G} (f : G →* H) (φ : Rep.res f A B) (n : ) :

    Given a group homomorphism f : G →* H and a representation morphism φ : Res(f)(A) ⟶ B, this is the induced map Zⁿ(H, A) ⟶ Zⁿ(G, B) sending x : Hⁿ → A to (g : Gⁿ) ↦ φ (x (f ∘ g)).

    Instances For
      theorem groupCohomology.cocyclesMap_comp {k : Type u} [CommRing k] {G H K : Type u} [Group G] [Group H] [Group K] {A : Rep.{u, u, u} k K} {B : Rep.{u, u, u} k H} {C : Rep.{u, u, u} k G} (f : H →* K) (g : G →* H) (φ : Rep.res f A B) (ψ : Rep.res g B C) (n : ) :
      theorem groupCohomology.cocyclesMap_comp_assoc {k : Type u} [CommRing k] {G H K : Type u} [Group G] [Group H] [Group K] {A : Rep.{u, u, u} k K} {B : Rep.{u, u, u} k H} {C : Rep.{u, u, u} k G} (f : H →* K) (g : G →* H) (φ : Rep.res f A B) (ψ : Rep.res g B C) (n : ) {Z : ModuleCat k} (h : cocycles C n Z) :
      @[reducible, inline]
      noncomputable abbrev groupCohomology.map {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u, u, u} k H} {B : Rep.{u, u, u} k G} (f : G →* H) (φ : Rep.res f A B) (n : ) :

      Given a group homomorphism f : G →* H and a representation morphism φ : Res(f)(A) ⟶ B, this is the induced map Hⁿ(H, A) ⟶ Hⁿ(G, B) sending x : Hⁿ → A to (g : Gⁿ) ↦ φ (x (f ∘ g)).

      Instances For
        theorem groupCohomology.π_map {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u, u, u} k H} {B : Rep.{u, u, u} k G} (f : G →* H) (φ : Rep.res f A B) (n : ) :
        theorem groupCohomology.map_comp {k : Type u} [CommRing k] {G H K : Type u} [Group G] [Group H] [Group K] {A : Rep.{u, u, u} k K} {B : Rep.{u, u, u} k H} {C : Rep.{u, u, u} k G} (f : H →* K) (g : G →* H) (φ : Rep.res f A B) (ψ : Rep.res g B C) (n : ) :
        theorem groupCohomology.map_comp_assoc {k : Type u} [CommRing k] {G H K : Type u} [Group G] [Group H] [Group K] {A : Rep.{u, u, u} k K} {B : Rep.{u, u, u} k H} {C : Rep.{u, u, u} k G} (f : H →* K) (g : G →* H) (φ : Rep.res f A B) (ψ : Rep.res g B C) (n : ) {Z : ModuleCat k} (h : groupCohomology C n Z) :
        @[reducible, inline]
        noncomputable abbrev groupCohomology.cochainsMap₁ {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u_1, u, u} k H} {B : Rep.{u_1, u, u} k G} (f : G →* H) (φ : Rep.res f A B) :
        ModuleCat.of k (HA) ModuleCat.of k (GB)

        Given a group homomorphism f : G →* H and a representation morphism φ : Res(f)(A) ⟶ B, this is the induced map sending x : H → A to (g : G) ↦ φ (x (f g)).

        Instances For
          @[reducible, inline]
          noncomputable abbrev groupCohomology.cochainsMap₂ {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u_1, u, u} k H} {B : Rep.{u_1, u, u} k G} (f : G →* H) (φ : Rep.res f A B) :
          ModuleCat.of k (H × HA) ModuleCat.of k (G × GB)

          Given a group homomorphism f : G →* H and a representation morphism φ : Res(f)(A) ⟶ B, this is the induced map sending x : H × H → A to (g₁, g₂ : G × G) ↦ φ (x (f g₁, f g₂)).

          Instances For
            @[reducible, inline]
            noncomputable abbrev groupCohomology.cochainsMap₃ {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u_1, u, u} k H} {B : Rep.{u_1, u, u} k G} (f : G →* H) (φ : Rep.res f A B) :
            ModuleCat.of k (H × H × HA) ModuleCat.of k (G × G × GB)

            Given a group homomorphism f : G →* H and a representation morphism φ : Res(f)(A) ⟶ B, this is the induced map sending x : H × H × H → A to (g₁, g₂, g₃ : G × G × G) ↦ φ (x (f g₁, f g₂, f g₃)).

            Instances For
              @[simp]
              theorem groupCohomology.cochainsMap_f_3_comp_cochainsIso₃_apply {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u, u, u} k H} {B : Rep.{u, u, u} k G} (f : G →* H) (φ : Rep.res f A B) (x : ((inhomogeneousCochains A).X 3)) :
              noncomputable def groupCohomology.mapShortComplexH1 {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{max u u_1, u, u} k H} {B : Rep.{max u u_1, u, u} k G} (f : G →* H) (φ : Rep.res f A B) :

              Given a group homomorphism f : G →* H and a representation morphism φ : Res(f)(A) ⟶ B, this is the induced map from the short complex A --d₀₁--> Fun(H, A) --d₁₂--> Fun(H × H, A) to B --d₀₁--> Fun(G, B) --d₁₂--> Fun(G × G, B).

              Instances For
                @[reducible, inline]
                noncomputable abbrev groupCohomology.mapCocycles₁ {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{max u u_1, u, u} k H} {B : Rep.{max u u_1, u, u} k G} (f : G →* H) (φ : Rep.res f A B) :

                Given a group homomorphism f : G →* H and a representation morphism φ : Res(f)(A) ⟶ B, this is induced map Z¹(H, A) ⟶ Z¹(G, B).

                Instances For
                  @[simp]
                  theorem groupCohomology.mapCocycles₁_one {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{max u u_1, u, u} k H} {B : Rep.{max u u_1, u, u} k G} (φ : Rep.res 1 A B) :
                  @[deprecated groupCohomology.map_id (since := "2025-6-09")]

                  Alias of groupCohomology.map_id.

                  @[simp]
                  theorem groupCohomology.map₁_one {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u, u, u} k H} {B : Rep.{u, u, u} k G} (φ : Rep.res 1 A B) :
                  map 1 φ 1 = 0
                  noncomputable def groupCohomology.H1InfRes {k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) (S : Subgroup G) [S.Normal] :

                  The short complex H¹(G ⧸ S, A^S) ⟶ H¹(G, A) ⟶ H¹(S, A).

                  Instances For
                    @[simp]
                    theorem groupCohomology.H1InfRes_X₂ {k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) (S : Subgroup G) [S.Normal] :

                    The inflation map H¹(G ⧸ S, A^S) ⟶ H¹(G, A) is a monomorphism.

                    theorem groupCohomology.H1InfRes_exact {k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) (S : Subgroup G) [S.Normal] :

                    Given a G-representation A and a normal subgroup S ≤ G, the short complex H¹(G ⧸ S, A^S) ⟶ H¹(G, A) ⟶ H¹(S, A) is exact.

                    noncomputable def groupCohomology.mapShortComplexH2 {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u_1, u, u} k H} {B : Rep.{u_1, u, u} k G} (f : G →* H) (φ : Rep.res f A B) :

                    Given a group homomorphism f : G →* H and a representation morphism φ : Res(f)(A) ⟶ B, this is the induced map from the short complex Fun(H, A) --d₁₂--> Fun(H × H, A) --d₂₃--> Fun(H × H × H, A) to Fun(G, B) --d₁₂--> Fun(G × G, B) --d₂₃--> Fun(G × G × G, B).

                    Instances For
                      @[simp]
                      theorem groupCohomology.mapShortComplexH2_τ₃ {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u_1, u, u} k H} {B : Rep.{u_1, u, u} k G} (f : G →* H) (φ : Rep.res f A B) :
                      @[simp]
                      theorem groupCohomology.mapShortComplexH2_τ₁ {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u_1, u, u} k H} {B : Rep.{u_1, u, u} k G} (f : G →* H) (φ : Rep.res f A B) :
                      @[simp]
                      theorem groupCohomology.mapShortComplexH2_τ₂ {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u_1, u, u} k H} {B : Rep.{u_1, u, u} k G} (f : G →* H) (φ : Rep.res f A B) :
                      @[simp]
                      theorem groupCohomology.mapShortComplexH2_zero {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u_1, u, u} k H} {B : Rep.{u_1, u, u} k G} (f : G →* H) :
                      @[reducible, inline]
                      noncomputable abbrev groupCohomology.mapCocycles₂ {k G H : Type u} [CommRing k] [Group G] [Group H] {A : Rep.{u_1, u, u} k H} {B : Rep.{u_1, u, u} k G} (f : G →* H) (φ : Rep.res f A B) :

                      Given a group homomorphism f : G →* H and a representation morphism φ : Res(f)(A) ⟶ B, this is induced map Z²(H, A) ⟶ Z²(G, B).

                      Instances For

                        The functor sending a representation to its complex of inhomogeneous cochains.

                        Instances For
                          @[simp]
                          theorem groupCohomology.cochainsFunctor_map (k G : Type u) [CommRing k] [Group G] {X✝ Y✝ : Rep.{u, u, u} k G} (f : X✝ Y✝) :
                          noncomputable def groupCohomology.functor (k G : Type u) [CommRing k] [Group G] (n : ) :

                          The functor sending a G-representation A to Hⁿ(G, A).

                          Instances For
                            @[simp]
                            theorem groupCohomology.functor_obj (k G : Type u) [CommRing k] [Group G] (n : ) (A : Rep.{u, u, u} k G) :
                            (functor k G n).obj A = groupCohomology A n
                            @[simp]
                            theorem groupCohomology.functor_map (k G : Type u) [CommRing k] [Group G] (n : ) {X✝ Y✝ : Rep.{u, u, u} k G} (φ : X✝ Y✝) :
                            (functor k G n).map φ = map (MonoidHom.id G) φ n
                            noncomputable def groupCohomology.resNatTrans (k : Type u) {G H : Type u} [CommRing k] [Group G] [Group H] (f : G →* H) (n : ) :

                            Given a group homomorphism f : G →* H, this is a natural transformation between the functors sending A : Rep k H to Hⁿ(H, A) and to Hⁿ(G, Res(f)(A)).

                            Instances For
                              @[simp]
                              theorem groupCohomology.resNatTrans_app (k : Type u) {G H : Type u} [CommRing k] [Group G] [Group H] (f : G →* H) (n : ) (X : Rep.{u, u, u} k H) :
                              noncomputable def groupCohomology.infNatTrans (k : Type u) {G : Type u} [CommRing k] [Group G] (S : Subgroup G) [S.Normal] (n : ) :

                              Given a normal subgroup S ≤ G, this is a natural transformation between the functors sending A : Rep k G to Hⁿ(G ⧸ S, A^S) and to Hⁿ(G, A).

                              Instances For
                                @[simp]
                                theorem groupCohomology.infNatTrans_app (k : Type u) {G : Type u} [CommRing k] [Group G] (S : Subgroup G) [S.Normal] (n : ) (A : Rep.{u, u, u} k G) :