Leibniz rule for the cup product of inhomogeneous cochains
ProvedgroupCohomology.d_cochainCup_applyLet be a commutative ring, a group, and two -linear representations of (objects of Rep k G), all in a single universe. Fix natural numbers , an -valued inhomogeneous -cochain , a -valued inhomogeneous -cochain , and a tuple . Here is the -bilinear map sending to the -valued -cochain whose value at is , the first argument being the initial entries of , the second the final entries, and the twisting element being Fin.partialProd of the initial segment evaluated at Fin.last p. The assertion is the pointwise identity, at the given , between the value of Mathlib's inhomogeneous differential on and the sum of two terms: the cochain on , evaluated at precomposed with the reindexing Fin.cast coming from , plus times the value at of , a cochain on .
This is the Leibniz rule for the cup product on inhomogeneous cochains, stated pointwise at a tuple of group elements; the explicit Fin.cast records that is not a definitional identity in Lean, whereas is. It is the computational input for all cohomology-level properties of the cup product in this development, including the existence of a graded cup product, its compatibility with connecting homomorphisms, and the Tate-cohomology extension.
import Mathlib import Definitions.Def_GroupCohomology_CochainCup set_option maxHeartbeats 4000000 set_option synthInstance.maxHeartbeats 400000 set_option backward.isDefEq.respectTransparency.types false set_option autoImplicit false universe u open CategoryTheory MonoidalCategory groupCohomology
theorem groupCohomology.d_cochainCup_apply {k G : Type u} [CommRing k] [Group G] (A B : Rep.{u} k G) (p q : ℕ)
(f : (Fin p → G) → A) (g : (Fin q → G) → B) (σ : Fin (p + q + 1) → G) :
(inhomogeneousCochains.d (A ⊗ B) (p + q)).hom (groupCohomology.cochainCup A B p q f g) σ
= groupCohomology.cochainCup A B (p + 1) q ((inhomogeneousCochains.d A p).hom f) g
(fun i => σ (Fin.cast (Nat.add_right_comm p 1 q) i))
+ ((-1 : k) ^ p) • groupCohomology.cochainCup A B p (q + 1) f ((inhomogeneousCochains.d B q).hom g) σ := by sorry