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 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 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/Homological/GroupCohomology/Basic.lean, groupCohomology.cocycles A n, and
the nCocycles 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.zeroCochainsIso A = (LinearEquiv.funUnique (Fin 0 → G) k ↑A.V).toModuleIso
Instances For
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.
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.oneCochainsIso A = (LinearEquiv.funCongrLeft k (↑A.V) (Equiv.funUnique (Fin 1) G)).toModuleIso.symm
Instances For
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.
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.twoCochainsIso A = (LinearEquiv.funCongrLeft k (↑A.V) (piFinTwoEquiv fun (x : Fin 2) => G)).toModuleIso.symm
Instances For
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.
Instances For
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
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.
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.dZero 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 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.
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.
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.
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.
Alias of groupCohomology.dZero_comp_dOne.
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
- groupCohomology.shortComplexH1 A = { X₁ := A.V, X₂ := ModuleCat.of k (G → ↑A.V), X₃ := ModuleCat.of k (G × G → ↑A.V), f := groupCohomology.dZero A, g := groupCohomology.dOne A, zero := ⋯ }
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
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
Equations
- groupCohomology.instFunLikeSubtypeForallCarrierVModuleCatMemSubmoduleOneCocycles = { coe := Subtype.val, coe_injective' := ⋯ }
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.
Instances For
Equations
- groupCohomology.instFunLikeSubtypeForallProdCarrierVModuleCatMemSubmoduleTwoCocycles = { coe := Subtype.val, coe_injective' := ⋯ }
Equations
- groupCohomology.instFunLikeSubtypeForallCarrierVModuleCatMemSubmoduleOneCoboundaries = { coe := Subtype.val, coe_injective' := ⋯ }
Natural inclusion B¹(G, A) →ₗ[k] Z¹(G, A).
Instances For
Equations
- groupCohomology.instFunLikeSubtypeForallProdCarrierVModuleCatMemSubmoduleTwoCoboundaries = { coe := Subtype.val, coe_injective' := ⋯ }
Natural inclusion B²(G, A) →ₗ[k] Z²(G, A).
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.IsOneCoboundary 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
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
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.
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.IsMulOneCoboundary 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
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
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
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.zeroCocyclesIso.
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.zeroCocyclesIso_inv_comp_iCocycles.
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
- One or more equations did not get rendered due to their size.
Instances For
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
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
- One or more equations did not get rendered due to their size.
Instances For
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
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
Alias of groupCohomology.H0Iso.
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
Alias of groupCohomology.π_comp_H0Iso_hom.
When the representation on A is trivial, then H⁰(G, A) is all of A.
Equations
Instances For
Alias of groupCohomology.H0IsoOfIsTrivial.
When the representation on A is trivial, then H⁰(G, A) is all of A.
Instances For
Alias of groupCohomology.H0IsoOfIsTrivial_hom.
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 oneCocycles A ⧸ oneCoboundaries A, which is a simpler type.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Alias of groupCohomology.H1Iso.
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
Instances For
Alias of groupCohomology.π_comp_H1Iso_hom.
When A : Rep k G is a trivial representation of G, H¹(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
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.
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 twoCocycles A ⧸ twoCoboundaries A, which is a simpler type.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Alias of groupCohomology.H2Iso.
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
Instances For
Alias of groupCohomology.π_comp_H2Iso_hom.