Documentation

Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree

The low-degree cohomology of a k-linear G-representation #

Let k be a commutative ring and G a group. This file contains specialised API for the cocycles and group cohomology of a k-linear G-representation A in degrees 0, 1 and 2.

In Mathlib/RepresentationTheory/Homological/GroupCohomology/Basic.lean, we define the nth group cohomology of A to be the cohomology of a complex inhomogeneousCochains A, whose objects are (Fin n → G) → A; this is unnecessarily unwieldy in low degree. Here, meanwhile, we define the one and two cocycles and coboundaries as submodules of Fun(G, A) and Fun(G × G, A), and provide maps to H1 and H2.

We also show that when the representation on A is trivial, H¹(G, A) ≃ Hom(G, A).

Given an additive or multiplicative abelian group A with an appropriate scalar action of G, we provide support for turning a function f : G → A satisfying the 1-cocycle identity into an element of the cocycles₁ of the representation on A (or Additive A) corresponding to the scalar action. We also do this for 1-coboundaries, 2-cocycles and 2-coboundaries. The multiplicative case, starting with the section IsMulCocycle, just mirrors the additive case; unfortunately @[to_additive] can't deal with scalar actions.

The file also contains an identification between the definitions in Mathlib/RepresentationTheory/Homological/GroupCohomology/Basic.lean, groupCohomology.cocycles A n, and the cocyclesₙ in this file, for n = 0, 1, 2.

Main definitions #

TODO #

The 0th object in the complex of inhomogeneous cochains of A : Rep k G is isomorphic to A as a k-module.

Instances For

    The 1st object in the complex of inhomogeneous cochains of A : Rep k G is isomorphic to Fun(G, A) as a k-module.

    Instances For
      def groupCohomology.cochainsIso₂ {k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) :
      (inhomogeneousCochains A).X 2 ModuleCat.of k (G × GA)

      The 2nd object in the complex of inhomogeneous cochains of A : Rep k G is isomorphic to Fun(G², A) as a k-module.

      Instances For
        def groupCohomology.cochainsIso₃ {k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) :
        (inhomogeneousCochains A).X 3 ModuleCat.of k (G × G × GA)

        The 3rd object in the complex of inhomogeneous cochains of A : Rep k G is isomorphic to Fun(G³, A) as a k-module.

        Instances For
          def groupCohomology.d₀₁ {k G : Type u} [CommRing k] [Group G] (A : Rep.{max u u_1, u, u} k G) :
          ModuleCat.of k A ModuleCat.of k (GA)

          The 0th differential in the complex of inhomogeneous cochains of A : Rep k G, as a k-linear map A → Fun(G, A). It sends (a, g) ↦ ρ_A(g)(a) - a.

          Instances For
            @[simp]
            theorem groupCohomology.d₀₁_hom_apply {k G : Type u} [CommRing k] [Group G] (A : Rep.{max u u_1, u, u} k G) (m : A) (g : G) :
            (ModuleCat.Hom.hom (d₀₁ A)) m g = (A.ρ g) m - m
            def groupCohomology.d₁₂ {k G : Type u} [CommRing k] [Group G] (A : Rep.{u_1, u, u} k G) :
            ModuleCat.of k (GA) ModuleCat.of k (G × GA)

            The 1st differential in the complex of inhomogeneous cochains of A : Rep k G, as a k-linear map Fun(G, A) → Fun(G × G, A). It sends (f, (g₁, g₂)) ↦ ρ_A(g₁)(f(g₂)) - f(g₁g₂) + f(g₁).

            Instances For
              @[simp]
              theorem groupCohomology.d₁₂_hom_apply {k G : Type u} [CommRing k] [Group G] (A : Rep.{u_1, u, u} k G) (f : GA) (g : G × G) :
              (ModuleCat.Hom.hom (d₁₂ A)) f g = (A.ρ g.1) (f g.2) - f (g.1 * g.2) + f g.1
              def groupCohomology.d₂₃ {k G : Type u} [CommRing k] [Group G] (A : Rep.{u_1, u, u} k G) :
              ModuleCat.of k (G × GA) ModuleCat.of k (G × G × GA)

              The 2nd differential in the complex of inhomogeneous cochains of A : Rep k G, as a k-linear map Fun(G × G, A) → Fun(G × G × G, A). It sends (f, (g₁, g₂, g₃)) ↦ ρ_A(g₁)(f(g₂, g₃)) - f(g₁g₂, g₃) + f(g₁, g₂g₃) - f(g₁, g₂).

              Instances For
                @[simp]
                theorem groupCohomology.d₂₃_hom_apply {k G : Type u} [CommRing k] [Group G] (A : Rep.{u_1, u, u} k G) (f : G × GA) (g : G × G × G) :
                (ModuleCat.Hom.hom (d₂₃ A)) f g = (A.ρ g.1) (f g.2) - f (g.1 * g.2.1, g.2.2) + f (g.1, g.2.1 * g.2.2) - f (g.1, g.2.1)

                Let C(G, A) denote the complex of inhomogeneous cochains of A : Rep k G. This lemma says d₀₁ gives a simpler expression for the 0th differential: that is, the following square commutes:

                  C⁰(G, A) --d 0 1--> C¹(G, A)
                  |                     |
                  |                     |
                  |                     |
                  v                     v
                  A ------d₀₁-----> Fun(G, A)
                

                where the vertical arrows are cochainsIso₀ and cochainsIso₁ respectively.

                Let C(G, A) denote the complex of inhomogeneous cochains of A : Rep k G. This lemma says d₁₂ gives a simpler expression for the 1st differential: that is, the following square commutes:

                  C¹(G, A) ---d 1 2---> C²(G, A)
                    |                      |
                    |                      |
                    |                      |
                    v                      v
                  Fun(G, A) --d₁₂--> Fun(G × G, A)
                

                where the vertical arrows are cochainsIso₁ and cochainsIso₂ respectively.

                Let C(G, A) denote the complex of inhomogeneous cochains of A : Rep k G. This lemma says d₂₃ gives a simpler expression for the 2nd differential: that is, the following square commutes:

                      C²(G, A) ----d 2 3----> C³(G, A)
                        |                         |
                        |                         |
                        |                         |
                        v                         v
                  Fun(G × G, A) --d₂₃--> Fun(G × G × G, A)
                

                where the vertical arrows are cochainsIso₂ and cochainsIso₃ respectively.

                The (exact) short complex A.ρ.invariants ⟶ A ⟶ (G → A).

                Instances For

                  The short complex A --d₀₁--> Fun(G, A) --d₁₂--> Fun(G × G, A).

                  Instances For

                    The short complex Fun(G, A) --d₁₂--> Fun(G × G, A) --d₂₃--> Fun(G × G × G, A).

                    Instances For
                      def groupCohomology.cocycles₁ {k G : Type u} [CommRing k] [Group G] (A : Rep.{u_1, u, u} k G) :
                      Submodule k (GA)

                      The 1-cocycles Z¹(G, A) of A : Rep k G, defined as the kernel of the map Fun(G, A) → Fun(G × G, A) sending (f, (g₁, g₂)) ↦ ρ_A(g₁)(f(g₂)) - f(g₁g₂) + f(g₁).

                      Instances For
                        def groupCohomology.cocycles₂ {k G : Type u} [CommRing k] [Group G] (A : Rep.{u_1, u, u} k G) :
                        Submodule k (G × GA)

                        The 2-cocycles Z²(G, A) of A : Rep k G, defined as the kernel of the map Fun(G × G, A) → Fun(G × G × G, A) sending (f, (g₁, g₂, g₃)) ↦ ρ_A(g₁)(f(g₂, g₃)) - f(g₁g₂, g₃) + f(g₁, g₂g₃) - f(g₁, g₂).

                        Instances For
                          @[simp]
                          theorem groupCohomology.cocycles₁.coe_mk {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} (f : GA) (hf : f cocycles₁ A) :
                          f, hf = f
                          @[simp]
                          theorem groupCohomology.cocycles₁.val_eq_coe {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} (f : (cocycles₁ A)) :
                          f = f
                          theorem groupCohomology.cocycles₁_ext {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} {f₁ f₂ : (cocycles₁ A)} (h : ∀ (g : G), f₁ g = f₂ g) :
                          f₁ = f₂
                          theorem groupCohomology.cocycles₁_ext_iff {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} {f₁ f₂ : (cocycles₁ A)} :
                          f₁ = f₂ ∀ (g : G), f₁ g = f₂ g
                          theorem groupCohomology.mem_cocycles₁_def {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} (f : GA) :
                          f cocycles₁ A ∀ (g h : G), (A.ρ g) (f h) - f (g * h) + f g = 0
                          theorem groupCohomology.mem_cocycles₁_iff {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} (f : GA) :
                          f cocycles₁ A ∀ (g h : G), f (g * h) = (A.ρ g) (f h) + f g
                          @[simp]
                          theorem groupCohomology.cocycles₁_map_one {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} (f : (cocycles₁ A)) :
                          f 1 = 0
                          @[simp]
                          theorem groupCohomology.cocycles₁_map_inv {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} (f : (cocycles₁ A)) (g : G) :
                          (A.ρ g) (f g⁻¹) = -f g
                          theorem groupCohomology.cocycles₁_map_mul_of_isTrivial {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} [A.IsTrivial] (f : (cocycles₁ A)) (g h : G) :
                          f (g * h) = f g + f h

                          When A : Rep k G is a trivial representation of G, Z¹(G, A) is isomorphic to the group homs G → A.

                          Instances For
                            @[simp]
                            theorem groupCohomology.cocycles₂.coe_mk {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} (f : G × GA) (hf : f cocycles₂ A) :
                            f, hf = f
                            @[simp]
                            theorem groupCohomology.cocycles₂.val_eq_coe {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} (f : (cocycles₂ A)) :
                            f = f
                            theorem groupCohomology.cocycles₂_ext {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} {f₁ f₂ : (cocycles₂ A)} (h : ∀ (g h : G), f₁ (g, h) = f₂ (g, h)) :
                            f₁ = f₂
                            theorem groupCohomology.cocycles₂_ext_iff {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} {f₁ f₂ : (cocycles₂ A)} :
                            f₁ = f₂ ∀ (g h : G), f₁ (g, h) = f₂ (g, h)
                            theorem groupCohomology.mem_cocycles₂_def {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} (f : G × GA) :
                            f cocycles₂ A ∀ (g h j : G), (A.ρ g) (f (h, j)) - f (g * h, j) + f (g, h * j) - f (g, h) = 0
                            theorem groupCohomology.mem_cocycles₂_iff {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} (f : G × GA) :
                            f cocycles₂ A ∀ (g h j : G), f (g * h, j) + f (g, h) = (A.ρ g) (f (h, j)) + f (g, h * j)
                            theorem groupCohomology.cocycles₂_map_one_fst {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} (f : (cocycles₂ A)) (g : G) :
                            f (1, g) = f (1, 1)
                            theorem groupCohomology.cocycles₂_map_one_snd {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} (f : (cocycles₂ A)) (g : G) :
                            f (g, 1) = (A.ρ g) (f (1, 1))
                            theorem groupCohomology.cocycles₂_ρ_map_inv_sub_map_inv {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} (f : (cocycles₂ A)) (g : G) :
                            (A.ρ g) (f (g⁻¹, g)) - f (g, g⁻¹) = f (1, 1) - f (g, 1)
                            def groupCohomology.coboundaries₁ {k G : Type u} [CommRing k] [Group G] (A : Rep.{max u u_1, u, u} k G) :
                            Submodule k (GA)

                            The 1-coboundaries B¹(G, A) of A : Rep k G, defined as the image of the map A → Fun(G, A) sending (a, g) ↦ ρ_A(g)(a) - a.

                            Instances For
                              def groupCohomology.coboundaries₂ {k G : Type u} [CommRing k] [Group G] (A : Rep.{u_1, u, u} k G) :
                              Submodule k (G × GA)

                              The 2-coboundaries B²(G, A) of A : Rep k G, defined as the image of the map Fun(G, A) → Fun(G × G, A) sending (f, (g₁, g₂)) ↦ ρ_A(g₁)(f(g₂)) - f(g₁g₂) + f(g₁).

                              Instances For
                                @[simp]
                                theorem groupCohomology.coboundaries₁.coe_mk {k G : Type u} [CommRing k] [Group G] {A : Rep.{max u u_1, u, u} k G} (f : GA) (hf : f coboundaries₁ A) :
                                f, hf = f
                                @[simp]
                                theorem groupCohomology.coboundaries₁.val_eq_coe {k G : Type u} [CommRing k] [Group G] {A : Rep.{max u u_1, u, u} k G} (f : (coboundaries₁ A)) :
                                f = f
                                theorem groupCohomology.coboundaries₁_ext {k G : Type u} [CommRing k] [Group G] {A : Rep.{max u u_1, u, u} k G} {f₁ f₂ : (coboundaries₁ A)} (h : ∀ (g : G), f₁ g = f₂ g) :
                                f₁ = f₂
                                theorem groupCohomology.coboundaries₁_ext_iff {k G : Type u} [CommRing k] [Group G] {A : Rep.{max u u_1, u, u} k G} {f₁ f₂ : (coboundaries₁ A)} :
                                f₁ = f₂ ∀ (g : G), f₁ g = f₂ g
                                @[reducible, inline]

                                Natural inclusion B¹(G, A) →ₗ[k] Z¹(G, A).

                                Instances For
                                  @[simp]
                                  theorem groupCohomology.coboundaries₂.coe_mk {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} (f : G × GA) (hf : f coboundaries₂ A) :
                                  f, hf = f
                                  @[simp]
                                  theorem groupCohomology.coboundaries₂.val_eq_coe {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} (f : (coboundaries₂ A)) :
                                  f = f
                                  theorem groupCohomology.coboundaries₂_ext {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} {f₁ f₂ : (coboundaries₂ A)} (h : ∀ (g h : G), f₁ (g, h) = f₂ (g, h)) :
                                  f₁ = f₂
                                  theorem groupCohomology.coboundaries₂_ext_iff {k G : Type u} [CommRing k] [Group G] {A : Rep.{u_1, u, u} k G} {f₁ f₂ : (coboundaries₂ A)} :
                                  f₁ = f₂ ∀ (g h : G), f₁ (g, h) = f₂ (g, h)
                                  @[reducible, inline]

                                  Natural inclusion B²(G, A) →ₗ[k] Z²(G, A).

                                  Instances For
                                    def groupCohomology.IsCocycle₁ {G : Type u_1} {A : Type u_2} [Mul G] [AddCommGroup A] [SMul G A] (f : GA) :

                                    A function f : G → A satisfies the 1-cocycle condition if f(gh) = g • f(h) + f(g) for all g, h : G.

                                    Instances For
                                      def groupCohomology.IsCocycle₂ {G : Type u_1} {A : Type u_2} [Mul G] [AddCommGroup A] [SMul G A] (f : G × GA) :

                                      A function f : G × G → A satisfies the 2-cocycle condition if f(gh, j) + f(g, h) = g • f(h, j) + f(g, hj) for all g, h : G.

                                      Instances For
                                        theorem groupCohomology.map_one_of_isCocycle₁ {G : Type u_1} {A : Type u_2} [Monoid G] [AddCommGroup A] [MulAction G A] {f : GA} (hf : IsCocycle₁ f) :
                                        f 1 = 0
                                        theorem groupCohomology.map_one_fst_of_isCocycle₂ {G : Type u_1} {A : Type u_2} [Monoid G] [AddCommGroup A] [MulAction G A] {f : G × GA} (hf : IsCocycle₂ f) (g : G) :
                                        f (1, g) = f (1, 1)
                                        theorem groupCohomology.map_one_snd_of_isCocycle₂ {G : Type u_1} {A : Type u_2} [Monoid G] [AddCommGroup A] [MulAction G A] {f : G × GA} (hf : IsCocycle₂ f) (g : G) :
                                        f (g, 1) = g f (1, 1)
                                        theorem groupCohomology.map_inv_of_isCocycle₁ {G : Type u_1} {A : Type u_2} [Group G] [AddCommGroup A] [MulAction G A] {f : GA} (hf : IsCocycle₁ f) (g : G) :
                                        g f g⁻¹ = -f g
                                        theorem groupCohomology.smul_map_inv_sub_map_inv_of_isCocycle₂ {G : Type u_1} {A : Type u_2} [Group G] [AddCommGroup A] [MulAction G A] {f : G × GA} (hf : IsCocycle₂ f) (g : G) :
                                        g f (g⁻¹, g) - f (g, g⁻¹) = f (1, 1) - f (g, 1)
                                        def groupCohomology.IsCoboundary₁ {G : Type u_1} {A : Type u_2} [AddCommGroup A] [SMul G A] (f : GA) :

                                        A function f : G → A satisfies the 1-coboundary condition if there's x : A such that g • x - x = f(g) for all g : G.

                                        Instances For
                                          def groupCohomology.IsCoboundary₂ {G : Type u_1} {A : Type u_2} [Mul G] [AddCommGroup A] [SMul G A] (f : G × GA) :

                                          A function f : G × G → A satisfies the 2-coboundary condition if there's x : G → A such that g • x(h) - x(gh) + x(g) = f(g, h) for all g, h : G.

                                          Instances For

                                            Given a k-module A with a compatible DistribMulAction of G, and a function f : G → A satisfying the 1-cocycle condition, produces a 1-cocycle for the representation on A induced by the DistribMulAction.

                                            Instances For
                                              @[simp]
                                              theorem groupCohomology.cocyclesOfIsCocycle₁_coe {k G A : Type u} [CommRing k] [Group G] [AddCommGroup A] [Module k A] [DistribMulAction G A] [SMulCommClass G k A] {f : GA} (hf : IsCocycle₁ f) (a✝ : G) :
                                              (cocyclesOfIsCocycle₁ hf) a✝ = f a✝

                                              Given a k-module A with a compatible DistribMulAction of G, and a function f : G → A satisfying the 1-coboundary condition, produces a 1-coboundary for the representation on A induced by the DistribMulAction.

                                              Instances For
                                                @[simp]
                                                theorem groupCohomology.coboundariesOfIsCoboundary₁_coe {k G A : Type u} [CommRing k] [Group G] [AddCommGroup A] [Module k A] [DistribMulAction G A] [SMulCommClass G k A] {f : GA} (hf : IsCoboundary₁ f) (a✝ : G) :
                                                (coboundariesOfIsCoboundary₁ hf) a✝ = f a✝
                                                def groupCohomology.cocyclesOfIsCocycle₂ {k G A : Type u} [CommRing k] [Group G] [AddCommGroup A] [Module k A] [DistribMulAction G A] [SMulCommClass G k A] {f : G × GA} (hf : IsCocycle₂ f) :

                                                Given a k-module A with a compatible DistribMulAction of G, and a function f : G × G → A satisfying the 2-cocycle condition, produces a 2-cocycle for the representation on A induced by the DistribMulAction.

                                                Instances For
                                                  @[simp]
                                                  theorem groupCohomology.cocyclesOfIsCocycle₂_coe {k G A : Type u} [CommRing k] [Group G] [AddCommGroup A] [Module k A] [DistribMulAction G A] [SMulCommClass G k A] {f : G × GA} (hf : IsCocycle₂ f) (a✝ : G × G) :
                                                  (cocyclesOfIsCocycle₂ hf) a✝ = f a✝

                                                  Given a k-module A with a compatible DistribMulAction of G, and a function f : G × G → A satisfying the 2-coboundary condition, produces a 2-coboundary for the representation on A induced by the DistribMulAction.

                                                  Instances For
                                                    @[simp]
                                                    theorem groupCohomology.coboundariesOfIsCoboundary₂_coe {k G A : Type u} [CommRing k] [Group G] [AddCommGroup A] [Module k A] [DistribMulAction G A] [SMulCommClass G k A] {f : G × GA} (hf : IsCoboundary₂ f) (a✝ : G × G) :
                                                    (coboundariesOfIsCoboundary₂ hf) a✝ = f a✝

                                                    The next few sections, until the section CocyclesIso, are a multiplicative copy of the previous few sections beginning with IsCocycle. Unfortunately @[to_additive] doesn't work with scalar actions.

                                                    def groupCohomology.IsMulCocycle₁ {G : Type u_1} {M : Type u_2} [Mul G] [CommGroup M] [SMul G M] (f : GM) :

                                                    A function f : G → M satisfies the multiplicative 1-cocycle condition if f(gh) = g • f(h) * f(g) for all g, h : G.

                                                    Instances For
                                                      def groupCohomology.IsMulCocycle₂ {G : Type u_1} {M : Type u_2} [Mul G] [CommGroup M] [SMul G M] (f : G × GM) :

                                                      A function f : G × G → M satisfies the multiplicative 2-cocycle condition if f(gh, j) * f(g, h) = g • f(h, j) * f(g, hj) for all g, h : G.

                                                      Instances For
                                                        theorem groupCohomology.map_one_of_isMulCocycle₁ {G : Type u_1} {M : Type u_2} [Monoid G] [CommGroup M] [MulAction G M] {f : GM} (hf : IsMulCocycle₁ f) :
                                                        f 1 = 1
                                                        theorem groupCohomology.map_one_fst_of_isMulCocycle₂ {G : Type u_1} {M : Type u_2} [Monoid G] [CommGroup M] [MulAction G M] {f : G × GM} (hf : IsMulCocycle₂ f) (g : G) :
                                                        f (1, g) = f (1, 1)
                                                        theorem groupCohomology.map_one_snd_of_isMulCocycle₂ {G : Type u_1} {M : Type u_2} [Monoid G] [CommGroup M] [MulAction G M] {f : G × GM} (hf : IsMulCocycle₂ f) (g : G) :
                                                        f (g, 1) = g f (1, 1)
                                                        theorem groupCohomology.map_inv_of_isMulCocycle₁ {G : Type u_1} {M : Type u_2} [Group G] [CommGroup M] [MulAction G M] {f : GM} (hf : IsMulCocycle₁ f) (g : G) :
                                                        g f g⁻¹ = (f g)⁻¹
                                                        theorem groupCohomology.smul_map_inv_div_map_inv_of_isMulCocycle₂ {G : Type u_1} {M : Type u_2} [Group G] [CommGroup M] [MulAction G M] {f : G × GM} (hf : IsMulCocycle₂ f) (g : G) :
                                                        g f (g⁻¹, g) / f (g, g⁻¹) = f (1, 1) / f (g, 1)
                                                        def groupCohomology.IsMulCoboundary₁ {G : Type u_1} {M : Type u_2} [CommGroup M] [SMul G M] (f : GM) :

                                                        A function f : G → M satisfies the multiplicative 1-coboundary condition if there's x : M such that g • x / x = f(g) for all g : G.

                                                        Instances For
                                                          def groupCohomology.IsMulCoboundary₂ {G : Type u_1} {M : Type u_2} [Mul G] [CommGroup M] [SMul G M] (f : G × GM) :

                                                          A function f : G × G → M satisfies the 2-coboundary condition if there's x : G → M such that g • x(h) / x(gh) * x(g) = f(g, h) for all g, h : G.

                                                          Instances For

                                                            Given an abelian group M with a MulDistribMulAction of G, and a function f : G → M satisfying the multiplicative 1-cocycle condition, produces a 1-cocycle for the representation on Additive M induced by the MulDistribMulAction.

                                                            Instances For
                                                              @[simp]
                                                              theorem groupCohomology.cocyclesOfIsMulCocycle₁_coe {G M : Type} [Group G] [CommGroup M] [MulDistribMulAction G M] {f : GM} (hf : IsMulCocycle₁ f) (a✝ : G) :
                                                              (cocyclesOfIsMulCocycle₁ hf) a✝ = (Additive.ofMul f) a✝

                                                              Given an abelian group M with a MulDistribMulAction of G, and a function f : G → M satisfying the multiplicative 1-coboundary condition, produces a 1-coboundary for the representation on Additive M induced by the MulDistribMulAction.

                                                              Instances For

                                                                Given an abelian group M with a MulDistribMulAction of G, and a function f : G × G → M satisfying the multiplicative 2-cocycle condition, produces a 2-cocycle for the representation on Additive M induced by the MulDistribMulAction.

                                                                Instances For
                                                                  @[simp]
                                                                  theorem groupCohomology.cocyclesOfIsMulCocycle₂_coe {G M : Type} [Group G] [CommGroup M] [MulDistribMulAction G M] {f : G × GM} (hf : IsMulCocycle₂ f) (a✝ : G × G) :
                                                                  (cocyclesOfIsMulCocycle₂ hf) a✝ = (Additive.ofMul f) a✝

                                                                  Given an abelian group M with a MulDistribMulAction of G, and a function f : G × G → M satisfying the multiplicative 2-coboundary condition, produces a 2-coboundary for the representation on M induced by the MulDistribMulAction.

                                                                  Instances For

                                                                    The arrow A --d₀₁--> Fun(G, A) is isomorphic to the differential (inhomogeneousCochains A).d 0 1 of the complex of inhomogeneous cochains of A.

                                                                    Instances For
                                                                      noncomputable def groupCohomology.cocyclesIso₀ {k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) :

                                                                      The 0-cocycles of the complex of inhomogeneous cochains of A are isomorphic to A.ρ.invariants, which is a simpler type.

                                                                      Instances For

                                                                        The short complex A --d₀₁--> Fun(G, A) --d₁₂--> Fun(G × G, A) is isomorphic to the 1st short complex associated to the complex of inhomogeneous cochains of A.

                                                                        Instances For
                                                                          noncomputable def groupCohomology.isoCocycles₁ {k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) :

                                                                          The 1-cocycles of the complex of inhomogeneous cochains of A are isomorphic to cocycles₁ A, which is a simpler type.

                                                                          Instances For

                                                                            The short complex Fun(G, A) --d₁₂--> Fun(G × G, A) --dTwo--> Fun(G × G × G, A) is isomorphic to the 2nd short complex associated to the complex of inhomogeneous cochains of A.

                                                                            Instances For
                                                                              noncomputable def groupCohomology.isoCocycles₂ {k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) :

                                                                              The 2-cocycles of the complex of inhomogeneous cochains of A are isomorphic to cocycles₂ A, which is a simpler type.

                                                                              Instances For
                                                                                @[reducible, inline]
                                                                                noncomputable abbrev groupCohomology.H0 {k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) :

                                                                                Shorthand for the 0th group cohomology of a k-linear G-representation A, H⁰(G, A), defined as the 0th cohomology of the complex of inhomogeneous cochains of A.

                                                                                Instances For
                                                                                  noncomputable def groupCohomology.H0Iso {k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) :

                                                                                  The 0th group cohomology of A, defined as the 0th cohomology of the complex of inhomogeneous cochains, is isomorphic to the invariants of the representation on A.

                                                                                  Instances For
                                                                                    theorem groupCohomology.H0_induction_on {k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) {C : (H0 A)Prop} (x : (H0 A)) (h : ∀ (x : A.ρ.invariants), C ((CategoryTheory.ConcreteCategory.hom (H0Iso A).inv) x)) :
                                                                                    C x
                                                                                    noncomputable def groupCohomology.H0IsoOfIsTrivial {k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) [A.IsTrivial] :

                                                                                    When the representation on A is trivial, then H⁰(G, A) is all of A.

                                                                                    Instances For
                                                                                      @[reducible, inline]
                                                                                      noncomputable abbrev groupCohomology.H1 {k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) :

                                                                                      Shorthand for the 1st group cohomology of a k-linear G-representation A, H¹(G, A), defined as the 1st cohomology of the complex of inhomogeneous cochains of A.

                                                                                      Instances For
                                                                                        noncomputable def groupCohomology.H1π {k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) :

                                                                                        The quotient map from the 1-cocycles of A, as a submodule of G → A, to H¹(G, A).

                                                                                        Instances For
                                                                                          theorem groupCohomology.H1_induction_on {k G : Type u} [CommRing k] [Group G] {A : Rep.{u, u, u} k G} {C : (H1 A)Prop} (x : (H1 A)) (h : ∀ (x : (cocycles₁ A)), C ((CategoryTheory.ConcreteCategory.hom (H1π A)) x)) :
                                                                                          C x

                                                                                          The 1st group cohomology of A, defined as the 1st cohomology of the complex of inhomogeneous cochains, is isomorphic to cocycles₁ A ⧸ coboundaries₁ A, which is a simpler type.

                                                                                          Instances For
                                                                                            noncomputable def groupCohomology.H1IsoOfIsTrivial {k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) [A.IsTrivial] :

                                                                                            When A : Rep k G is a trivial representation of G, H¹(G, A) is isomorphic to the group homs G → A.

                                                                                            Instances For
                                                                                              @[reducible, inline]
                                                                                              noncomputable abbrev groupCohomology.H2 {k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) :

                                                                                              Shorthand for the 2nd group cohomology of a k-linear G-representation A, H²(G, A), defined as the 2nd cohomology of the complex of inhomogeneous cochains of A.

                                                                                              Instances For
                                                                                                noncomputable def groupCohomology.H2π {k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) :

                                                                                                The quotient map from the 2-cocycles of A, as a submodule of G × G → A, to H²(G, A).

                                                                                                Instances For
                                                                                                  theorem groupCohomology.H2_induction_on {k G : Type u} [CommRing k] [Group G] {A : Rep.{u, u, u} k G} {C : (H2 A)Prop} (x : (H2 A)) (h : ∀ (x : (cocycles₂ A)), C ((CategoryTheory.ConcreteCategory.hom (H2π A)) x)) :
                                                                                                  C x

                                                                                                  The 2nd group cohomology of A, defined as the 2nd cohomology of the complex of inhomogeneous cochains, is isomorphic to cocycles₂ A ⧸ coboundaries₂ A, which is a simpler type.

                                                                                                  Instances For