Module

FiniteCyclicBarPeriodicH2Comparison.lean

Nyll.GaloisCohomology.ProP.FiniteCyclicBarPeriodicH2Comparison
41 declarations indexed from sourceView source ↗

Canonical degree-two bar--periodic comparison for finite cyclic groups

This module identifies the normalized finite-cyclic carry cocycle in bar cohomology with the canonical even-degree class from the periodic resolution.

Declarations

ClassFieldTower.Cohomology.resolutionLinearYonedaMap

The contravariant cochain map induced by a map of projective resolutions.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
def resolutionLinearYonedaMap
    {X X' : Rep R G} {f : X ⟶ X'}
    (P : ProjectiveResolution X) (P' : ProjectiveResolution X')
    (phi : ProjectiveResolution.Hom P P' f) (A : Rep R G) :
    P'.complex.linearYonedaObj R A ⟶ P.complex.linearYonedaObj R A
ClassFieldTower.Cohomology.resolutionLinearYonedaMap_f
Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
omit [Fintype G] in
theorem resolutionLinearYonedaMap_f
    {X X' : Rep R G} {f : X ⟶ X'}
    (P : ProjectiveResolution X) (P' : ProjectiveResolution X')
    (phi : ProjectiveResolution.Hom P P' f) (A : Rep R G) (n : ℕ) :
    (resolutionLinearYonedaMap P P' phi A).f n =
      ModuleCat.ofHom (Linear.leftComp R A (phi.hom.f n))
ClassFieldTower.Cohomology.resolution_isoExt_hom_naturality
Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
omit [Fintype G] in
theorem resolution_isoExt_hom_naturality
    {X X' : Rep R G} {f : X ⟶ X'}
    (P : ProjectiveResolution X) (P' : ProjectiveResolution X')
    (phi : ProjectiveResolution.Hom P P' f) (A : Rep R G) (i : ℕ) :
    (((_root_.Ext R (Rep R G) i).map f.op).app A) ≫ (P.isoExt i A).hom =
      (P'.isoExt i A).hom ≫
        HomologicalComplex.homologyMap
          (resolutionLinearYonedaMap P P' phi A) i
ClassFieldTower.Cohomology.groupCohomologyIso_hom_naturality
Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
omit [Fintype G] in
theorem groupCohomologyIso_hom_naturality
    (P P' : ProjectiveResolution (Rep.trivial R G R))
    (phi : ProjectiveResolution.Hom P P' (𝟙 _))
    (A : Rep R G) (i : ℕ) :
    (groupCohomologyIso A i P).hom =
      (groupCohomologyIso A i P').hom ≫
        HomologicalComplex.homologyMap
          (resolutionLinearYonedaMap P P' phi A) i
ClassFieldTower.Cohomology.cyclicPeriodicH2HomologyOwnerIso

The identity bridge between the homological-complex and short-complex owners of homology.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
def cyclicPeriodicH2HomologyOwnerIso
    (A : Rep R G) (g : G) :
    (Rep.FiniteCyclicGroup.moduleCatCochainComplex A g).homology 2 ≅
      ((Rep.FiniteCyclicGroup.moduleCatCochainComplex A g).sc 2).homology
ClassFieldTower.Cohomology.cyclicPeriodicH2HomologyOwnerIso_hom
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem cyclicPeriodicH2HomologyOwnerIso_hom
    (A : Rep R G) (g : G) :
    (cyclicPeriodicH2HomologyOwnerIso A g).hom =
      𝟙 ((Rep.FiniteCyclicGroup.moduleCatCochainComplex A g).homology 2)
ClassFieldTower.Cohomology.cyclicPeriodicH2HomologyOwnerIso_eq_refl
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem cyclicPeriodicH2HomologyOwnerIso_eq_refl
    (A : Rep R G) (g : G) :
    cyclicPeriodicH2HomologyOwnerIso A g =
      Iso.refl
        ((Rep.FiniteCyclicGroup.moduleCatCochainComplex A g).homology 2)
ClassFieldTower.Cohomology.cyclicPeriodicH2ScIso

The short-complex isomorphism underlying cyclicPeriodicH2Iso.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
def cyclicPeriodicH2ScIso (A : Rep R G) (g : G) :
    (Rep.FiniteCyclicGroup.moduleCatCochainComplex A g).sc 2 ≅
      Rep.FiniteCyclicGroup.normHomCompSub A g
ClassFieldTower.Cohomology.cyclicPeriodicH2Iso

The periodic degree-two homology model occurring in groupCohomologyIsoEven.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
def cyclicPeriodicH2Iso
    (A : Rep R G) (g : G) (hg : ∀ x, x ∈ Subgroup.zpowers g) :
    ((Rep.FiniteCyclicGroup.resolution R g hg).complex.linearYonedaObj R A).homology 2 ≅
      (Rep.FiniteCyclicGroup.normHomCompSub A g).homology
ClassFieldTower.Cohomology.cyclicPeriodicH2ScIso_inv_τ₂
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem cyclicPeriodicH2ScIso_inv_τ₂ (A : Rep R G) (g : G) :
    (cyclicPeriodicH2ScIso A g).inv.τ₂ = 𝟙 _
ClassFieldTower.Cohomology.cyclicPeriodicH2Iso_eq
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem cyclicPeriodicH2Iso_eq
    (A : Rep R G) (g : G) (hg : ∀ x, x ∈ Subgroup.zpowers g) :
    cyclicPeriodicH2Iso A g hg =
      HomologicalComplex.homologyMapIso
          (Rep.FiniteCyclicGroup.homResolutionIso A g hg) 2 ≪≫
        ShortComplex.homologyMapIso (cyclicPeriodicH2ScIso A g)
ClassFieldTower.Cohomology.cyclicPeriodicH2KernelIso
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
def cyclicPeriodicH2KernelIso
    (A : Rep R G) (g : G) :
    ModuleCat.of R
        (LinearMap.ker (Rep.applyAsHom A g - 𝟙 A).hom.toLinearMap) ≅
      (Rep.FiniteCyclicGroup.normHomCompSub A g).moduleCatLeftHomologyData.K
ClassFieldTower.Cohomology.cyclicPeriodicH2KernelIso_hom
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem cyclicPeriodicH2KernelIso_hom
    (A : Rep R G) (g : G) :
    (cyclicPeriodicH2KernelIso A g).hom =
      𝟙 (ModuleCat.of R
        (LinearMap.ker (Rep.applyAsHom A g - 𝟙 A).hom.toLinearMap))
ClassFieldTower.Cohomology.cyclicPeriodicH2CyclesOwnerIso

The identity bridge between the short-complex and homological-complex owners of cycles.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
def cyclicPeriodicH2CyclesOwnerIso
    (A : Rep R G) (g : G) :
    ((Rep.FiniteCyclicGroup.moduleCatCochainComplex A g).sc 2).cycles ≅
      (Rep.FiniteCyclicGroup.moduleCatCochainComplex A g).cycles 2
ClassFieldTower.Cohomology.cyclicPeriodicH2CyclesOwnerIso_hom
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem cyclicPeriodicH2CyclesOwnerIso_hom
    (A : Rep R G) (g : G) :
    (cyclicPeriodicH2CyclesOwnerIso A g).hom =
      𝟙 ((Rep.FiniteCyclicGroup.moduleCatCochainComplex A g).cycles 2)
ClassFieldTower.Cohomology.cyclicPeriodicH2DegreeOwnerIso

The identity bridge from the middle object of the short complex to degree two.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
def cyclicPeriodicH2DegreeOwnerIso
    (A : Rep R G) (g : G) :
    ((Rep.FiniteCyclicGroup.moduleCatCochainComplex A g).sc 2).X₂ ≅
      (Rep.FiniteCyclicGroup.moduleCatCochainComplex A g).X 2
ClassFieldTower.Cohomology.cyclicPeriodicH2DegreeOwnerIso_hom
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem cyclicPeriodicH2DegreeOwnerIso_hom
    (A : Rep R G) (g : G) :
    (cyclicPeriodicH2DegreeOwnerIso A g).hom =
      𝟙 ((Rep.FiniteCyclicGroup.moduleCatCochainComplex A g).X 2)
ClassFieldTower.Cohomology.cyclicPeriodicH2CyclesOwnerIso_hom_iCycles
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem cyclicPeriodicH2CyclesOwnerIso_hom_iCycles
    (A : Rep R G) (g : G) :
    (cyclicPeriodicH2CyclesOwnerIso A g).hom ≫
        (Rep.FiniteCyclicGroup.moduleCatCochainComplex A g).iCycles 2 =
      ((Rep.FiniteCyclicGroup.moduleCatCochainComplex A g).sc 2).iCycles ≫
        (cyclicPeriodicH2DegreeOwnerIso A g).hom
ClassFieldTower.Cohomology.cyclicPeriodicH2DegreeOwners_comp_homResolutionIso_inv
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem cyclicPeriodicH2DegreeOwners_comp_homResolutionIso_inv
    (A : Rep R G) (g : G) (hg : ∀ x, x ∈ Subgroup.zpowers g) :
    (cyclicPeriodicH2ScIso A g).inv.τ₂ ≫
        (cyclicPeriodicH2DegreeOwnerIso A g).hom ≫
        (Rep.FiniteCyclicGroup.homResolutionIso A g hg).inv.f 2 =
      (Rep.FiniteCyclicGroup.homResolutionIso A g hg).inv.f 2
ClassFieldTower.Cohomology.cyclicPeriodicH2OwnerIso_homologyπ
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem cyclicPeriodicH2OwnerIso_homologyπ
    (A : Rep R G) (g : G) :
    (cyclicPeriodicH2CyclesOwnerIso A g).hom ≫
        (Rep.FiniteCyclicGroup.moduleCatCochainComplex A g).homologyπ 2 ≫
        (cyclicPeriodicH2HomologyOwnerIso A g).hom =
      ((Rep.FiniteCyclicGroup.moduleCatCochainComplex A g).sc 2).homologyπ
ClassFieldTower.Cohomology.cyclicPeriodicH2Iso_hom_owner
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem cyclicPeriodicH2Iso_hom_owner
    (A : Rep R G) (g : G) (hg : ∀ x, x ∈ Subgroup.zpowers g) :
    (cyclicPeriodicH2Iso A g hg).hom =
      (HomologicalComplex.homologyMapIso
        (Rep.FiniteCyclicGroup.homResolutionIso A g hg) 2).hom ≫
      (cyclicPeriodicH2HomologyOwnerIso A g).hom ≫
      (ShortComplex.homologyMapIso (cyclicPeriodicH2ScIso A g)).hom
ClassFieldTower.Cohomology.cyclicPeriodicH2CyclesMap

The concrete even cycles transported back to the periodic Hom complex.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
def cyclicPeriodicH2CyclesMap
    (A : Rep R G) (g : G) (hg : ∀ x, x ∈ Subgroup.zpowers g) :
    ModuleCat.of R
        (LinearMap.ker (Rep.applyAsHom A g - 𝟙 A).hom.toLinearMap) ⟶
      ((Rep.FiniteCyclicGroup.resolution R g hg).complex.linearYonedaObj R A).cycles 2
ClassFieldTower.Cohomology.cyclicPeriodicH2CyclesMap_iCycles
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem cyclicPeriodicH2CyclesMap_iCycles
    (A : Rep R G) (g : G) (hg : ∀ x, x ∈ Subgroup.zpowers g) :
    cyclicPeriodicH2CyclesMap A g hg ≫
        ((Rep.FiniteCyclicGroup.resolution R g hg).complex.linearYonedaObj R A).iCycles 2 =
      (Rep.FiniteCyclicGroup.normHomCompSub A g).moduleCatLeftHomologyData.i ≫
        (Rep.FiniteCyclicGroup.homResolutionIso A g hg).inv.f 2
ClassFieldTower.Cohomology.cyclicPeriodicH2CyclesMap_iCycles_apply
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem cyclicPeriodicH2CyclesMap_iCycles_apply
    (A : Rep R G) (g : G) (hg : ∀ x, x ∈ Subgroup.zpowers g)
    (a : LinearMap.ker (Rep.applyAsHom A g - 𝟙 A).hom.toLinearMap) :
    (((Rep.FiniteCyclicGroup.resolution R g hg).complex.linearYonedaObj R A).iCycles 2).hom
        ((cyclicPeriodicH2CyclesMap A g hg).hom a) =
      ((Rep.FiniteCyclicGroup.homResolutionIso A g hg).inv.f 2).hom a.1
ClassFieldTower.Cohomology.cyclicPeriodicH2CyclesMap_homologyπ
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem cyclicPeriodicH2CyclesMap_homologyπ
    (A : Rep R G) (g : G) (hg : ∀ x, x ∈ Subgroup.zpowers g) :
    cyclicPeriodicH2CyclesMap A g hg ≫
        ((Rep.FiniteCyclicGroup.resolution R g hg).complex.linearYonedaObj R A).homologyπ 2 ≫
        (cyclicPeriodicH2Iso A g hg).hom =
      (ShortComplex.moduleCatCyclesIso
        (Rep.FiniteCyclicGroup.normHomCompSub A g)).inv ≫
        ShortComplex.homologyπ
          (Rep.FiniteCyclicGroup.normHomCompSub A g)
ClassFieldTower.Cohomology.cyclicPeriodicH2CyclesMap_groupCohomologyIso_inv

The periodic representative maps to Mathlib's canonical even cohomology class.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem cyclicPeriodicH2CyclesMap_groupCohomologyIso_inv
    (A : Rep R G) (g : G) (hg : ∀ x, x ∈ Subgroup.zpowers g) :
    cyclicPeriodicH2CyclesMap A g hg ≫
        ((Rep.FiniteCyclicGroup.resolution R g hg).complex.linearYonedaObj R A).homologyπ 2 ≫
        (groupCohomologyIso A 2
          (Rep.FiniteCyclicGroup.resolution R g hg)).inv =
      Rep.FiniteCyclicGroup.groupCohomologyπEven A g hg 2 (by simp) := by
  change
    cyclicPeriodicH2CyclesMap A g hg ≫
        ((Rep.FiniteCyclicGroup.resolution R g hg).complex.linearYonedaObj R A).homologyπ 2 ≫
      (groupCohomologyIso A 2
          (Rep.FiniteCyclicGroup.resolution R g hg)).inv =
      (ShortComplex.moduleCatCyclesIso
        (Rep.FiniteCyclicGroup.normHomCompSub A g)).inv ≫
        ShortComplex.homologyπ
          (Rep.FiniteCyclicGroup.normHomCompSub A g) ≫
        (Rep.FiniteCyclicGroup.groupCohomologyIsoEven
          A g hg 2 (by simp)).inv
  rw [show Rep.FiniteCyclicGroup.groupCohomologyIsoEven A g hg 2 (by simp) =
    groupCohomologyIso A 2
        (Rep.FiniteCyclicGroup.resolution R g hg) ≪≫
      cyclicPeriodicH2Iso A g hg by
        rw [cyclicPeriodicH2Iso_eq]
        rfl]
  simp only [Iso.trans_inv]
  let f :
      ModuleCat.of R
          (LinearMap.ker
            (Rep.applyAsHom A g - 𝟙 A).hom.toLinearMap) ⟶
        ((Rep.FiniteCyclicGroup.resolution R g hg).complex.linearYonedaObj
          R A).homology 2 :=
    cyclicPeriodicH2CyclesMap A g hg ≫
      ((Rep.FiniteCyclicGroup.resolution R g hg).complex.linearYonedaObj
        R A).homologyπ 2
  let n :
      ModuleCat.of R
          (LinearMap.ker
            (Rep.applyAsHom A g - 𝟙 A).hom.toLinearMap) ⟶
        (Rep.FiniteCyclicGroup.normHomCompSub A g).homology :=
    (cyclicPeriodicH2KernelIso A g).hom ≫
      (Rep.FiniteCyclicGroup.normHomCompSub A g).moduleCatCyclesIso.inv ≫
      (Rep.FiniteCyclicGroup.normHomCompSub A g).homologyπ
  let e := cyclicPeriodicH2Iso A g hg
  let j := (groupCohomologyIso A 2
    (Rep.FiniteCyclicGroup.resolution R g hg)).inv
  have hfe : f ≫ e.hom = n := by
    exact Eq.mp (by rfl)
      (cyclicPeriodicH2CyclesMap_homologyπ A g hg)
  have hRaw : f ≫ j = (n ≫ e.inv) ≫ j := by
    calc
      f ≫ j = f ≫ (e.hom ≫ e.inv ≫ j) :=
        congrArg (fun k ↦ f ≫ k) (Iso.hom_inv_id_assoc e j).symm
      _ = (f ≫ e.hom) ≫ (e.inv ≫ j) :=
        (Category.assoc f e.hom (e.inv ≫ j)).symm
      _ = n ≫ (e.inv ≫ j) :=
        congrArg (fun k ↦ k ≫ (e.inv ≫ j)) hfe
      _ = (n ≫ e.inv) ≫ j :=
        (Category.assoc n e.inv j).symm
  exact Eq.mp (by rfl) hRaw
ClassFieldTower.Cohomology.cyclicPeriodicH2CyclesMap_groupCohomologyIso_inv_apply
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem cyclicPeriodicH2CyclesMap_groupCohomologyIso_inv_apply
    (A : Rep R G) (g : G) (hg : ∀ x, x ∈ Subgroup.zpowers g)
    (a : LinearMap.ker (Rep.applyAsHom A g - 𝟙 A).hom.toLinearMap) :
    (groupCohomologyIso A 2
      (Rep.FiniteCyclicGroup.resolution R g hg)).inv.hom
        ((((Rep.FiniteCyclicGroup.resolution R g hg).complex.linearYonedaObj R A).homologyπ 2).hom
          ((cyclicPeriodicH2CyclesMap A g hg).hom a)) =
      (Rep.FiniteCyclicGroup.groupCohomologyπEven
        A g hg 2 (by simp)).hom a := by
  exact congrArg (fun f ↦ f.hom a)
    (cyclicPeriodicH2CyclesMap_groupCohomologyIso_inv A g hg)
ClassFieldTower.Cohomology.finiteCyclicBarToPeriodicLinearYonedaMap

Applying Hom(-, A) to the explicit bar-to-periodic comparison.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
def finiteCyclicBarToPeriodicLinearYonedaMap
    (A : Rep R G) (g : G) (hg : ∀ x, x ∈ Subgroup.zpowers g) :
    (Rep.FiniteCyclicGroup.resolution R g hg).complex.linearYonedaObj R A ⟶
      (Rep.barResolution R G).complex.linearYonedaObj R A
ClassFieldTower.Cohomology.finiteCyclicBarToPeriodicLinearYonedaMap_f
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem finiteCyclicBarToPeriodicLinearYonedaMap_f
    (A : Rep R G) (g : G) (hg : ∀ x, x ∈ Subgroup.zpowers g) (n : ℕ) :
    (finiteCyclicBarToPeriodicLinearYonedaMap A g hg).f n =
      ModuleCat.ofHom (Linear.leftComp R A
        ((finiteCyclicBarToPeriodicComparison (R := R) g hg).f n))
ClassFieldTower.Cohomology.finiteCyclicBarToPeriodic_groupCohomologyIso_hom

The canonical cohomology identifications commute with the explicit comparison.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem finiteCyclicBarToPeriodic_groupCohomologyIso_hom
    (A : Rep R G) (g : G) (hg : ∀ x, x ∈ Subgroup.zpowers g) (i : ℕ) :
    (groupCohomologyIso A i (Rep.barResolution R G)).hom =
      (groupCohomologyIso A i
          (Rep.FiniteCyclicGroup.resolution R g hg)).hom ≫
        HomologicalComplex.homologyMap
          (finiteCyclicBarToPeriodicLinearYonedaMap A g hg) i
ClassFieldTower.Cohomology.chainLinearYonedaMap

The contravariant cochain map obtained from a map of chain complexes.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
def chainLinearYonedaMap
    {B P : ChainComplex (Rep R G) ℕ} (phi : B ⟶ P) (A : Rep R G) :
    P.linearYonedaObj R A ⟶ B.linearYonedaObj R A
ClassFieldTower.Cohomology.finiteCyclicBarPeriodicCochainMap

The cochain map induced by the explicit finite-cyclic bar--periodic comparison.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
def finiteCyclicBarPeriodicCochainMap
    (A : Rep R G) (g : G) (hg : ∀ x : G, x ∈ Subgroup.zpowers g) :
    ((Rep.FiniteCyclicGroup.resolution R g hg).complex.linearYonedaObj R A) ⟶
      ((Rep.barComplex R G).linearYonedaObj R A)
ClassFieldTower.Cohomology.finiteCyclicBarPeriodicCochainMap_two_carry
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem finiteCyclicBarPeriodicCochainMap_two_carry
    (A : Rep R G) (g : G) (hg : ∀ x : G, x ∈ Subgroup.zpowers g)
    (a : LinearMap.ker (Rep.applyAsHom A g - 𝟙 A).hom.toLinearMap) :
    Rep.freeLiftLEquiv R G (Fin 2 → G) A
        (((finiteCyclicBarPeriodicCochainMap A g hg).f 2).hom
          (((Rep.FiniteCyclicGroup.homResolutionIso A g hg).inv.f 2).hom
            a.1)) =
      (groupCohomology.cochainsIso₂ A).inv
        (finiteCyclicCarryTwoCocycle A g hg a)
ClassFieldTower.Cohomology.finiteCyclicBarCarryCycle

The bar-complex cycle represented by the normalized finite-cyclic carry cocycle.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
def finiteCyclicBarCarryCycle
    (A : Rep R G) (g : G) (hg : ∀ x : G, x ∈ Subgroup.zpowers g)
    (a : LinearMap.ker (Rep.applyAsHom A g - 𝟙 A).hom.toLinearMap) :
    ((Rep.barComplex R G).linearYonedaObj R A).cycles 2
ClassFieldTower.Cohomology.finiteCyclicBarCarryCycle_i
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem finiteCyclicBarCarryCycle_i
    (A : Rep R G) (g : G) (hg : ∀ x : G, x ∈ Subgroup.zpowers g)
    (a : LinearMap.ker (Rep.applyAsHom A g - 𝟙 A).hom.toLinearMap) :
    Rep.freeLiftLEquiv R G (Fin 2 → G) A
        (((Rep.barComplex R G).linearYonedaObj R A).iCycles 2
          (finiteCyclicBarCarryCycle A g hg a)) =
      (groupCohomology.cochainsIso₂ A).inv
        (finiteCyclicCarryTwoCocycle A g hg a)
ClassFieldTower.Cohomology.finiteCyclicBarPeriodic_cyclesMap_eq
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem finiteCyclicBarPeriodic_cyclesMap_eq
    (A : Rep R G) (g : G) (hg : ∀ x : G, x ∈ Subgroup.zpowers g)
    (a : LinearMap.ker (Rep.applyAsHom A g - 𝟙 A).hom.toLinearMap) :
    HomologicalComplex.cyclesMap
        (finiteCyclicBarPeriodicCochainMap A g hg) 2
        ((cyclicPeriodicH2CyclesMap A g hg).hom a) =
      finiteCyclicBarCarryCycle A g hg a
ClassFieldTower.Cohomology.groupCohomologyIso_bar_hom_eq_homologyMap
Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
omit [Fintype G] in
theorem groupCohomologyIso_bar_hom_eq_homologyMap
    (A : Rep R G) :
    (groupCohomologyIso A 2 (Rep.barResolution R G)).hom =
      HomologicalComplex.homologyMap
        (groupCohomology.inhomogeneousCochainsIso A).hom 2
ClassFieldTower.Cohomology.groupCohomologyIso_bar_H2π_carry
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem groupCohomologyIso_bar_H2π_carry
    (A : Rep R G) (g : G) (hg : ∀ x : G, x ∈ Subgroup.zpowers g)
    (a : LinearMap.ker (Rep.applyAsHom A g - 𝟙 A).hom.toLinearMap) :
    (groupCohomologyIso A 2 (Rep.barResolution R G)).hom
        (groupCohomology.H2π A (finiteCyclicCarryTwoCocycle A g hg a)) =
      ((Rep.barComplex R G).linearYonedaObj R A).homologyπ 2
        (finiteCyclicBarCarryCycle A g hg a)
ClassFieldTower.Cohomology.finiteCyclicBarPeriodic_homologyMap_carry
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem finiteCyclicBarPeriodic_homologyMap_carry
    (A : Rep R G) (g : G) (hg : ∀ x : G, x ∈ Subgroup.zpowers g)
    (a : LinearMap.ker (Rep.applyAsHom A g - 𝟙 A).hom.toLinearMap) :
    HomologicalComplex.homologyMap
        (finiteCyclicBarPeriodicCochainMap A g hg) 2
        ((((Rep.FiniteCyclicGroup.resolution R g hg).complex.linearYonedaObj
          R A).homologyπ 2)
            ((cyclicPeriodicH2CyclesMap A g hg).hom a)) =
      (groupCohomologyIso A 2 (Rep.barResolution R G)).hom
        (groupCohomology.H2π A
          (finiteCyclicCarryTwoCocycle A g hg a))
ClassFieldTower.Cohomology.finiteCyclicBarPeriodicCochainMap_eq
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem finiteCyclicBarPeriodicCochainMap_eq
    (A : Rep R G) (g : G) (hg : ∀ x : G, x ∈ Subgroup.zpowers g) :
    finiteCyclicBarPeriodicCochainMap A g hg =
      finiteCyclicBarToPeriodicLinearYonedaMap A g hg
ClassFieldTower.Cohomology.H2π_finiteCyclicCarryTwoCocycle

The normalized carry cocycle represents the periodic class of its generator-fixed coefficient.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open CategoryTheory Limits Opposite
namespace ClassFieldTower.Cohomology
universe u
variable {R G : Type u} [CommRing R] [CommGroup G] [Fintype G]
theorem H2π_finiteCyclicCarryTwoCocycle
    (A : Rep R G) (g : G) (hg : ∀ x : G, x ∈ Subgroup.zpowers g)
    (a : LinearMap.ker (Rep.applyAsHom A g - 𝟙 A).hom.toLinearMap) :
    groupCohomology.H2π A (finiteCyclicCarryTwoCocycle A g hg a) =
      Rep.FiniteCyclicGroup.groupCohomologyπEven
        A g hg 2 (by simp) a := by
  apply (ModuleCat.mono_iff_injective
    ((groupCohomologyIso A 2 (Rep.barResolution R G)).hom)).1
      inferInstance
  rw [← finiteCyclicBarPeriodic_homologyMap_carry]
  rw [finiteCyclicBarPeriodicCochainMap_eq]
  rw [finiteCyclicBarToPeriodic_groupCohomologyIso_hom A g hg 2]
  rw [ConcreteCategory.comp_apply]
  rw [← cyclicPeriodicH2CyclesMap_groupCohomologyIso_inv_apply
    A g hg a]
  rw [Iso.inv_hom_id_apply]
  rfl