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 #
groupCohomology.H0Iso A: isomorphism betweenH⁰(G, A)and the invariantsAᴳof theG-representation onA.groupCohomology.H1π A: epimorphism from the 1-cocycles (i.e.Z¹(G, A) := Ker(d¹ : Fun(G, A) → Fun(G², A)) toH¹(G, A).groupCohomology.H2π A: epimorphism from the 2-cocycles (i.e.Z²(G, A) := Ker(d² : Fun(G², A) → Fun(G³, A)) toH²(G, A).groupCohomology.H1IsoOfIsTrivial: the isomorphismH¹(G, A) ≅ Hom(G, A)when the representation onAis trivial.
TODO #
- The relationship between
H2and group extensions - Nonabelian group cohomology
The 0th object in the complex of inhomogeneous cochains of A : Rep k G is isomorphic
to A as a k-module.
Equations
- groupCohomology.cochainsIso₀ A = (LinearEquiv.funUnique (Fin 0 → G) k ↑A.V).toModuleIso
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.
Equations
- groupCohomology.cochainsIso₁ A = (LinearEquiv.funCongrLeft k (↑A.V) (Equiv.funUnique (Fin 1) G)).toModuleIso.symm
Instances For
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
- groupCohomology.cochainsIso₂ A = (LinearEquiv.funCongrLeft k (↑A.V) (piFinTwoEquiv fun (x : Fin 2) => G)).toModuleIso.symm
Instances For
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
- groupCohomology.d₀₁ A = ModuleCat.ofHom { toFun := fun (m : ↑A.1) (g : G) => (A.ρ g) m - m, map_add' := ⋯, map_smul' := ⋯ }
Instances For
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
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).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The short complex A --d₀₁--> Fun(G, A) --d₁₂--> Fun(G × G, A).
Equations
- groupCohomology.shortComplexH1 A = { X₁ := A.V, X₂ := ModuleCat.of k (G → ↑A.V), X₃ := ModuleCat.of k (G × G → ↑A.V), f := groupCohomology.d₀₁ A, g := groupCohomology.d₁₂ A, zero := ⋯ }
Instances For
The short complex Fun(G, A) --d₁₂--> Fun(G × G, A) --d₂₃--> Fun(G × G × G, A).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- groupCohomology.instFunLikeSubtypeForallCarrierVModuleCatMemSubmoduleCocycles₁ = { coe := Subtype.val, coe_injective' := ⋯ }
Equations
- groupCohomology.instFunLikeSubtypeForallProdCarrierVModuleCatMemSubmoduleCocycles₂ = { coe := Subtype.val, coe_injective' := ⋯ }
Equations
- groupCohomology.instFunLikeSubtypeForallCarrierVModuleCatMemSubmoduleCoboundaries₁ = { coe := Subtype.val, coe_injective' := ⋯ }
Natural inclusion B¹(G, A) →ₗ[k] Z¹(G, A).
Equations
Instances For
Equations
- groupCohomology.instFunLikeSubtypeForallProdCarrierVModuleCatMemSubmoduleCoboundaries₂ = { coe := Subtype.val, coe_injective' := ⋯ }
Natural inclusion B²(G, A) →ₗ[k] Z²(G, A).
Equations
Instances For
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
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
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
- groupCohomology.IsCoboundary₁ f = ∃ (x : A), ∀ (g : G), g • x - x = f g
Instances For
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
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
Alias of groupCohomology.isCoboundary₁_of_mem_coboundaries₁.
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
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
Alias of groupCohomology.isCoboundary₂_of_mem_coboundaries₂.
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.
Alias of groupCohomology.smul_map_inv_div_map_inv_of_isMulCocycle₂.
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
- groupCohomology.IsMulCoboundary₁ f = ∃ (x : M), ∀ (g : G), g • x / x = f 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.
Equations
Instances For
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
Alias of groupCohomology.isMulCoboundary₁_of_mem_coboundaries₁.
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
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
Alias of groupCohomology.isMulCoboundary₂_of_mem_coboundaries₂.
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.
Equations
Instances For
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
Alias of groupCohomology.cocyclesIso₀.
The 0-cocycles of the complex of inhomogeneous cochains of A are isomorphic to
A.ρ.invariants, which is a simpler type.
Instances For
Alias of groupCohomology.cocyclesIso₀_hom_comp_f.
Alias of groupCohomology.cocyclesMk₀_eq.
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.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Alias of groupCohomology.isoShortComplexH1.
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
Alias of groupCohomology.cocyclesMk₁_eq.
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.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Alias of groupCohomology.isoShortComplexH2.
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
Alias of groupCohomology.cocyclesMk₂_eq.
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.
Equations
Instances For
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
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.
Equations
Instances For
The quotient map from the 1-cocycles of A, as a submodule of G → A, to H¹(G, A).
Equations
Instances For
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.
Equations
- One or more equations did not get rendered due to their size.
Instances For
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.
Equations
Instances For
The quotient map from the 2-cocycles of A, as a submodule of G × G → A, to H²(G, A).
Equations
Instances For
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.
Equations
- One or more equations did not get rendered due to their size.