Documentation

Mathlib.RepresentationTheory.GroupCohomology.LowDegree

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

Let k be a commutative ring and G a group. This file gives simple expressions for the group cohomology of a k-linear G-representation A in degrees 0, 1 and 2.

In RepresentationTheory.GroupCohomology.Basic, 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. Moreover, cohomology of a complex is defined as an abstract cokernel, whereas the definitions here are explicit quotients of cocycles by coboundaries.

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 oneCocycles 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 RepresentationTheory.GroupCohomology.Basic, groupCohomology.cocycles A n and groupCohomology A n, and the nCocycles and Hn A 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.

Equations
Instances For
    @[deprecated groupCohomology.zeroCochainsIso (since := "2025-05-09")]

    Alias of groupCohomology.zeroCochainsIso.


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

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

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

      Equations
      Instances For
        @[deprecated groupCohomology.oneCochainsIso (since := "2025-05-09")]
        def groupCohomology.oneCochainsLequiv {k G : Type u} [CommRing k] [Group G] (A : Rep k G) :

        Alias of groupCohomology.oneCochainsIso.


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

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

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

          Equations
          Instances For
            @[deprecated groupCohomology.twoCochainsIso (since := "2025-05-09")]
            def groupCohomology.twoCochainsLequiv {k G : Type u} [CommRing k] [Group G] (A : Rep k G) :
            (inhomogeneousCochains A).X 2 ModuleCat.of k (G × GA.V)

            Alias of groupCohomology.twoCochainsIso.


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

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

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

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[deprecated groupCohomology.threeCochainsIso (since := "2025-05-09")]
                def groupCohomology.threeCochainsLequiv {k G : Type u} [CommRing k] [Group G] (A : Rep k G) :
                (inhomogeneousCochains A).X 3 ModuleCat.of k (G × G × GA.V)

                Alias of groupCohomology.threeCochainsIso.


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

                Equations
                Instances For
                  def groupCohomology.dZero {k G : Type u} [CommRing k] [Group G] (A : Rep k G) :
                  A.V ModuleCat.of k (GA.V)

                  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.

                  Equations
                  Instances For
                    @[simp]
                    theorem groupCohomology.dZero_hom_apply {k G : Type u} [CommRing k] [Group G] (A : Rep k G) (m : A.1) (g : G) :
                    (ModuleCat.Hom.hom (dZero A)) m g = (A.ρ g) m - m
                    @[simp]
                    theorem groupCohomology.dZero_eq_zero {k G : Type u} [CommRing k] [Group G] (A : Rep k G) [A.IsTrivial] :
                    dZero A = 0
                    def groupCohomology.dOne {k G : Type u} [CommRing k] [Group G] (A : Rep k G) :
                    ModuleCat.of k (GA.V) ModuleCat.of k (G × GA.V)

                    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₁).

                    Equations
                    Instances For
                      @[simp]
                      theorem groupCohomology.dOne_hom_apply {k G : Type u} [CommRing k] [Group G] (A : Rep k G) (f : GA.V) (g : G × G) :
                      (ModuleCat.Hom.hom (dOne A)) f g = (A.ρ g.1) (f g.2) - f (g.1 * g.2) + f g.1
                      def groupCohomology.dTwo {k G : Type u} [CommRing k] [Group G] (A : Rep k G) :
                      ModuleCat.of k (G × GA.V) ModuleCat.of k (G × G × GA.V)

                      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₂).

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        @[simp]
                        theorem groupCohomology.dTwo_hom_apply {k G : Type u} [CommRing k] [Group G] (A : Rep k G) (f : G × GA.V) (g : G × G × G) :
                        (ModuleCat.Hom.hom (dTwo 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 dZero gives a simpler expression for the 0th differential: that is, the following square commutes:

                          C⁰(G, A) ---d⁰---> C¹(G, A)
                          |                    |
                          |                    |
                          |                    |
                          v                    v
                          A ---- dZero ---> Fun(G, A)
                        

                        where the vertical arrows are zeroCochainsIso and oneCochainsIso respectively.

                        @[deprecated groupCohomology.comp_dZero_eq (since := "2025-05-09")]

                        Alias of groupCohomology.comp_dZero_eq.


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

                          C⁰(G, A) ---d⁰---> C¹(G, A)
                          |                    |
                          |                    |
                          |                    |
                          v                    v
                          A ---- dZero ---> Fun(G, A)
                        

                        where the vertical arrows are zeroCochainsIso and oneCochainsIso respectively.

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

                          C¹(G, A) ---d¹-----> C²(G, A)
                            |                      |
                            |                      |
                            |                      |
                            v                      v
                          Fun(G, A) -dOne-> Fun(G × G, A)
                        

                        where the vertical arrows are oneCochainsIso and twoCochainsIso respectively.

                        @[deprecated groupCohomology.comp_dOne_eq (since := "2025-05-09")]

                        Alias of groupCohomology.comp_dOne_eq.


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

                          C¹(G, A) ---d¹-----> C²(G, A)
                            |                      |
                            |                      |
                            |                      |
                            v                      v
                          Fun(G, A) -dOne-> Fun(G × G, A)
                        

                        where the vertical arrows are oneCochainsIso and twoCochainsIso respectively.

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

                              C²(G, A) -------d²-----> C³(G, A)
                                |                         |
                                |                         |
                                |                         |
                                v                         v
                          Fun(G × G, A) --dTwo--> Fun(G × G × G, A)
                        

                        where the vertical arrows are twoCochainsIso and threeCochainsIso respectively.

                        @[deprecated groupCohomology.comp_dTwo_eq (since := "2025-05-09")]

                        Alias of groupCohomology.comp_dTwo_eq.


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

                              C²(G, A) -------d²-----> C³(G, A)
                                |                         |
                                |                         |
                                |                         |
                                v                         v
                          Fun(G × G, A) --dTwo--> Fun(G × G × G, A)
                        

                        where the vertical arrows are twoCochainsIso and threeCochainsIso respectively.

                        @[deprecated groupCohomology.dZero_comp_dOne (since := "2025-05-14")]

                        Alias of groupCohomology.dZero_comp_dOne.

                        @[deprecated groupCohomology.dOne_comp_dTwo (since := "2025-05-14")]

                        Alias of groupCohomology.dOne_comp_dTwo.

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

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

                          The short complex A --dZero--> Fun(G, A) --dOne--> Fun(G × G, A).

                          Equations
                          Instances For

                            The short complex Fun(G, A) --dOne--> Fun(G × G, A) --dTwo--> Fun(G × G × G, A).

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              def groupCohomology.oneCocycles {k G : Type u} [CommRing k] [Group G] (A : Rep k G) :
                              Submodule k (GA.V)

                              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₁).

                              Equations
                              Instances For
                                def groupCohomology.twoCocycles {k G : Type u} [CommRing k] [Group G] (A : Rep k G) :
                                Submodule k (G × GA.V)

                                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₂).

                                Equations
                                Instances For
                                  @[simp]
                                  theorem groupCohomology.oneCocycles.coe_mk {k G : Type u} [CommRing k] [Group G] {A : Rep k G} (f : GA.V) (hf : f oneCocycles A) :
                                  f, hf = f
                                  @[simp]
                                  theorem groupCohomology.oneCocycles.val_eq_coe {k G : Type u} [CommRing k] [Group G] {A : Rep k G} (f : (oneCocycles A)) :
                                  f = f
                                  theorem groupCohomology.oneCocycles_ext {k G : Type u} [CommRing k] [Group G] {A : Rep k G} {f₁ f₂ : (oneCocycles A)} (h : ∀ (g : G), f₁ g = f₂ g) :
                                  f₁ = f₂
                                  theorem groupCohomology.oneCocycles_ext_iff {k G : Type u} [CommRing k] [Group G] {A : Rep k G} {f₁ f₂ : (oneCocycles A)} :
                                  f₁ = f₂ ∀ (g : G), f₁ g = f₂ g
                                  theorem groupCohomology.mem_oneCocycles_def {k G : Type u} [CommRing k] [Group G] {A : Rep k G} (f : GA.V) :
                                  f oneCocycles A ∀ (g h : G), (A.ρ g) (f h) - f (g * h) + f g = 0
                                  theorem groupCohomology.mem_oneCocycles_iff {k G : Type u} [CommRing k] [Group G] {A : Rep k G} (f : GA.V) :
                                  f oneCocycles A ∀ (g h : G), f (g * h) = (A.ρ g) (f h) + f g
                                  @[simp]
                                  theorem groupCohomology.oneCocycles_map_one {k G : Type u} [CommRing k] [Group G] {A : Rep k G} (f : (oneCocycles A)) :
                                  f 1 = 0
                                  @[simp]
                                  theorem groupCohomology.oneCocycles_map_inv {k G : Type u} [CommRing k] [Group G] {A : Rep k G} (f : (oneCocycles A)) (g : G) :
                                  (A.ρ g) (f g⁻¹) = -f g
                                  theorem groupCohomology.oneCocycles_map_mul_of_isTrivial {k G : Type u} [CommRing k] [Group G] {A : Rep k G} [A.IsTrivial] (f : (oneCocycles 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.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    @[simp]
                                    theorem groupCohomology.oneCocyclesIsoOfIsTrivial_inv_hom_apply_coe {k G : Type u} [CommRing k] [Group G] (A : Rep k G) [hA : A.IsTrivial] (a : Additive G →+ A.V) (a✝ : Additive G) :
                                    @[deprecated groupCohomology.oneCocyclesIsoOfIsTrivial (since := "2025-05-09")]

                                    Alias of groupCohomology.oneCocyclesIsoOfIsTrivial.


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

                                    Equations
                                    Instances For
                                      @[simp]
                                      theorem groupCohomology.twoCocycles.coe_mk {k G : Type u} [CommRing k] [Group G] {A : Rep k G} (f : G × GA.V) (hf : f twoCocycles A) :
                                      f, hf = f
                                      @[simp]
                                      theorem groupCohomology.twoCocycles.val_eq_coe {k G : Type u} [CommRing k] [Group G] {A : Rep k G} (f : (twoCocycles A)) :
                                      f = f
                                      theorem groupCohomology.twoCocycles_ext {k G : Type u} [CommRing k] [Group G] {A : Rep k G} {f₁ f₂ : (twoCocycles A)} (h : ∀ (g h : G), f₁ (g, h) = f₂ (g, h)) :
                                      f₁ = f₂
                                      theorem groupCohomology.twoCocycles_ext_iff {k G : Type u} [CommRing k] [Group G] {A : Rep k G} {f₁ f₂ : (twoCocycles A)} :
                                      f₁ = f₂ ∀ (g h : G), f₁ (g, h) = f₂ (g, h)
                                      theorem groupCohomology.mem_twoCocycles_def {k G : Type u} [CommRing k] [Group G] {A : Rep k G} (f : G × GA.V) :
                                      f twoCocycles 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_twoCocycles_iff {k G : Type u} [CommRing k] [Group G] {A : Rep k G} (f : G × GA.V) :
                                      f twoCocycles A ∀ (g h j : G), f (g * h, j) + f (g, h) = (A.ρ g) (f (h, j)) + f (g, h * j)
                                      theorem groupCohomology.twoCocycles_map_one_fst {k G : Type u} [CommRing k] [Group G] {A : Rep k G} (f : (twoCocycles A)) (g : G) :
                                      f (1, g) = f (1, 1)
                                      theorem groupCohomology.twoCocycles_map_one_snd {k G : Type u} [CommRing k] [Group G] {A : Rep k G} (f : (twoCocycles A)) (g : G) :
                                      f (g, 1) = (A.ρ g) (f (1, 1))
                                      theorem groupCohomology.twoCocycles_ρ_map_inv_sub_map_inv {k G : Type u} [CommRing k] [Group G] {A : Rep k G} (f : (twoCocycles A)) (g : G) :
                                      (A.ρ g) (f (g⁻¹, g)) - f (g, g⁻¹) = f (1, 1) - f (g, 1)
                                      def groupCohomology.oneCoboundaries {k G : Type u} [CommRing k] [Group G] (A : Rep k G) :
                                      Submodule k (GA.V)

                                      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.

                                      Equations
                                      Instances For
                                        def groupCohomology.twoCoboundaries {k G : Type u} [CommRing k] [Group G] (A : Rep k G) :
                                        Submodule k (G × GA.V)

                                        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₁).

                                        Equations
                                        Instances For
                                          @[simp]
                                          theorem groupCohomology.oneCoboundaries.coe_mk {k G : Type u} [CommRing k] [Group G] {A : Rep k G} (f : GA.V) (hf : f oneCoboundaries A) :
                                          f, hf = f
                                          @[simp]
                                          theorem groupCohomology.oneCoboundaries.val_eq_coe {k G : Type u} [CommRing k] [Group G] {A : Rep k G} (f : (oneCoboundaries A)) :
                                          f = f
                                          theorem groupCohomology.oneCoboundaries_ext {k G : Type u} [CommRing k] [Group G] {A : Rep k G} {f₁ f₂ : (oneCoboundaries A)} (h : ∀ (g : G), f₁ g = f₂ g) :
                                          f₁ = f₂
                                          theorem groupCohomology.oneCoboundaries_ext_iff {k G : Type u} [CommRing k] [Group G] {A : Rep k G} {f₁ f₂ : (oneCoboundaries A)} :
                                          f₁ = f₂ ∀ (g : G), f₁ g = f₂ g
                                          @[reducible, inline]

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

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

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

                                            Equations
                                            Instances For
                                              @[simp]
                                              def groupCohomology.IsOneCocycle {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.

                                              Equations
                                              Instances For
                                                def groupCohomology.IsTwoCocycle {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.

                                                Equations
                                                Instances For
                                                  theorem groupCohomology.map_one_of_isOneCocycle {G : Type u_1} {A : Type u_2} [Monoid G] [AddCommGroup A] [MulAction G A] {f : GA} (hf : IsOneCocycle f) :
                                                  f 1 = 0
                                                  theorem groupCohomology.map_one_fst_of_isTwoCocycle {G : Type u_1} {A : Type u_2} [Monoid G] [AddCommGroup A] [MulAction G A] {f : G × GA} (hf : IsTwoCocycle f) (g : G) :
                                                  f (1, g) = f (1, 1)
                                                  theorem groupCohomology.map_one_snd_of_isTwoCocycle {G : Type u_1} {A : Type u_2} [Monoid G] [AddCommGroup A] [MulAction G A] {f : G × GA} (hf : IsTwoCocycle f) (g : G) :
                                                  f (g, 1) = g f (1, 1)
                                                  theorem groupCohomology.map_inv_of_isOneCocycle {G : Type u_1} {A : Type u_2} [Group G] [AddCommGroup A] [MulAction G A] {f : GA} (hf : IsOneCocycle f) (g : G) :
                                                  g f g⁻¹ = -f g
                                                  theorem groupCohomology.smul_map_inv_sub_map_inv_of_isTwoCocycle {G : Type u_1} {A : Type u_2} [Group G] [AddCommGroup A] [MulAction G A] {f : G × GA} (hf : IsTwoCocycle f) (g : G) :
                                                  g f (g⁻¹, g) - f (g, g⁻¹) = f (1, 1) - f (g, 1)
                                                  def groupCohomology.IsOneCoboundary {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.

                                                  Equations
                                                  Instances For
                                                    def groupCohomology.IsTwoCoboundary {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.

                                                    Equations
                                                    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.

                                                      Equations
                                                      Instances For
                                                        @[simp]
                                                        theorem groupCohomology.oneCocyclesOfIsOneCocycle_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 : IsOneCocycle f) (a✝ : G) :
                                                        (oneCocyclesOfIsOneCocycle 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.

                                                        Equations
                                                        Instances For
                                                          @[simp]
                                                          theorem groupCohomology.oneCoboundariesOfIsOneCoboundary_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 : IsOneCoboundary f) (a✝ : G) :

                                                          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.

                                                          Equations
                                                          Instances For
                                                            @[simp]
                                                            theorem groupCohomology.twoCocyclesOfIsTwoCocycle_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 : IsTwoCocycle f) (a✝ : G × G) :
                                                            (twoCocyclesOfIsTwoCocycle 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.

                                                            Equations
                                                            Instances For
                                                              @[simp]
                                                              theorem groupCohomology.twoCoboundariesOfIsTwoCoboundary_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 : IsTwoCoboundary f) (a✝ : G × G) :

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

                                                              def groupCohomology.IsMulOneCocycle {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.

                                                              Equations
                                                              Instances For
                                                                def groupCohomology.IsMulTwoCocycle {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.

                                                                Equations
                                                                Instances For
                                                                  theorem groupCohomology.map_one_of_isMulOneCocycle {G : Type u_1} {M : Type u_2} [Monoid G] [CommGroup M] [MulAction G M] {f : GM} (hf : IsMulOneCocycle f) :
                                                                  f 1 = 1
                                                                  theorem groupCohomology.map_one_fst_of_isMulTwoCocycle {G : Type u_1} {M : Type u_2} [Monoid G] [CommGroup M] [MulAction G M] {f : G × GM} (hf : IsMulTwoCocycle f) (g : G) :
                                                                  f (1, g) = f (1, 1)
                                                                  theorem groupCohomology.map_one_snd_of_isMulTwoCocycle {G : Type u_1} {M : Type u_2} [Monoid G] [CommGroup M] [MulAction G M] {f : G × GM} (hf : IsMulTwoCocycle f) (g : G) :
                                                                  f (g, 1) = g f (1, 1)
                                                                  theorem groupCohomology.map_inv_of_isMulOneCocycle {G : Type u_1} {M : Type u_2} [Group G] [CommGroup M] [MulAction G M] {f : GM} (hf : IsMulOneCocycle f) (g : G) :
                                                                  g f g⁻¹ = (f g)⁻¹
                                                                  theorem groupCohomology.smul_map_inv_div_map_inv_of_isMulTwoCocycle {G : Type u_1} {M : Type u_2} [Group G] [CommGroup M] [MulAction G M] {f : G × GM} (hf : IsMulTwoCocycle f) (g : G) :
                                                                  g f (g⁻¹, g) / f (g, g⁻¹) = f (1, 1) / f (g, 1)
                                                                  def groupCohomology.IsMulOneCoboundary {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.

                                                                  Equations
                                                                  Instances For
                                                                    def groupCohomology.IsMulTwoCoboundary {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.

                                                                    Equations
                                                                    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.

                                                                      Equations
                                                                      Instances For
                                                                        @[simp]
                                                                        theorem groupCohomology.oneCocyclesOfIsMulOneCocycle_coe {G M : Type} [Group G] [CommGroup M] [MulDistribMulAction G M] {f : GM} (hf : IsMulOneCocycle f) (a✝ : G) :

                                                                        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.

                                                                        Equations
                                                                        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.

                                                                          Equations
                                                                          Instances For
                                                                            @[simp]
                                                                            theorem groupCohomology.twoCocyclesOfIsMulTwoCocycle_coe {G M : Type} [Group G] [CommGroup M] [MulDistribMulAction G M] {f : G × GM} (hf : IsMulTwoCocycle f) (a✝ : G × G) :

                                                                            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.

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

                                                                              We define the 0th group cohomology of a k-linear G-representation A, H⁰(G, A), to be the invariants of the representation, Aᴳ.

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

                                                                                We define the 1st group cohomology of a k-linear G-representation A, H¹(G, A), to be 1-cocycles (i.e. Z¹(G, A) := Ker(d¹ : Fun(G, A) → Fun(G², A)) modulo 1-coboundaries (i.e. B¹(G, A) := Im(d⁰: A → Fun(G, A))).

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

                                                                                  The quotient map Z¹(G, A) → H¹(G, A).

                                                                                  Equations
                                                                                  Instances For
                                                                                    theorem groupCohomology.H1_induction_on {k G : Type u} [CommRing k] [Group G] (A : Rep k G) {C : (H1 A)Prop} (h : ∀ (x : (oneCocycles A)), C (Submodule.Quotient.mk x)) (x : (H1 A)) :
                                                                                    C x
                                                                                    @[reducible, inline]
                                                                                    abbrev groupCohomology.H2 {k G : Type u} [CommRing k] [Group G] (A : Rep k G) :

                                                                                    We define the 2nd group cohomology of a k-linear G-representation A, H²(G, A), to be 2-cocycles (i.e. Z²(G, A) := Ker(d² : Fun(G², A) → Fun(G³, A)) modulo 2-coboundaries (i.e. B²(G, A) := Im(d¹: Fun(G, A) → Fun(G², A))).

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

                                                                                      The quotient map Z²(G, A) → H²(G, A).

                                                                                      Equations
                                                                                      Instances For
                                                                                        theorem groupCohomology.H2_induction_on {k G : Type u} [CommRing k] [Group G] (A : Rep k G) {C : (H2 A)Prop} (h : ∀ (x : (twoCocycles A)), C (Submodule.Quotient.mk x)) (x : (H2 A)) :
                                                                                        C x
                                                                                        def groupCohomology.H0IsoOfIsTrivial {k G : Type u} [CommRing k] [Group G] (A : Rep k G) [A.IsTrivial] :
                                                                                        H0 A A.V

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

                                                                                        Equations
                                                                                        Instances For
                                                                                          @[deprecated groupCohomology.H0IsoOfIsTrivial (since := "2025-05-09")]
                                                                                          def groupCohomology.H0LequivOfIsTrivial {k G : Type u} [CommRing k] [Group G] (A : Rep k G) [A.IsTrivial] :
                                                                                          H0 A A.V

                                                                                          Alias of groupCohomology.H0IsoOfIsTrivial.


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

                                                                                          Equations
                                                                                          Instances For
                                                                                            @[deprecated groupCohomology.H0IsoOfIsTrivial_hom_hom (since := "2025-05-09")]

                                                                                            Alias of groupCohomology.H0IsoOfIsTrivial_hom_hom.

                                                                                            @[deprecated groupCohomology.H0IsoOfIsTrivial_hom_apply (since := "2025-05-09")]

                                                                                            Alias of groupCohomology.H0IsoOfIsTrivial_hom_apply.

                                                                                            @[deprecated groupCohomology.H0IsoOfIsTrivial_inv_apply (since := "2025-05-09")]

                                                                                            Alias of groupCohomology.H0IsoOfIsTrivial_inv_apply.

                                                                                            def groupCohomology.H1IsoOfIsTrivial {k G : Type u} [CommRing k] [Group G] (A : Rep 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.

                                                                                            Equations
                                                                                            Instances For
                                                                                              @[deprecated groupCohomology.H1IsoOfIsTrivial (since := "2025-05-09")]

                                                                                              Alias of groupCohomology.H1IsoOfIsTrivial.


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

                                                                                              Equations
                                                                                              Instances For
                                                                                                @[deprecated groupCohomology.H1π_comp_H1IsoOfIsTrivial_hom (since := "2025-05-09")]

                                                                                                Alias of groupCohomology.H1π_comp_H1IsoOfIsTrivial_hom.

                                                                                                @[deprecated groupCohomology.H1IsoOfIsTrivial_H1π_apply_apply (since := "2025-05-09")]

                                                                                                Alias of groupCohomology.H1IsoOfIsTrivial_H1π_apply_apply.

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

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

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

                                                                                                  Equations
                                                                                                  • One or more equations did not get rendered due to their size.
                                                                                                  Instances For
                                                                                                    def groupCohomology.isoH0 {k G : Type u} [CommRing k] [Group G] (A : Rep 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.

                                                                                                    Equations
                                                                                                    Instances For

                                                                                                      The short complex A --dZero--> Fun(G, A) --dOne--> Fun(G × G, A) is isomorphic to the 1st short complex associated to the complex of inhomogeneous cochains of A.

                                                                                                      Equations
                                                                                                      Instances For
                                                                                                        @[simp]
                                                                                                        theorem groupCohomology.shortComplexH1Iso_hom {k G : Type u} [CommRing k] [Group G] (A : Rep k G) :
                                                                                                        (shortComplexH1Iso A).hom = { τ₁ := (zeroCochainsIso A).hom, τ₂ := (oneCochainsIso A).hom, τ₃ := (twoCochainsIso A).hom, comm₁₂ := , comm₂₃ := }

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

                                                                                                        Equations
                                                                                                        • One or more equations did not get rendered due to their size.
                                                                                                        Instances For
                                                                                                          def groupCohomology.isoH1 {k G : Type u} [CommRing k] [Group G] (A : Rep k G) :

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

                                                                                                          Equations
                                                                                                          • One or more equations did not get rendered due to their size.
                                                                                                          Instances For

                                                                                                            The short complex Fun(G, A) --dOne--> 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.

                                                                                                            Equations
                                                                                                            Instances For
                                                                                                              @[simp]
                                                                                                              theorem groupCohomology.shortComplexH2Iso_hom {k G : Type u} [CommRing k] [Group G] (A : Rep k G) :
                                                                                                              (shortComplexH2Iso A).hom = { τ₁ := (oneCochainsIso A).hom, τ₂ := (twoCochainsIso A).hom, τ₃ := (threeCochainsIso A).hom, comm₁₂ := , comm₂₃ := }

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

                                                                                                              Equations
                                                                                                              • One or more equations did not get rendered due to their size.
                                                                                                              Instances For
                                                                                                                def groupCohomology.isoH2 {k G : Type u} [CommRing k] [Group G] (A : Rep k G) :

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

                                                                                                                Equations
                                                                                                                • One or more equations did not get rendered due to their size.
                                                                                                                Instances For