CrowellExactSequence.Profinite.RelationReflection

11 Theorem | 6 Definition | 2 Abbreviation | 2 Instance

This module develops the Crowell--Blanchfield--Lyndon exact sequence and its completed coordinate forms.

import
Imported by
None

Declarations

theorem zcCompletedDifferentialModulePreStageMap_relation_iff_stage_mkQ_eq_zero
    (C : ProCGroups.FiniteGroupClass.{u})
    {G H : Type u} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
    [Group H] [TopologicalSpace H] [IsTopologicalGroup H]
    (ψ : G →* H)
    (i : ZCCompletedDifferentialModuleIndex C ψ)
    (x : CrossedDifferentialPreModule (ZCCompletedGroupAlgebra C H) G) :
    zcCompletedDifferentialModulePreStageMap C ψ i x ∈
        crossedDifferentialRelationSubmodule
          (zcCompletedDifferentialModuleStageScalar C ψ i) ↔
      ((crossedDifferentialRelationSubmodule
          (zcCompletedDifferentialModuleStageScalar C ψ i)).mkQ
        (zcCompletedDifferentialModulePreStageMap C ψ i x) = 0)

A pre-stage reduction is a finite relation exactly when its finite universal-module class is zero.

Show proof
theorem freeProC_zcCompletedDifferentialModuleIndex_nonempty
    (sourceData : FreeProCSourceData ProC)
    (psi : ContinuousMonoidHom sourceData.carrier H) :
    Nonempty
      (ZCCompletedDifferentialModuleIndex
        ProC.finiteQuotientClass psi.toMonoidHom)

Nonempty finite stage index set for a continuous map out of a free pro-\(C\) group.

Show proof
theorem freeProC_directed_zcCompletedDifferentialModuleIndex
    (sourceData : FreeProCSourceData ProC)
    (psi : ContinuousMonoidHom sourceData.carrier H) :
    Directed (· ≤ ·)
      (id :
        ZCCompletedDifferentialModuleIndex
            ProC.finiteQuotientClass psi.toMonoidHom →
          ZCCompletedDifferentialModuleIndex
            ProC.finiteQuotientClass psi.toMonoidHom)

The finite source, target, and coefficient stages form a directed index system.

Show proof
abbrev freeProCReflectionFamily
    (sourceData : FreeProCSourceData ProC) {r : Nat}
    (hbasis : Cardinal.mk sourceData.basis = r) : ULift.{u} (Fin r) → sourceData.carrier :=
  freeProCChosenULiftFamilyOfBasisCard (ProC := ProC) sourceData hbasis

The universe-lifted finite free basis supplies the reflection family used in the proof.

theorem freeProCReflectionFamily_target_generates
    (sourceData : FreeProCSourceData ProC) {r : Nat}
    (hbasis : Cardinal.mk sourceData.basis = r)
    (psi : ContinuousMonoidHom sourceData.carrier H)
    (hpsi : Function.Surjective psi) :
    ProCGroups.Generation.TopologicallyGenerates
      (G := H)
      (Set.range (fun i : ULift.{u} (Fin r) =>
        psi (freeProCReflectionFamily (ProC := ProC) sourceData hbasis i)))

The target images of the chosen basis topologically generate a surjective target.

Show proof
def freeProCRelationReflectionStageSourceHom
    (sourceData : FreeProCSourceData ProC) {r : Nat}
    (hbasis : Cardinal.mk sourceData.basis = r)
    (psi : ContinuousMonoidHom sourceData.carrier H)
    (i : ZCCompletedDifferentialModuleIndex
      ProC.finiteQuotientClass psi.toMonoidHom) :
    FreeGroup (ULift.{u} (Fin r)) →*
      zcCompletedDifferentialModuleStageSource
        ProC.finiteQuotientClass psi.toMonoidHom i :=
  (zcCompletedDifferentialModuleStageSourceProj
      ProC.finiteQuotientClass psi.toMonoidHom i).comp
    (FreeGroup.lift (freeProCReflectionFamily (ProC := ProC) sourceData hbasis))

The free-group map onto the source quotient used by a differential-module finite stage.

def freeProCRelationReflectionStageKernel
    (sourceData : FreeProCSourceData ProC) {r : Nat}
    (hbasis : Cardinal.mk sourceData.basis = r)
    (psi : ContinuousMonoidHom sourceData.carrier H)
    (i : ZCCompletedDifferentialModuleIndex
      ProC.finiteQuotientClass psi.toMonoidHom) :
    Subgroup (FreeGroup (ULift.{u} (Fin r))) :=
  MonoidHom.ker
    (freeProCRelationReflectionStageSourceHom (ProC := ProC) sourceData hbasis psi i)

The source kernel used by a differential-module stage, pulled back to the abstract free group on the chosen basis.

instance freeProCRelationReflectionStageKernel_normal
    (sourceData : FreeProCSourceData ProC) {r : Nat}
    (hbasis : Cardinal.mk sourceData.basis = r)
    (psi : ContinuousMonoidHom sourceData.carrier H)
    (i : ZCCompletedDifferentialModuleIndex
      ProC.finiteQuotientClass psi.toMonoidHom) :
    (freeProCRelationReflectionStageKernel (ProC := ProC) sourceData hbasis psi i).Normal := by
  dsimp [freeProCRelationReflectionStageKernel]
  infer_instance

The relation-reflection stage kernel is a normal subgroup of the free group on the lifted finite basis.

theorem freeProCRelationReflectionStageSourceHom_surjective
    (sourceData : FreeProCSourceData ProC) {r : Nat}
    (hbasis : Cardinal.mk sourceData.basis = r)
    (psi : ContinuousMonoidHom sourceData.carrier H)
    (i : ZCCompletedDifferentialModuleIndex
      ProC.finiteQuotientClass psi.toMonoidHom) :
    Function.Surjective
      (freeProCRelationReflectionStageSourceHom (ProC := ProC) sourceData hbasis psi i)

The chosen free basis surjects onto every finite source quotient stage.

Show proof
def freeProCRelationReflectionStageSourceEquiv
    (sourceData : FreeProCSourceData ProC) {r : Nat}
    (hbasis : Cardinal.mk sourceData.basis = r)
    (psi : ContinuousMonoidHom sourceData.carrier H)
    (i : ZCCompletedDifferentialModuleIndex
      ProC.finiteQuotientClass psi.toMonoidHom) :
    finiteFoxStageTargetQuotient
        (X := ULift.{u} (Fin r))
        (freeProCRelationReflectionStageKernel (ProC := ProC) sourceData hbasis psi i) ≃*
      zcCompletedDifferentialModuleStageSource
        ProC.finiteQuotientClass psi.toMonoidHom i :=
  QuotientGroup.quotientKerEquivOfSurjective
    (freeProCRelationReflectionStageSourceHom (ProC := ProC) sourceData hbasis psi i)
    (freeProCRelationReflectionStageSourceHom_surjective
      (ProC := ProC) sourceData hbasis psi i)

Identification of the source quotient stage with the corresponding free-group quotient.

theorem freeProCRelationReflectionStageSourceEquiv_mk
    (sourceData : FreeProCSourceData ProC) {r : Nat}
    (hbasis : Cardinal.mk sourceData.basis = r)
    (psi : ContinuousMonoidHom sourceData.carrier H)
    (i : ZCCompletedDifferentialModuleIndex
      ProC.finiteQuotientClass psi.toMonoidHom)
    (w : FreeGroup (ULift.{u} (Fin r))) :
    freeProCRelationReflectionStageSourceEquiv (ProC := ProC) sourceData hbasis psi i
        (QuotientGroup.mk'
          (freeProCRelationReflectionStageKernel (ProC := ProC) sourceData hbasis psi i) w) =
      freeProCRelationReflectionStageSourceHom (ProC := ProC) sourceData hbasis psi i w

The relation-reflection source-stage equivalence sends the quotient class of a free word to its image under the corresponding source-stage homomorphism.

Show proof
abbrev freeProCRelationReflectionTargetStageKernel
    (sourceData : FreeProCSourceData ProC) {r : Nat}
    (hbasis : Cardinal.mk sourceData.basis = r)
    (psi : ContinuousMonoidHom sourceData.carrier H)
    (i : ZCCompletedDifferentialModuleIndex
      ProC.finiteQuotientClass psi.toMonoidHom) :
    Subgroup (FreeGroup (ULift.{u} (Fin r))) :=
  freeProCFiniteQuotientStageKernel
    (C := ProC.finiteQuotientClass)
    (fun x : ULift.{u} (Fin r) =>
      psi (freeProCReflectionFamily (ProC := ProC) sourceData hbasis x))
    i.target.2

The target finite Fox relation kernel attached to the target quotient of a \(\mathbb{Z}_C\)-completed differential-module index.

instance freeProCRelationReflectionTargetStageKernel_normal
    (sourceData : FreeProCSourceData ProC) {r : Nat}
    (hbasis : Cardinal.mk sourceData.basis = r)
    (psi : ContinuousMonoidHom sourceData.carrier H)
    (i : ZCCompletedDifferentialModuleIndex
      ProC.finiteQuotientClass psi.toMonoidHom) :
    (freeProCRelationReflectionTargetStageKernel (ProC := ProC) sourceData hbasis psi i).Normal :=
  inferInstance

The target finite Fox relation kernel is normal.

theorem freeProCRelationReflectionTargetStageKernel_antitone
    (sourceData : FreeProCSourceData ProC) {r : Nat}
    (hbasis : Cardinal.mk sourceData.basis = r)
    (psi : ContinuousMonoidHom sourceData.carrier H)
    {i j : ZCCompletedDifferentialModuleIndex
      ProC.finiteQuotientClass psi.toMonoidHom} (hij : i ≤ j) :
    freeProCRelationReflectionTargetStageKernel (ProC := ProC) sourceData hbasis psi j ≤
      freeProCRelationReflectionTargetStageKernel (ProC := ProC) sourceData hbasis psi i

Target finite Fox kernels are antitone along differential-module stage refinement.

Show proof
def freeProCRelationReflectionTargetStageQMap
    (sourceData : FreeProCSourceData ProC) {r : Nat}
    (hbasis : Cardinal.mk sourceData.basis = r)
    (psi : ContinuousMonoidHom sourceData.carrier H)
    (hpsi : Function.Surjective psi)
    (i : ZCCompletedDifferentialModuleIndex
      ProC.finiteQuotientClass psi.toMonoidHom) :
    CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass i.target.2 →*
      finiteFoxStageTargetQuotient
        (X := ULift.{u} (Fin r))
        (freeProCRelationReflectionTargetStageKernel (ProC := ProC) sourceData hbasis psi i) := by
  let φ : ULift.{u} (Fin r) → H := fun x =>
    psi (freeProCReflectionFamily (ProC := ProC) sourceData hbasis x)
  have hφgen :
      ProCGroups.Generation.TopologicallyGenerates (G := H) (Set.range φ) := by
    simpa [φ] using
      freeProCReflectionFamily_target_generates (ProC := ProC) sourceData hbasis psi hpsi
  letI : DiscreteTopology
      (CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass i.target.2) :=
    QuotientGroup.discreteTopology
      (ProCGroups.openNormalSubgroup_isOpen (G := H)
        ((OrderDual.ofDual i.target.2).1 : OpenNormalSubgroup H))
  exact freeProCFiniteQuotientStageQMap
    (C := ProC.finiteQuotientClass) φ i.target.2
    (freeProCFiniteQuotientStageHom_surjective_of_topologicallyGenerates
      (C := ProC.finiteQuotientClass) φ i.target.2 hφgen)

The canonical target quotient comparison map \(H/U_i \to F_X/N_i\).

theorem freeProCRelationReflectionTargetStageQMap_generator
    (sourceData : FreeProCSourceData ProC) {r : Nat}
    (hbasis : Cardinal.mk sourceData.basis = r)
    (psi : ContinuousMonoidHom sourceData.carrier H)
    (hpsi : Function.Surjective psi)
    (i : ZCCompletedDifferentialModuleIndex
      ProC.finiteQuotientClass psi.toMonoidHom)
    (x : ULift.{u} (Fin r)) :
    freeProCRelationReflectionTargetStageQMap (ProC := ProC) sourceData hbasis psi hpsi i
        (QuotientGroup.mk
          (psi (freeProCReflectionFamily (ProC := ProC) sourceData hbasis x))) =
      QuotientGroup.mk'
        (freeProCRelationReflectionTargetStageKernel (ProC := ProC) sourceData hbasis psi i)
        (FreeGroup.of x)

The generator formula for the free pro-\(C\) relation-reflection target finite-stage quotient map identifies the specified Crowell boundary or coordinate map.

Show proof
theorem freeProCRelationReflectionTargetStageQMap_transition
    (sourceData : FreeProCSourceData ProC) {r : Nat}
    (hbasis : Cardinal.mk sourceData.basis = r)
    (psi : ContinuousMonoidHom sourceData.carrier H)
    (hpsi : Function.Surjective psi)
    {i j : ZCCompletedDifferentialModuleIndex
      ProC.finiteQuotientClass psi.toMonoidHom} (hij : i ≤ j)
    (q : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass j.target.2) :
    freeProCRelationReflectionTargetStageQMap (ProC := ProC) sourceData hbasis psi hpsi i
        ((OpenNormalSubgroupInClass.map
          (C := ProC.finiteQuotientClass) (G := H)
          (U := OrderDual.ofDual i.target.2)
          (V := OrderDual.ofDual j.target.2) hij.2.2) q) =
      finiteFoxStageTargetQuotientMap
        (X := ULift.{u} (Fin r))
        (freeProCRelationReflectionTargetStageKernel_antitone
          (ProC := ProC) sourceData hbasis psi hij)
        (freeProCRelationReflectionTargetStageQMap
          (ProC := ProC) sourceData hbasis psi hpsi j q)

Target quotient comparison maps commute with differential-module stage refinement.

Show proof
def freeProCRelationReflectionTargetStageRight
    (sourceData : FreeProCSourceData ProC) {r : Nat}
    (hbasis : Cardinal.mk sourceData.basis = r)
    (psi : ContinuousMonoidHom sourceData.carrier H)
    (hpsi : Function.Surjective psi)
    (i : ZCCompletedDifferentialModuleIndex
      ProC.finiteQuotientClass psi.toMonoidHom) :
    H →* finiteFoxStageTargetQuotient
        (X := ULift.{u} (Fin r))
        (freeProCRelationReflectionTargetStageKernel (ProC := ProC) sourceData hbasis psi i) :=
  (freeProCRelationReflectionTargetStageQMap
    (ProC := ProC) sourceData hbasis psi hpsi i).comp
    (openNormalSubgroupInClassProj
      (C := ProC.finiteQuotientClass) (G := H) i.target.2)

The target component map used by finite Fox semidirect stages.

theorem freeProCRelationReflectionTargetStageRight_generator
    (sourceData : FreeProCSourceData ProC) {r : Nat}
    (hbasis : Cardinal.mk sourceData.basis = r)
    (psi : ContinuousMonoidHom sourceData.carrier H)
    (hpsi : Function.Surjective psi)
    (i : ZCCompletedDifferentialModuleIndex
      ProC.finiteQuotientClass psi.toMonoidHom)
    (x : ULift.{u} (Fin r)) :
    freeProCRelationReflectionTargetStageRight (ProC := ProC) sourceData hbasis psi hpsi i
        (psi (freeProCReflectionFamily (ProC := ProC) sourceData hbasis x)) =
      QuotientGroup.mk'
        (freeProCRelationReflectionTargetStageKernel (ProC := ProC) sourceData hbasis psi i)
        (FreeGroup.of x)

The target-stage right map sends the chosen generator to its quotient class in the relation-reflection target stage.

Show proof
def freeProCRelationReflectionTargetStageMap
    (sourceData : FreeProCSourceData ProC) {r : Nat}
    (hbasis : Cardinal.mk sourceData.basis = r)
    (psi : ContinuousMonoidHom sourceData.carrier H)
    (hpsi : Function.Surjective psi)
    (i : ZCCompletedDifferentialModuleIndex
      ProC.finiteQuotientClass psi.toMonoidHom) :
    ZCCompletedFoxSemidirect ProC.finiteQuotientClass (ULift.{u} (Fin r)) H →*
      FiniteFoxStageSemidirect
        (X := ULift.{u} (Fin r))
        (freeProCRelationReflectionTargetStageKernel (ProC := ProC) sourceData hbasis psi i)
        i.target.1.modulus := by
  letI : ∀ j : ZCCompletedDifferentialModuleIndex
      ProC.finiteQuotientClass psi.toMonoidHom,
      Fact (0 < j.target.1.modulus) :=
    fun j => ProCGroups.Completion.ProCIntegerIndex.positiveFact j.target.1
  exact
    freeProCZCCompletedFoxSemidirectZCBifilteredStageMap
      (ProC := ProC) (X := ULift.{u} (Fin r)) (H := H)
      (Nstage := fun j =>
        freeProCRelationReflectionTargetStageKernel (ProC := ProC) sourceData hbasis psi j)
      (nstage := fun j => j.target.1.modulus)
      (zcIndex := fun j => j.target)
      (hmod := fun _ => dvd_rfl)
      (qmap := fun j =>
        freeProCRelationReflectionTargetStageQMap
          (ProC := ProC) sourceData hbasis psi hpsi j)
      i

The finite Fox semidirect projection attached to one target quotient stage.

theorem freeProCRelationReflection_finiteStage_relationBoundaryModuleExact
    (sourceData : FreeProCSourceData ProC) {r : Nat}
    (hbasis : Cardinal.mk sourceData.basis = r)
    (psi : ContinuousMonoidHom sourceData.carrier H)
    (i : ZCCompletedDifferentialModuleIndex
      ProC.finiteQuotientClass psi.toMonoidHom) :
    finiteFoxStageRelationBoundaryModuleExact
      (X := ULift.{u} (Fin r))
      (freeProCRelationReflectionTargetStageKernel (ProC := ProC) sourceData hbasis psi i)
      i.target.1.modulus

Each target finite stage attached to the chosen free pro-\(C\) basis satisfies the finite Fox relation-boundary module exactness needed by the approximation theorem.

Show proof