Documentation

Mathlib.RepresentationTheory.GroupCohomology.Basic

The group cohomology of a k-linear G-representation #

Let k be a commutative ring and G a group. This file defines the group cohomology of A : Rep k G to be the cohomology of the complex $$0 \to \mathrm{Fun}(G^0, A) \to \mathrm{Fun}(G^1, A) \to \mathrm{Fun}(G^2, A) \to \dots$$ with differential $d^n$ sending $f: G^n \to A$ to the function mapping $(g_0, \dots, g_n)$ to $$\rho(g_0)(f(g_1, \dots, g_n))

We have a k-linear isomorphism $\mathrm{Fun}(G^n, A) \cong \mathrm{Hom}(k[G^{n + 1}], A)$, where the righthand side is morphisms in Rep k G, and the representation on $k[G^{n + 1}]$ is induced by the diagonal action of G. If we conjugate the $n$th differential in $\mathrm{Hom}(P, A)$ by this isomorphism, where P is the standard resolution of k as a trivial k-linear G-representation, then the resulting map agrees with the differential $d^n$ defined above, a fact we prove.

This gives us for free a proof that our $d^n$ squares to zero. It also gives us an isomorphism $\mathrm{H}^n(G, A) \cong \mathrm{Ext}^n(k, A),$ where $\mathrm{Ext}$ is taken in the category Rep k G.

Main definitions #

Implementation notes #

Group cohomology is typically stated for G-modules, or equivalently modules over the group ring ℤ[G]. However, can be generalized to any commutative ring k, which is what we use. Moreover, we express k[G]-module structures on a module k-module A using the Rep definition. We avoid using instances Module (MonoidAlgebra k G) A so that we do not run into possible scalar action diamonds.

TODO #

Longer term:

@[inline, reducible]

The complex Hom(P, A), where P is the standard resolution of k as a trivial k-linear G-representation.

Instances For
    @[simp]
    theorem InhomogeneousCochains.d_apply {k : Type u} {G : Type u} [CommRing k] [Monoid G] (n : ) (A : Rep k G) (f : (Fin nG) → CoeSort.coe A) (g : Fin (n + 1)G) :
    ↑(InhomogeneousCochains.d n A) f g = ↑(↑(Rep.ρ A) (g 0)) (f fun i => g (Fin.succ i)) + Finset.sum Finset.univ fun j => (-1) ^ (j + 1) f (Fin.contractNth j (fun x x_1 => x * x_1) g)
    def InhomogeneousCochains.d {k : Type u} {G : Type u} [CommRing k] [Monoid G] (n : ) (A : Rep k G) :
    ((Fin nG) → CoeSort.coe A) →ₗ[k] (Fin (n + 1)G) → CoeSort.coe A

    The differential in the complex of inhomogeneous cochains used to calculate group cohomology.

    Instances For

      The theorem that our isomorphism Fun(Gⁿ, A) ≅ Hom(k[Gⁿ⁺¹], A) (where the righthand side is morphisms in Rep k G) commutes with the differentials in the complex of inhomogeneous cochains and the homogeneous linearYonedaObjResolution.

      @[inline, reducible]
      noncomputable abbrev GroupCohomology.inhomogeneousCochains {k : Type u} {G : Type u} [CommRing k] [Group G] (A : Rep k G) :

      Given a k-linear G-representation A, this is the complex of inhomogeneous cochains $$0 \to \mathrm{Fun}(G^0, A) \to \mathrm{Fun}(G^1, A) \to \mathrm{Fun}(G^2, A) \to \dots$$ which calculates the group cohomology of A.

      Instances For

        Given a k-linear G-representation A, the complex of inhomogeneous cochains is isomorphic to Hom(P, A), where P is the standard resolution of k as a trivial G-representation.

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

          The group cohomology of a k-linear G-representation A, as the cohomology of its complex of inhomogeneous cochains.

          Instances For
            def groupCohomologyIsoExt {k : Type u} {G : Type u} [CommRing k] [Group G] (A : Rep k G) (n : ) :
            groupCohomology A n ((Ext k (Rep k G) n).obj (Opposite.op (Rep.trivial k G k))).obj A

            The nth group cohomology of a k-linear G-representation A is isomorphic to Extⁿ(k, A) (taken in Rep k G), where k is a trivial k-linear G-representation.

            Instances For