FenchelNielsenZomorrodian.Profinite.DiscreteBridge

14 Theorem | 4 Definition

This module develops Fenchel--Nielsen--Zomorrodian presentation reductions, period relations, reindexings, and quotient maps.

import
Imported by

Declarations

theorem mul_swap_eq_one_of_mul_eq_one
    {G : Type*} [Group G] {a b : G} (h : a * b = 1) :
    b * a = 1

If \(a b = 1\), then the swapped product \(b a\) is also \(1\).

Show proof
noncomputable def compactPresentationHomToProfinite
    (Δ : ProfiniteFGroup.{u})
    (hCompact : Δ.signature.IsCompact)
    (hPeriods : 3 ≤ Δ.signature.numPeriods) :
    FuchsianPresentedGroup
        (compactFuchsianSignature Δ.signature hCompact hPeriods) →*
      Δ.carrier := by
  let σ := compactFuchsianSignature Δ.signature hCompact hPeriods
  let f : FuchsianGenerator σ → Δ.carrier
    | .elliptic i => Δ.inertia i
    | .surfaceA i => Δ.surfaceA i
    | .surfaceB i => Δ.surfaceB i
  refine PresentedGroup.toGroup (rels := relators σ) (f := f) ?_
  intro r hr
  rcases hr with ⟨i, rfl⟩ | rfl
  · have hpow : Δ.inertia i ^ Δ.signature.periods i = 1 := by
      rw [← Δ.inertia_order i]
      exact pow_orderOf_eq_one (Δ.inertia i)
    simpa [σ, f, xWord, compactFuchsianSignature] using hpow
  · have hCusp :
        ((List.finRange Δ.signature.numCusps).map fun j => Δ.cusp j).prod = 1 := by
      apply List.prod_eq_one
      intro x hx
      rcases List.mem_map.mp hx with ⟨j, _hj, rfl⟩
      exfalso
      rw [hCompact] at j
      exact Nat.not_lt_zero _ j.2
    have hRel :
        ((List.finRange Δ.signature.orbitGenus).map fun i =>
              ⁅Δ.surfaceA i, Δ.surfaceB i⁆).prod *
            ((List.finRange Δ.signature.numPeriods).map fun k => Δ.inertia k).prod =
          1 := by
      simpa [profiniteFenchelTotalRelation, hCusp, mul_assoc] using
        Δ.presentation_relation
    have hRel' :
        ((List.finRange Δ.signature.numPeriods).map fun k => Δ.inertia k).prod *
            ((List.finRange Δ.signature.orbitGenus).map fun i =>
              ⁅Δ.surfaceA i, Δ.surfaceB i⁆).prod =
          1 :=
      mul_swap_eq_one_of_mul_eq_one hRel
    simpa [σ, f, totalRelation, xWord, aWord, bWord, compactFuchsianSignature,
      map_list_prod, Function.comp_def, map_commutatorElement] using hRel'

@[local simp]

The abstract compact Fuchsian presentation maps to a compact profinite F-group by sending the paper generators to the corresponding profinite presentation generators.

theorem compactPresentationHomToProfinite_elliptic
    (Δ : ProfiniteFGroup.{u})
    (hCompact : Δ.signature.IsCompact)
    (hPeriods : 3 ≤ Δ.signature.numPeriods)
    (i : Fin Δ.signature.numPeriods) :
    compactPresentationHomToProfinite Δ hCompact hPeriods
        (ellipticElement
          (compactFuchsianSignature Δ.signature hCompact hPeriods) i) =
      Δ.inertia i

The compact-presentation homomorphism sends each elliptic generator to the corresponding profinite elliptic element.

Show proof
theorem compactPresentationHomToProfinite_surfaceA
    (Δ : ProfiniteFGroup.{u})
    (hCompact : Δ.signature.IsCompact)
    (hPeriods : 3 ≤ Δ.signature.numPeriods)
    (i : Fin Δ.signature.orbitGenus) :
    compactPresentationHomToProfinite Δ hCompact hPeriods
        (PresentedGroup.of
          (rels := relators
            (compactFuchsianSignature Δ.signature hCompact hPeriods))
          (FuchsianGenerator.surfaceA i)) =
      Δ.surfaceA i

The compact-presentation homomorphism sends each surface A-generator to its prescribed profinite image.

Show proof
theorem compactPresentationHomToProfinite_surfaceB
    (Δ : ProfiniteFGroup.{u})
    (hCompact : Δ.signature.IsCompact)
    (hPeriods : 3 ≤ Δ.signature.numPeriods)
    (i : Fin Δ.signature.orbitGenus) :
    compactPresentationHomToProfinite Δ hCompact hPeriods
        (PresentedGroup.of
          (rels := relators
            (compactFuchsianSignature Δ.signature hCompact hPeriods))
          (FuchsianGenerator.surfaceB i)) =
      Δ.surfaceB i

The compact-presentation homomorphism sends each surface B-generator to its prescribed profinite image.

Show proof
private theorem compactPresentationHomToProfinite_elliptic_order
    (Δ : ProfiniteFGroup.{u})
    (hCompact : Δ.signature.IsCompact)
    (hPeriods : 3 ≤ Δ.signature.numPeriods)
    (i : Fin Δ.signature.numPeriods) :
    orderOf
        (ellipticElement
          (compactFuchsianSignature Δ.signature hCompact hPeriods) i) =
      Δ.signature.periods i

The image of each elliptic generator under the compact-presentation map has the prescribed finite order in the profinite target.

Show proof
private noncomputable def compactDiscreteNormalQuotientGeneratorImageCore
    (Δ : ProfiniteFGroup.{u})
    (hCompact : Δ.signature.IsCompact)
    (hPeriods : 3 ≤ Δ.signature.numPeriods)
    (H : Subgroup
      (FuchsianPresentedGroup
        (compactFuchsianSignature Δ.signature hCompact hPeriods)))
    [H.Normal] :
    ProfiniteFenchelGeneratorIndex.{u} Δ.signature →
      FuchsianPresentedGroup
          (compactFuchsianSignature Δ.signature hCompact hPeriods) ⧸ H
  | ULift.up (.surfaceA i) =>
      QuotientGroup.mk' H
        (PresentedGroup.of
          (rels := relators
            (compactFuchsianSignature Δ.signature hCompact hPeriods))
          (FuchsianGenerator.surfaceA i))
  | ULift.up (.surfaceB i) =>
      QuotientGroup.mk' H
        (PresentedGroup.of
          (rels := relators
            (compactFuchsianSignature Δ.signature hCompact hPeriods))
          (FuchsianGenerator.surfaceB i))
  | ULift.up (.cusp _) => 1
  | ULift.up (.inertia i) =>
      QuotientGroup.mk' H
        (ellipticElement
          (compactFuchsianSignature Δ.signature hCompact hPeriods) i)

Core generator-image data for the compact discrete normal quotient.

private noncomputable def compactDiscreteNormalQuotientGeneratorImage
    (Δ : ProfiniteFGroup.{u})
    (hCompact : Δ.signature.IsCompact)
    (hPeriods : 3 ≤ Δ.signature.numPeriods)
    (H : Subgroup
      (FuchsianPresentedGroup
        (compactFuchsianSignature Δ.signature hCompact hPeriods)))
    [H.Normal] :
    ProfiniteFenchelGeneratorIndex.{u} Δ.signature →
      ULift.{u, 0}
        (FuchsianPresentedGroup
            (compactFuchsianSignature Δ.signature hCompact hPeriods) ⧸ H) :=
  fun x =>
    ULift.up
      (compactDiscreteNormalQuotientGeneratorImageCore Δ hCompact hPeriods H x)

Generator-image data for the compact discrete normal quotient.

private theorem compactDiscreteNormalQuotientGeneratorImage_total_relation
    (Δ : ProfiniteFGroup.{u})
    (hCompact : Δ.signature.IsCompact)
    (hPeriods : 3 ≤ Δ.signature.numPeriods)
    (H : Subgroup
      (FuchsianPresentedGroup
        (compactFuchsianSignature Δ.signature hCompact hPeriods)))
    [H.Normal] :
    profiniteFenchelTotalRelation
        (fun i => compactDiscreteNormalQuotientGeneratorImageCore
          Δ hCompact hPeriods H
          (ULift.up (ProfiniteFenchelGenerator.surfaceA i)))
        (fun i => compactDiscreteNormalQuotientGeneratorImageCore
          Δ hCompact hPeriods H
          (ULift.up (ProfiniteFenchelGenerator.surfaceB i)))
        (fun j => compactDiscreteNormalQuotientGeneratorImageCore
          Δ hCompact hPeriods H
          (ULift.up (ProfiniteFenchelGenerator.cusp j)))
        (fun k => compactDiscreteNormalQuotientGeneratorImageCore
          Δ hCompact hPeriods H
          (ULift.up (ProfiniteFenchelGenerator.inertia k))) = 1

The compact discrete normal quotient satisfies the total Fenchel--Nielsen relation.

Show proof
private theorem compactDiscreteNormalQuotientGeneratorImage_lifted_total_relation
    (Δ : ProfiniteFGroup.{u})
    (hCompact : Δ.signature.IsCompact)
    (hPeriods : 3 ≤ Δ.signature.numPeriods)
    (H : Subgroup
      (FuchsianPresentedGroup
        (compactFuchsianSignature Δ.signature hCompact hPeriods)))
    [H.Normal] :
    profiniteFenchelTotalRelation
        (fun i => compactDiscreteNormalQuotientGeneratorImage
          Δ hCompact hPeriods H
          (ULift.up (ProfiniteFenchelGenerator.surfaceA i)))
        (fun i => compactDiscreteNormalQuotientGeneratorImage
          Δ hCompact hPeriods H
          (ULift.up (ProfiniteFenchelGenerator.surfaceB i)))
        (fun j => compactDiscreteNormalQuotientGeneratorImage
          Δ hCompact hPeriods H
          (ULift.up (ProfiniteFenchelGenerator.cusp j)))
        (fun k => compactDiscreteNormalQuotientGeneratorImage
          Δ hCompact hPeriods H
          (ULift.up (ProfiniteFenchelGenerator.inertia k))) = 1

The lifted compact discrete normal quotient satisfies the total Fenchel--Nielsen relation.

Show proof
private theorem compactDiscreteNormalQuotientGeneratorImage_period_relation
    (Δ : ProfiniteFGroup.{u})
    (hCompact : Δ.signature.IsCompact)
    (hPeriods : 3 ≤ Δ.signature.numPeriods)
    (H : Subgroup
      (FuchsianPresentedGroup
        (compactFuchsianSignature Δ.signature hCompact hPeriods)))
    [H.Normal]
    (k : Fin Δ.signature.numPeriods) :
    compactDiscreteNormalQuotientGeneratorImageCore
        Δ hCompact hPeriods H
        (ULift.up (ProfiniteFenchelGenerator.inertia k)) ^
      Δ.signature.periods k = 1

The compact discrete normal quotient generator image satisfies each prescribed period relation.

Show proof
private theorem compactDiscreteNormalQuotientGeneratorImage_lifted_period_relation
    (Δ : ProfiniteFGroup.{u})
    (hCompact : Δ.signature.IsCompact)
    (hPeriods : 3 ≤ Δ.signature.numPeriods)
    (H : Subgroup
      (FuchsianPresentedGroup
        (compactFuchsianSignature Δ.signature hCompact hPeriods)))
    [H.Normal]
    (k : Fin Δ.signature.numPeriods) :
    compactDiscreteNormalQuotientGeneratorImage
        Δ hCompact hPeriods H
        (ULift.up (ProfiniteFenchelGenerator.inertia k)) ^
      Δ.signature.periods k = 1

The lifted compact discrete normal quotient generator image satisfies each prescribed period relation.

Show proof
private theorem compactDiscreteNormalQuotient_derivedLength
    (Δ : ProfiniteFGroup.{u})
    (hCompact : Δ.signature.IsCompact)
    (hPeriods : 3 ≤ Δ.signature.numPeriods)
    (H : Subgroup
      (FuchsianPresentedGroup
        (compactFuchsianSignature Δ.signature hCompact hPeriods)))
    [H.Normal]
    (hHQuot :
      SubgroupQuotientHasDerivedLengthAtMost H 3) :
    derivedSeries
        (FuchsianPresentedGroup
          (compactFuchsianSignature Δ.signature hCompact hPeriods) ⧸ H) 3 =
      ⊥

The compact discrete normal quotient has derived length bounded by the given parameter.

Show proof
private theorem compactDiscreteNormalQuotientGeneratorImage_inertia_order
    (Δ : ProfiniteFGroup.{u})
    (hCompact : Δ.signature.IsCompact)
    (hPeriods : 3 ≤ Δ.signature.numPeriods)
    (H : Subgroup
      (FuchsianPresentedGroup
        (compactFuchsianSignature Δ.signature hCompact hPeriods)))
    [H.Normal]
    (hHTF : IsTorsionFreeGroup H)
    (k : Fin Δ.signature.numPeriods) :
    orderOf
        (compactDiscreteNormalQuotientGeneratorImageCore
          Δ hCompact hPeriods H
          (ULift.up (ProfiniteFenchelGenerator.inertia k))) =
      Δ.signature.periods k

The compact discrete normal quotient sends each inertia generator to an element of the prescribed order.

Show proof
private theorem compactDiscreteNormalQuotientGeneratorImage_lifted_inertia_order
    (Δ : ProfiniteFGroup.{u})
    (hCompact : Δ.signature.IsCompact)
    (hPeriods : 3 ≤ Δ.signature.numPeriods)
    (H : Subgroup
      (FuchsianPresentedGroup
        (compactFuchsianSignature Δ.signature hCompact hPeriods)))
    [H.Normal]
    (hHTF : IsTorsionFreeGroup H)
    (k : Fin Δ.signature.numPeriods) :
    orderOf
        (compactDiscreteNormalQuotientGeneratorImage
          Δ hCompact hPeriods H
          (ULift.up (ProfiniteFenchelGenerator.inertia k))) =
      Δ.signature.periods k

The lifted compact discrete normal quotient preserves the prescribed inertia-generator orders.

Show proof
private noncomputable def compactDiscreteNormalQuotientSmoothData
    (Δ : ProfiniteFGroup.{u})
    (hCompact : Δ.signature.IsCompact)
    (hPeriods : 3 ≤ Δ.signature.numPeriods)
    (H : Subgroup
      (FuchsianPresentedGroup
        (compactFuchsianSignature Δ.signature hCompact hPeriods)))
    (hHFiniteIndex : H.FiniteIndex)
    (hHNormal : H.Normal)
    (hHTF : IsTorsionFreeGroup H)
    (hHQuot : SubgroupQuotientHasDerivedLengthAtMost H 3) :
    ProfiniteSmoothQuotientData Δ 3 := by
  letI : H.Normal := hHNormal
  letI : H.FiniteIndex := hHFiniteIndex
  letI :
      TopologicalSpace
        (ULift.{u, 0}
          (FuchsianPresentedGroup
            (compactFuchsianSignature Δ.signature hCompact hPeriods) ⧸ H)) :=
    ⊥
  letI :
      DiscreteTopology
        (ULift.{u, 0}
          (FuchsianPresentedGroup
            (compactFuchsianSignature Δ.signature hCompact hPeriods) ⧸ H)) :=
    ⟨rfl⟩
  letI :
      Finite
        (ULift.{u, 0}
          (FuchsianPresentedGroup
            (compactFuchsianSignature Δ.signature hCompact hPeriods) ⧸ H)) := by
    infer_instance
  exact
    ProfiniteSmoothQuotientData.ofPresentationLiftToFiniteOfRelationsOfDerivedSeries
      Δ (compactDiscreteNormalQuotientGeneratorImage Δ hCompact hPeriods H)
      (compactDiscreteNormalQuotientGeneratorImage_lifted_total_relation
        Δ hCompact hPeriods H)
      (compactDiscreteNormalQuotientGeneratorImage_lifted_period_relation
        Δ hCompact hPeriods H)
      (derivedSeries_ulift_eq_bot_of
        (compactDiscreteNormalQuotient_derivedLength
          Δ hCompact hPeriods H hHQuot))
      (compactDiscreteNormalQuotientGeneratorImage_lifted_inertia_order
        Δ hCompact hPeriods H hHTF)

The smooth quotient data obtained from the compact discrete normal quotient.

private theorem compactDiscrete_sourceSubgroup_exists_of_isNonPerfect_zeroGenus
    (Δ : ProfiniteFGroup.{u})
    (hNonPerfect : Δ.IsNonPerfect)
    (hCompact : Δ.signature.IsCompact)
    (hZero : Δ.signature.orbitGenus = 0)
    (hPeriods : 3 ≤ Δ.signature.numPeriods) :
    ∃ H : Subgroup
        (FuchsianPresentedGroup
          (compactFuchsianSignature Δ.signature hCompact hPeriods)),
      H.FiniteIndex ∧ IsTorsionFreeGroup H ∧
        SubgroupQuotientHasDerivedLengthAtMost H 3

In the compact zero-genus nonperfect case with at least three periods, there is a finite-index torsion-free source subgroup whose quotient has derived length at most three.

Show proof
theorem compactDiscreteBridge_threeStep_normal_of_isNonPerfect
    (Δ : ProfiniteFGroup.{u})
    (hNonPerfect : Δ.IsNonPerfect)
    (hCompact : Δ.signature.IsCompact)
    (hZero : Δ.signature.orbitGenus = 0)
    (hPeriods : 3 ≤ Δ.signature.numPeriods) :
    HasTorsionFreeOpenNormalSubgroupQuotientDerivedLengthAtMost
      Δ.carrier 3

Compact zero-genus profinite bridge: explicit zero-genus discrete period data transports through a profinite Fenchel presentation to the required profinite open-normal conclusion.

Show proof