Module

ClosedGeneratedCycles.lean

Nyll.ProCGroups.FoxDifferential.Completed.FiniteStage.ClosedGeneratedCycles
2 declarations indexed from sourceView source ↗

Fox differential: completed — finite stage — closed generated cycles

The principal declarations in this module are:

  • freeProCZCBifilteredAllFiniteQuotientStageCoeffMap_additive_basis

The bifiltered coefficient maps form an additive identity-quotient kernel neighbourhood basis.

  • freeProCZCFoxBoundaryCycles_subset_closedGenTarget_of_zcBiAllStages_coeffGraphRelDeriv

If all coefficient-stage graph relations vanish, every completed Fox boundary cycle lies in the closed subgroup generated by the graph elements.

Declarations

CrowellExactSequence.freeProCZCBifilteredAllFiniteQuotientStageCoeffMap_additive_basis

The bifiltered coefficient maps form an additive identity-quotient kernel neighbourhood basis.

Source context 10 commands

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

namespace CrowellExactSequence
noncomputable section
open FoxDifferential
open ProCGroups.ProC
open ProCGroups.Completion
open ProCGroups.InverseSystems
universe u v
variable {G H : Type u}
variable [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
variable [Group H] [TopologicalSpace H] [IsTopologicalGroup H]
theorem freeProCZCBifilteredAllFiniteQuotientStageCoeffMap_additive_basis
    {C : ProCGroups.FiniteGroupClass.{u}} (hForm : ProCGroups.FiniteGroupClass.Formation C)
    {X H : Type u}
    [Group H] [TopologicalSpace H] [IsTopologicalGroup H]
    (φ : X → H)
    (hφgen :
      ProCGroups.Generation.TopologicallyGenerates (G := H) (Set.range φ)) :
    HasAdditiveIdentityQuotientKernelNeighbourhoodBasis
      (A := ZCCompletedGroupAlgebra C H)
      (fun j : ZCCompletedGroupAlgebraIndex C H =>
        (freeProCZCBifilteredAllFiniteQuotientStageCoeffMap
          (C := C) (X := X) (H := H) φ hφgen j).toAddMonoidHom) := by
  classical
  let : ProCGroups.FiniteGroupClass.ContainsTrivialQuotients C :=
    hForm.containsTrivialQuotients
  let : Nonempty (ZCCompletedGroupAlgebraIndex C H) :=
    ⟨(ProCIntegerIndex.terminal (C := C) inferInstance,
      zcCompletedGroupAlgebraTopIndex C H)⟩
  let S := zcCompletedGroupAlgebraSystem C H
  have hdir :
      Directed (· ≤ ·) (id : ZCCompletedGroupAlgebraIndex C H →
        ZCCompletedGroupAlgebraIndex C H) :=
    directed_zcCompletedGroupAlgebraIndex_of_formation
      (C := C) (H := H) hForm
  intro U hU hUzero
  rcases S.exists_projection_preimage_subset hdir hU hUzero with
    ⟨j, V, _hVopen, hzeroV, hpre⟩
  refine ⟨j, ?_⟩
  intro z hz
  apply hpre
  change zcCompletedGroupAlgebraProjection C H j z ∈ V
  let :
      ∀ j : ZCCompletedGroupAlgebraIndex C H,
        DiscreteTopology
          (CompletedGroupAlgebraQuotientInClass H C j.2) :=
    fun j =>
      QuotientGroup.discreteTopology
        (ProCGroups.openNormalSubgroup_isOpen (G := H)
          ((OrderDual.ofDual j.2).1 : OpenNormalSubgroup H))
  have hqmap_inj :
      Function.Injective
        (freeProCFiniteQuotientStageQMapFamily
          (C := C) φ
          (id : ZCCompletedGroupAlgebraIndex C H →
            ZCCompletedGroupAlgebraIndex C H) hφgen j) := by
    exact
      freeProCFiniteQuotientStageQMapFamily_injective
        (C := C) φ
        (id : ZCCompletedGroupAlgebraIndex C H →
          ZCCompletedGroupAlgebraIndex C H) hφgen j
  have hstage_inj :
      Function.Injective
        (zcCompletedGroupAlgebraStageToFoxAlgebraicStage
          (C := C) (X := X) (H := H)
          (freeProCFiniteQuotientStageKernelFamily
            (C := C) φ
            (id : ZCCompletedGroupAlgebraIndex C H →
              ZCCompletedGroupAlgebraIndex C H) j)
          j.1.modulus j dvd_rfl
          (freeProCFiniteQuotientStageQMapFamily
            (C := C) φ
            (id : ZCCompletedGroupAlgebraIndex C H →
              ZCCompletedGroupAlgebraIndex C H) hφgen j)) := by
    exact
      zcCompletedGroupAlgebraStageToFoxAlgebraicStage_self_injective
        (C := C) (X := X) (H := H)
        (freeProCFiniteQuotientStageKernelFamily
          (C := C) φ
          (id : ZCCompletedGroupAlgebraIndex C H →
            ZCCompletedGroupAlgebraIndex C H) j)
        j
        (freeProCFiniteQuotientStageQMapFamily
          (C := C) φ
          (id : ZCCompletedGroupAlgebraIndex C H →
            ZCCompletedGroupAlgebraIndex C H) hφgen j)
        hqmap_inj
  have hzstage :
      zcCompletedGroupAlgebraProjection C H j z = 0 := by
    let stageMap :=
      zcCompletedGroupAlgebraStageToFoxAlgebraicStage
        (C := C) (X := X) (H := H)
        (freeProCFiniteQuotientStageKernelFamily
          (C := C) φ
          (id : ZCCompletedGroupAlgebraIndex C H →
            ZCCompletedGroupAlgebraIndex C H) j)
        j.1.modulus j dvd_rfl
        (freeProCFiniteQuotientStageQMapFamily
          (C := C) φ
          (id : ZCCompletedGroupAlgebraIndex C H →
            ZCCompletedGroupAlgebraIndex C H) hφgen j)
    have hstage_inj' : Function.Injective stageMap := hstage_inj
    have hzmap := hz
    simp only [freeProCZCBifilteredAllFiniteQuotientStageCoeffMap,
      freeProCZCBifilteredFiniteQuotientStageCoeffMap,
      zcCompletedGroupAlgebraBifilteredStageCoeffMap,
      zcCompletedGroupAlgebraFoxAlgebraicStageCoeffMap] at hzmap
    change
      stageMap (zcCompletedGroupAlgebraProjection C H j z) = 0 at hzmap
    apply hstage_inj'
    rw [hzmap, map_zero]
  rw [hzstage]
  exact hzeroV
CrowellExactSequence.freeProCZCFoxBoundaryCycles_subset_closedGenTarget_of_zcBiAllStages_coeffGraphRelDeriv

If all coefficient-stage graph relations vanish, every completed Fox boundary cycle lies in the closed subgroup generated by the graph elements.

Source context 10 commands

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

namespace CrowellExactSequence
noncomputable section
open FoxDifferential
open ProCGroups.ProC
open ProCGroups.Completion
open ProCGroups.InverseSystems
universe u v
variable {G H : Type u}
variable [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
variable [Group H] [TopologicalSpace H] [IsTopologicalGroup H]
theorem freeProCZCFoxBoundaryCycles_subset_closedGenTarget_of_zcBiAllStages_coeffGraphRelDeriv
    {C : ProCGroups.FiniteGroupClass.{u}} (hForm : ProCGroups.FiniteGroupClass.Formation C)
    {X H : Type u} [Fintype X] [DecidableEq X]
    [Group H] [TopologicalSpace H] [IsTopologicalGroup H]
    (φ : X → H)
    (hHbasis : HasOpenNormalBasisInClass C H)
    (hφgen :
      ProCGroups.Generation.TopologicallyGenerates (G := H) (Set.range φ)) :
    freeProCZCCompletedFoxSemidirectBoundaryCycleSet (C := C) φ ⊆
      ((freeProCZCCompletedFoxSemidirectClosedGeneratedTarget
        (C := C) φ : Subgroup
          (ZCCompletedFoxSemidirect C X H)) : Set
          (ZCCompletedFoxSemidirect C X H))