CompletedGroupAlgebra.OpenFiniteQuotientTopology.OpenFiniteLimit.Topology

7 Theorem | 4 Instance

This module supplies the topological part of the construction. It checks continuity and stagewise neighborhood properties so that the completed object inherits the required topology.

import
Imported by

Declarations

theorem completedGroupAlgebraOpenFiniteQuotientStage_isTopologicalRing
    (R : Type u) (G : Type v) [CommRing R] [TopologicalSpace R] [Group G]
    [TopologicalSpace G] [IsTopologicalGroup G]
    (K : CompletedGroupAlgebraOpenQuotientIndex R G) :
    letI : TopologicalSpace (CompletedGroupAlgebraOpenFiniteQuotientStage R G K)

Each two-parameter finite quotient stage is a topological ring for its discrete topology.

Show proof
theorem completedGroupAlgebraOpenFiniteQuotientStage_isProfiniteRing
    (R : Type u) (G : Type v) [CommRing R] [TopologicalSpace R] [Group G]
    [TopologicalSpace G] [IsTopologicalGroup G] (hR : IsProfiniteRing R)
    (K : CompletedGroupAlgebraOpenQuotientIndex R G) :
    letI : TopologicalSpace (CompletedGroupAlgebraOpenFiniteQuotientStage R G K)

If \(R\) is profinite, each two-parameter quotient stage is a finite discrete ring, hence profinite.

Show proof
theorem completedGroupAlgebraOpenFiniteQuotientStage_fintype
    (R : Type u) (G : Type v) [CommRing R] [TopologicalSpace R] [Group G]
    [TopologicalSpace G] [IsTopologicalGroup G] (hR : IsProfiniteRing R)
    (K : CompletedGroupAlgebraOpenQuotientIndex R G) :
    Nonempty (Fintype (CompletedGroupAlgebraOpenFiniteQuotientStage R G K))

Each open-finite quotient stage is finite when the coefficient ring is profinite.

Show proof
instance instContinuousAddCompletedGroupAlgebraOpenFiniteQuotientLimit :
    ContinuousAdd (CompletedGroupAlgebraOpenFiniteQuotientLimit R G) where
  continuous_add := by
    let A := CompletedGroupAlgebraOpenFiniteQuotientLimit R G
    letI : ∀ K : CompletedGroupAlgebraOpenQuotientIndex R G,
        TopologicalSpace (CompletedGroupAlgebraOpenFiniteQuotientStage R G K) :=
      fun K => (completedGroupAlgebraOpenFiniteQuotientSystem R G).topologicalSpace K
    have hval : Continuous fun p : A × A =>
        ((p.1 + p.2 : A) :
          (K : CompletedGroupAlgebraOpenQuotientIndex R G) →
            (completedGroupAlgebraOpenFiniteQuotientSystem R G).X K) := by
      change Continuous fun p : A × A =>
        fun K : CompletedGroupAlgebraOpenQuotientIndex R G =>
          completedGroupAlgebraOpenFiniteQuotientLimitProjection R G K p.1 +
            completedGroupAlgebraOpenFiniteQuotientLimitProjection R G K p.2
      apply continuous_pi
      intro K
      letI : IsTopologicalRing ((completedGroupAlgebraOpenFiniteQuotientSystem R G).X K) :=
        completedGroupAlgebraOpenFiniteQuotientStage_isTopologicalRing (R := R) (G := G) K
      exact (((completedGroupAlgebraOpenFiniteQuotientSystem R G).continuous_projection K).comp
          continuous_fst).add
        (((completedGroupAlgebraOpenFiniteQuotientSystem R G).continuous_projection K).comp
          continuous_snd)
    exact Continuous.subtype_mk hval fun p => (p.1 + p.2).2

Addition on the open-finite completed group algebra is continuous for the inverse-limit topology.

instance instContinuousNegCompletedGroupAlgebraOpenFiniteQuotientLimit :
    ContinuousNeg (CompletedGroupAlgebraOpenFiniteQuotientLimit R G) where
  continuous_neg := by
    let A := CompletedGroupAlgebraOpenFiniteQuotientLimit R G
    letI : ∀ K : CompletedGroupAlgebraOpenQuotientIndex R G,
        TopologicalSpace (CompletedGroupAlgebraOpenFiniteQuotientStage R G K) :=
      fun K => (completedGroupAlgebraOpenFiniteQuotientSystem R G).topologicalSpace K
    have hval : Continuous fun x : A =>
        ((-x : A) :
          (K : CompletedGroupAlgebraOpenQuotientIndex R G) →
            (completedGroupAlgebraOpenFiniteQuotientSystem R G).X K) := by
      change Continuous fun x : A =>
        fun K : CompletedGroupAlgebraOpenQuotientIndex R G =>
          -completedGroupAlgebraOpenFiniteQuotientLimitProjection R G K x
      apply continuous_pi
      intro K
      letI : IsTopologicalRing ((completedGroupAlgebraOpenFiniteQuotientSystem R G).X K) :=
        completedGroupAlgebraOpenFiniteQuotientStage_isTopologicalRing (R := R) (G := G) K
      exact ((completedGroupAlgebraOpenFiniteQuotientSystem R G).continuous_projection K).neg
    exact Continuous.subtype_mk hval fun x => (-x).2

Negation on the completed group algebra is continuous for the inverse-limit topology.

instance instContinuousMulCompletedGroupAlgebraOpenFiniteQuotientLimit :
    ContinuousMul (CompletedGroupAlgebraOpenFiniteQuotientLimit R G) where
  continuous_mul := by
    let A := CompletedGroupAlgebraOpenFiniteQuotientLimit R G
    letI : ∀ K : CompletedGroupAlgebraOpenQuotientIndex R G,
        TopologicalSpace (CompletedGroupAlgebraOpenFiniteQuotientStage R G K) :=
      fun K => (completedGroupAlgebraOpenFiniteQuotientSystem R G).topologicalSpace K
    have hval : Continuous fun p : A × A =>
        ((p.1 * p.2 : A) :
          (K : CompletedGroupAlgebraOpenQuotientIndex R G) →
            (completedGroupAlgebraOpenFiniteQuotientSystem R G).X K) := by
      change Continuous fun p : A × A =>
        fun K : CompletedGroupAlgebraOpenQuotientIndex R G =>
          completedGroupAlgebraOpenFiniteQuotientLimitProjection R G K p.1 *
            completedGroupAlgebraOpenFiniteQuotientLimitProjection R G K p.2
      apply continuous_pi
      intro K
      letI : IsTopologicalRing ((completedGroupAlgebraOpenFiniteQuotientSystem R G).X K) :=
        completedGroupAlgebraOpenFiniteQuotientStage_isTopologicalRing (R := R) (G := G) K
      exact (((completedGroupAlgebraOpenFiniteQuotientSystem R G).continuous_projection K).comp
          continuous_fst).mul
        (((completedGroupAlgebraOpenFiniteQuotientSystem R G).continuous_projection K).comp
          continuous_snd)
    exact Continuous.subtype_mk hval fun p => (p.1 * p.2).2

Multiplication on the completed group algebra is continuous for the inverse-limit topology.

instance instIsTopologicalRingCompletedGroupAlgebraOpenFiniteQuotientLimit :
    IsTopologicalRing (CompletedGroupAlgebraOpenFiniteQuotientLimit R G) := by
  letI : ContinuousAdd (CompletedGroupAlgebraOpenFiniteQuotientLimit R G) :=
    instContinuousAddCompletedGroupAlgebraOpenFiniteQuotientLimit (R := R) (G := G)
  letI : ContinuousMul (CompletedGroupAlgebraOpenFiniteQuotientLimit R G) :=
    instContinuousMulCompletedGroupAlgebraOpenFiniteQuotientLimit (R := R) (G := G)
  letI : ContinuousNeg (CompletedGroupAlgebraOpenFiniteQuotientLimit R G) :=
    instContinuousNegCompletedGroupAlgebraOpenFiniteQuotientLimit (R := R) (G := G)
  letI : IsTopologicalSemiring (CompletedGroupAlgebraOpenFiniteQuotientLimit R G) :=
    IsTopologicalSemiring.mk
  exact IsTopologicalRing.mk

The open-finite quotient limit is a topological ring.

theorem completedGroupAlgebraOpenFiniteQuotientLimit_compactSpace
    (hR : IsProfiniteRing R) :
    CompactSpace (CompletedGroupAlgebraOpenFiniteQuotientLimit R G)

The open-finite quotient limit is compact when the coefficient ring is profinite.

Show proof
theorem completedGroupAlgebraOpenFiniteQuotientLimit_t2Space
    (hR : IsProfiniteRing R) :
    T2Space (CompletedGroupAlgebraOpenFiniteQuotientLimit R G)

The open-finite quotient limit is Hausdorff when the coefficient ring is profinite.

Show proof
theorem completedGroupAlgebraOpenFiniteQuotientLimit_totallyDisconnectedSpace
    (hR : IsProfiniteRing R) :
    TotallyDisconnectedSpace (CompletedGroupAlgebraOpenFiniteQuotientLimit R G)

The open-finite quotient limit is totally disconnected when the coefficient ring is profinite.

Show proof
theorem completedGroupAlgebraOpenFiniteQuotientLimit_isProfiniteRing
    (hR : IsProfiniteRing R) :
    IsProfiniteRing (CompletedGroupAlgebraOpenFiniteQuotientLimit R G)

The two-parameter kernel-neighborhood limit is a profinite ring.

Show proof