ProCGroups.Categorical.PullbackComparison

18 Theorem | 3 Definition

This module studies pullback comparison for pro cgroups. The canonical comparison map from an abstract profinite pullback square to the concrete pullback. The canonical comparison map from the concrete profinite pullback to itself is the identity.

import
Imported by

Declarations

def toContinuousPullbackOfIsPullback
    (α₁ : G →ₜ* H₁) (α₂ : G →ₜ* H₂)
    (β₁ : H₁ →ₜ* H) (β₂ : H₂ →ₜ* H)
    (hpb : HasProfiniteTestPullbackProperty α₁ α₂ β₁ β₂) :
    G →ₜ* TopologicalFiberProduct.carrier β₁ β₂ :=
  TopologicalFiberProduct.lift β₁ β₂ α₁ α₂ (fun g => DFunLike.congr_fun hpb.1 g)

The canonical comparison map from an abstract profinite pullback square to the concrete pullback.

@[simp] theorem toContinuousPullbackOfIsPullback_self
    (β₁ : H₁ →ₜ* H) (β₂ : H₂ →ₜ* H) :
    toContinuousPullbackOfIsPullback (TopologicalFiberProduct.fst β₁ β₂) (TopologicalFiberProduct.snd β₁ β₂) β₁ β₂
        (TopologicalFiberProduct.hasProfiniteTestPullbackProperty β₁ β₂) =
      ContinuousMonoidHom.id (TopologicalFiberProduct.carrier β₁ β₂)

The canonical comparison map from the concrete profinite pullback to itself is the identity.

Show proof
@[simp] theorem TopologicalFiberProduct.fst_toContinuousPullbackOfIsPullback
    (α₁ : G →ₜ* H₁) (α₂ : G →ₜ* H₂)
    (β₁ : H₁ →ₜ* H) (β₂ : H₂ →ₜ* H)
    (hpb : HasProfiniteTestPullbackProperty α₁ α₂ β₁ β₂) :
    (TopologicalFiberProduct.fst β₁ β₂).comp (toContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hpb) = α₁

The first coordinate of the canonical comparison map recovers the first leg of the square.

Show proof
@[simp] theorem TopologicalFiberProduct.snd_toContinuousPullbackOfIsPullback
    (α₁ : G →ₜ* H₁) (α₂ : G →ₜ* H₂)
    (β₁ : H₁ →ₜ* H) (β₂ : H₂ →ₜ* H)
    (hpb : HasProfiniteTestPullbackProperty α₁ α₂ β₁ β₂) :
    (TopologicalFiberProduct.snd β₁ β₂).comp (toContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hpb) = α₂

The second coordinate of the canonical comparison map recovers the second leg of the square.

Show proof
noncomputable def fromContinuousPullbackOfIsPullback
    (α₁ : G →ₜ* H₁) (α₂ : G →ₜ* H₂)
    (β₁ : H₁ →ₜ* H) (β₂ : H₂ →ₜ* H)
    (hH₁ : IsProfiniteGroup H₁)
    (hH₂ : IsProfiniteGroup H₂) (hH : IsProfiniteGroup H)
    (hpb : HasProfiniteTestPullbackProperty α₁ α₂ β₁ β₂) :
    TopologicalFiberProduct.carrier β₁ β₂ →ₜ* G :=
  pullbackDescCont hpb
    (TopologicalFiberProduct.isProfiniteGroup β₁ β₂ hH₁ hH₂ hH)
    (TopologicalFiberProduct.fst β₁ β₂)
    (TopologicalFiberProduct.snd β₁ β₂)
    (TopologicalFiberProduct.hasProfiniteTestPullbackProperty β₁ β₂).1

The canonical inverse comparison map from the concrete pullback to an abstract profinite pullback square.

theorem fromContinuousPullbackOfIsPullback_spec
    (α₁ : G →ₜ* H₁) (α₂ : G →ₜ* H₂)
    (β₁ : H₁ →ₜ* H) (β₂ : H₂ →ₜ* H)
    (hH₁ : IsProfiniteGroup H₁)
    (hH₂ : IsProfiniteGroup H₂) (hH : IsProfiniteGroup H)
    (hpb : HasProfiniteTestPullbackProperty α₁ α₂ β₁ β₂) :
    α₁.comp (fromContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hH₁ hH₂ hH hpb) =
        TopologicalFiberProduct.fst β₁ β₂ ∧
      α₂.comp (fromContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hH₁ hH₂ hH hpb) =
        TopologicalFiberProduct.snd β₁ β₂

Specification of the inverse comparison map from the concrete pullback.

Show proof
theorem fromContinuousPullbackOfIsPullback_uniq
    (α₁ : G →ₜ* H₁) (α₂ : G →ₜ* H₂)
    (β₁ : H₁ →ₜ* H) (β₂ : H₂ →ₜ* H)
    (hH₁ : IsProfiniteGroup H₁)
    (hH₂ : IsProfiniteGroup H₂) (hH : IsProfiniteGroup H)
    (hpb : HasProfiniteTestPullbackProperty α₁ α₂ β₁ β₂)
    {ψ : TopologicalFiberProduct.carrier β₁ β₂ →ₜ* G}
    (hψ : α₁.comp ψ = TopologicalFiberProduct.fst β₁ β₂ ∧ α₂.comp ψ = TopologicalFiberProduct.snd β₁ β₂) :
    ψ = fromContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hH₁ hH₂ hH hpb

Uniqueness of the inverse comparison map from the concrete pullback.

Show proof
theorem fromContinuousPullback_comp_toContinuousPullbackOfIsPullback
    (α₁ : G →ₜ* H₁) (α₂ : G →ₜ* H₂)
    (β₁ : H₁ →ₜ* H) (β₂ : H₂ →ₜ* H)
    (hG : IsProfiniteGroup G) (hH₁ : IsProfiniteGroup H₁)
    (hH₂ : IsProfiniteGroup H₂) (hH : IsProfiniteGroup H)
    (hpb : HasProfiniteTestPullbackProperty α₁ α₂ β₁ β₂) :
    (fromContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hH₁ hH₂ hH hpb).comp
        (toContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hpb) =
      ContinuousMonoidHom.id G

Composing the inverse comparison map with the canonical map gives the identity.

Show proof
theorem toContinuousPullback_comp_fromContinuousPullbackOfIsPullback
    (α₁ : G →ₜ* H₁) (α₂ : G →ₜ* H₂)
    (β₁ : H₁ →ₜ* H) (β₂ : H₂ →ₜ* H)
    (hH₁ : IsProfiniteGroup H₁)
    (hH₂ : IsProfiniteGroup H₂) (hH : IsProfiniteGroup H)
    (hpb : HasProfiniteTestPullbackProperty α₁ α₂ β₁ β₂) :
    (toContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hpb).comp
        (fromContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hH₁ hH₂ hH hpb) =
      ContinuousMonoidHom.id (TopologicalFiberProduct.carrier β₁ β₂)

Composing the canonical map with the inverse comparison map gives the identity.

Show proof
@[simp] theorem fromContinuousPullbackOfIsPullback_toContinuousPullbackOfIsPullback_apply
    (α₁ : G →ₜ* H₁) (α₂ : G →ₜ* H₂)
    (β₁ : H₁ →ₜ* H) (β₂ : H₂ →ₜ* H)
    (hG : IsProfiniteGroup G) (hH₁ : IsProfiniteGroup H₁)
    (hH₂ : IsProfiniteGroup H₂) (hH : IsProfiniteGroup H)
    (hpb : HasProfiniteTestPullbackProperty α₁ α₂ β₁ β₂) (g : G) :
    fromContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hH₁ hH₂ hH hpb
      (toContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hpb g) = g

Pointwise left-inverse formula for the canonical comparison maps.

Show proof
@[simp] theorem toContinuousPullbackOfIsPullback_fromContinuousPullbackOfIsPullback_apply
    (α₁ : G →ₜ* H₁) (α₂ : G →ₜ* H₂)
    (β₁ : H₁ →ₜ* H) (β₂ : H₂ →ₜ* H)
    (hH₁ : IsProfiniteGroup H₁)
    (hH₂ : IsProfiniteGroup H₂) (hH : IsProfiniteGroup H)
    (hpb : HasProfiniteTestPullbackProperty α₁ α₂ β₁ β₂) (x : TopologicalFiberProduct.carrier β₁ β₂) :
    toContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hpb
      (fromContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hH₁ hH₂ hH hpb x) = x

Pointwise right-inverse formula for the canonical comparison maps.

Show proof
theorem bijective_toContinuousPullbackOfIsPullback
    (α₁ : G →ₜ* H₁) (α₂ : G →ₜ* H₂)
    (β₁ : H₁ →ₜ* H) (β₂ : H₂ →ₜ* H)
    (hG : IsProfiniteGroup G) (hH₁ : IsProfiniteGroup H₁)
    (hH₂ : IsProfiniteGroup H₂) (hH : IsProfiniteGroup H)
    (hpb : HasProfiniteTestPullbackProperty α₁ α₂ β₁ β₂) :
    Function.Bijective (toContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hpb)

The canonical comparison map from an abstract profinite pullback square is bijective.

Show proof
@[simp 900] theorem toContinuousPullbackOfIsPullback_comp_pullbackDescCont
    {A : Type u} [Group A] [TopologicalSpace A] [IsTopologicalGroup A]
    (α₁ : G →ₜ* H₁) (α₂ : G →ₜ* H₂)
    (β₁ : H₁ →ₜ* H) (β₂ : H₂ →ₜ* H)
    (hpb : HasProfiniteTestPullbackProperty α₁ α₂ β₁ β₂)
    (hA : IsProfiniteGroup A)
    (φ₁ : A →ₜ* H₁) (φ₂ : A →ₜ* H₂)
    (hφ : β₁.comp φ₁ = β₂.comp φ₂) :
    (toContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hpb).comp
        (pullbackDescCont hpb hA φ₁ φ₂ hφ) =
      TopologicalFiberProduct.lift β₁ β₂ φ₁ φ₂ (fun a => DFunLike.congr_fun hφ a)

The canonical comparison map sends the chosen pullback descent map to the concrete continuous pullback lift.

Show proof
theorem surjective_pullbackDescCont_of_ker_eq
    {A : Type u} [Group A] [TopologicalSpace A] [IsTopologicalGroup A]
    (α₁ : G →ₜ* H₁) (α₂ : G →ₜ* H₂)
    (β₁ : H₁ →ₜ* H) (β₂ : H₂ →ₜ* H)
    (hA : IsProfiniteGroup A) (hG : IsProfiniteGroup G)
    (hH₁ : IsProfiniteGroup H₁)
    (hH₂ : IsProfiniteGroup H₂) (hH : IsProfiniteGroup H)
    (hpb : HasProfiniteTestPullbackProperty α₁ α₂ β₁ β₂)
    (φ₁ : A →ₜ* H₁) (φ₂ : A →ₜ* H₂)
    (hφ₁ : Function.Surjective φ₁) (hφ₂ : Function.Surjective φ₂)
    (hcomp : β₁.comp φ₁ = β₂.comp φ₂)
    (hker : (β₁.comp φ₁).toMonoidHom.ker = φ₁.toMonoidHom.ker ⊔ φ₂.toMonoidHom.ker) :
    Function.Surjective (pullbackDescCont hpb hA φ₁ φ₂ hcomp)

Surjectivity of the continuous pullback lift is equivalent to the required kernel equality.

Show proof
noncomputable def pullbackContEquivOfIsPullback
    (α₁ : G →ₜ* H₁) (α₂ : G →ₜ* H₂)
    (β₁ : H₁ →ₜ* H) (β₂ : H₂ →ₜ* H)
    (hG : IsProfiniteGroup G) (hH₁ : IsProfiniteGroup H₁)
    (hH₂ : IsProfiniteGroup H₂) (hH : IsProfiniteGroup H)
    (hpb : HasProfiniteTestPullbackProperty α₁ α₂ β₁ β₂) :
    G ≃ₜ* TopologicalFiberProduct.carrier β₁ β₂ where
  toMulEquiv :=
    { toFun := toContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hpb
      invFun := fromContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hH₁ hH₂ hH hpb
      left_inv := by
        intro g
        exact congrArg (fun f : G →ₜ* G => f g)
          (fromContinuousPullback_comp_toContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hG hH₁ hH₂ hH hpb)
      right_inv := by
        intro x
        exact congrArg
          (fun f : TopologicalFiberProduct.carrier β₁ β₂ →ₜ* TopologicalFiberProduct.carrier β₁ β₂ => f x)
          (toContinuousPullback_comp_fromContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hH₁ hH₂ hH hpb)
      map_mul' := by
        intro x y
        exact (toContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hpb).map_mul x y }
  continuous_toFun := (toContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hpb).continuous_toFun
  continuous_invFun :=
    (fromContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hH₁ hH₂ hH hpb).continuous_toFun

Any profinite pullback square is canonically isomorphic to the concrete pullback.

@[simp] theorem pullbackContEquivOfIsPullback_symm_toContinuousMonoidHom
    (α₁ : G →ₜ* H₁) (α₂ : G →ₜ* H₂)
    (β₁ : H₁ →ₜ* H) (β₂ : H₂ →ₜ* H)
    (hG : IsProfiniteGroup G) (hH₁ : IsProfiniteGroup H₁)
    (hH₂ : IsProfiniteGroup H₂) (hH : IsProfiniteGroup H)
    (hpb : HasProfiniteTestPullbackProperty α₁ α₂ β₁ β₂) :
    (pullbackContEquivOfIsPullback α₁ α₂ β₁ β₂ hG hH₁ hH₂ hH hpb).symm.toContinuousMonoidHom =
      fromContinuousPullbackOfIsPullback α₁ α₂ β₁ β₂ hH₁ hH₂ hH hpb

Forgetting continuity from the inverse of the canonical pullback equivalence recovers the inverse comparison map.

Show proof
@[simp] theorem pullbackContEquivOfIsPullback_fst
    (α₁ : G →ₜ* H₁) (α₂ : G →ₜ* H₂)
    (β₁ : H₁ →ₜ* H) (β₂ : H₂ →ₜ* H)
    (hG : IsProfiniteGroup G) (hH₁ : IsProfiniteGroup H₁)
    (hH₂ : IsProfiniteGroup H₂) (hH : IsProfiniteGroup H)
    (hpb : HasProfiniteTestPullbackProperty α₁ α₂ β₁ β₂) :
    (TopologicalFiberProduct.fst β₁ β₂).comp
        (pullbackContEquivOfIsPullback α₁ α₂ β₁ β₂ hG hH₁ hH₂ hH hpb).toContinuousMonoidHom =
      α₁

The first coordinate of the canonical pullback equivalence recovers \(\alpha_1\).

Show proof
@[simp] theorem pullbackContEquivOfIsPullback_snd
    (α₁ : G →ₜ* H₁) (α₂ : G →ₜ* H₂)
    (β₁ : H₁ →ₜ* H) (β₂ : H₂ →ₜ* H)
    (hG : IsProfiniteGroup G) (hH₁ : IsProfiniteGroup H₁)
    (hH₂ : IsProfiniteGroup H₂) (hH : IsProfiniteGroup H)
    (hpb : HasProfiniteTestPullbackProperty α₁ α₂ β₁ β₂) :
    (TopologicalFiberProduct.snd β₁ β₂).comp
        (pullbackContEquivOfIsPullback α₁ α₂ β₁ β₂ hG hH₁ hH₂ hH hpb).toContinuousMonoidHom =
      α₂

The second coordinate of the canonical pullback equivalence recovers \(\alpha_2\).

Show proof
@[simp 900] theorem pullbackContEquivOfIsPullback_symm_fst_apply
    (α₁ : G →ₜ* H₁) (α₂ : G →ₜ* H₂)
    (β₁ : H₁ →ₜ* H) (β₂ : H₂ →ₜ* H)
    (hG : IsProfiniteGroup G) (hH₁ : IsProfiniteGroup H₁)
    (hH₂ : IsProfiniteGroup H₂) (hH : IsProfiniteGroup H)
    (hpb : HasProfiniteTestPullbackProperty α₁ α₂ β₁ β₂) (x : TopologicalFiberProduct.carrier β₁ β₂) :
    α₁ ((pullbackContEquivOfIsPullback α₁ α₂ β₁ β₂ hG hH₁ hH₂ hH hpb).symm x) =
      TopologicalFiberProduct.fst β₁ β₂ x

Pointwise first-coordinate formula for the inverse of the canonical pullback equivalence.

Show proof
@[simp 900] theorem pullbackContEquivOfIsPullback_symm_snd_apply
    (α₁ : G →ₜ* H₁) (α₂ : G →ₜ* H₂)
    (β₁ : H₁ →ₜ* H) (β₂ : H₂ →ₜ* H)
    (hG : IsProfiniteGroup G) (hH₁ : IsProfiniteGroup H₁)
    (hH₂ : IsProfiniteGroup H₂) (hH : IsProfiniteGroup H)
    (hpb : HasProfiniteTestPullbackProperty α₁ α₂ β₁ β₂) (x : TopologicalFiberProduct.carrier β₁ β₂) :
    α₂ ((pullbackContEquivOfIsPullback α₁ α₂ β₁ β₂ hG hH₁ hH₂ hH hpb).symm x) =
      TopologicalFiberProduct.snd β₁ β₂ x

Pointwise second-coordinate formula for the inverse of the canonical pullback equivalence.

Show proof
theorem hasProfiniteTestPullbackProperty_iff_bijective_toConcretePullback
    {α₁ : G →ₜ* H₁} {α₂ : G →ₜ* H₂}
    {β₁ : H₁ →ₜ* H} {β₂ : H₂ →ₜ* H}
    (hG : IsProfiniteGroup G) (hH₁ : IsProfiniteGroup H₁)
    (hH₂ : IsProfiniteGroup H₂) (hH : IsProfiniteGroup H)
    (hcomm : β₁.comp α₁ = β₂.comp α₂) :
    HasProfiniteTestPullbackProperty α₁ α₂ β₁ β₂ ↔
      Function.Bijective
        (TopologicalFiberProduct.lift β₁ β₂ α₁ α₂ (fun g => DFunLike.congr_fun hcomm g))

A profinite square is a pullback if and only if its canonical comparison map to the concrete pullback is bijective.

Show proof