ProCGroups.InverseSystems.CompatibilityAndSurjectivity

19 Theorem | 4 Definition | 1 Structure

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

private def CompatibleUpTo (j : I) (x : ∀ i, S.X i) : Prop :=
  ∀ k, ∀ hkj : k ≤ j, S.map hkj (x j) = x k

Compatibility restricted to indices below a fixed stage. This is only used to prove nonemptiness of the inverse limit.

private theorem isClosed_setOf_compatibleUpTo [∀ i, T2Space (S.X i)] (j : I) :
    IsClosed {x : ∀ i, S.X i | S.CompatibleUpTo j x}

The corresponding finite-stage maps form a compatible family.

Show proof
private theorem compatibleUpTo_nonempty (j : I) [∀ i, Nonempty (S.X i)] :
    ({x : ∀ i, S.X i | S.CompatibleUpTo j x} : Set (∀ i, S.X i)).Nonempty

The corresponding finite-stage maps form a compatible family.

Show proof
private theorem compatibleUpTo_mono {j j' : I} (hjj' : j ≤ j') :
    {x : ∀ i, S.X i | S.CompatibleUpTo j' x} ⊆ {x : ∀ i, S.X i | S.CompatibleUpTo j x}

The corresponding finite-stage maps form a compatible family.

Show proof
theorem nonempty_inverseLimit [∀ i, Nonempty (S.X i)] [∀ i, CompactSpace (S.X i)]
    [∀ i, T2Space (S.X i)] (hdir : Directed (· ≤ ·) (id : I → I)) :
    Nonempty S.inverseLimit

The inverse limit of nonempty compact Hausdorff spaces is nonempty.

Show proof
theorem nonempty_inverseLimit_of_finite [∀ i, Finite (S.X i)] [∀ i, Nonempty (S.X i)]
    [∀ i, DiscreteTopology (S.X i)] (hdir : Directed (· ≤ ·) (id : I → I)) :
    Nonempty S.inverseLimit

Special case for inverse systems of nonempty finite discrete spaces.

Show proof
structure Morphism (T : InverseSystem (I := I)) where
  map : ∀ i, S.X i → T.X i
  continuous_map : ∀ i, Continuous (map i)
  comm : ∀ {i j : I} (hij : i ≤ j), T.map hij ∘ map j = map i ∘ S.map hij

A morphism of inverse systems over the same directed preorder.

@[simp] theorem comm_apply (Θ : S.Morphism T) {i j : I} (hij : i ≤ j) (x : S.X j) :
    T.map hij (Θ.map j x) = Θ.map i (S.map hij x)

A morphism of inverse systems commutes pointwise with transition maps.

Show proof
def id (S : InverseSystem (I := I)) : S.Morphism S where
  map := fun _ => fun x => x
  continuous_map := fun _ => continuous_id
  comm := fun _ => by
    funext x
    rfl

The identity morphism of an inverse system.

@[simp] theorem id_apply (i : I) (x : S.X i) :
    (id S).map i x = x

The identity morphism of an inverse system acts as the identity at each stage.

Show proof
def comp (Φ : T.Morphism U) (Θ : S.Morphism T) : S.Morphism U where
  map := fun i => Φ.map i ∘ Θ.map i
  continuous_map := fun i => (Φ.continuous_map i).comp (Θ.continuous_map i)
  comm := fun {i j} hij => by
    funext x
    calc
      U.map hij ((Φ.map j ∘ Θ.map j) x) = U.map hij (Φ.map j (Θ.map j x)) := rfl
      _ = Φ.map i (T.map hij (Θ.map j x)) := by
        exact congrFun (Φ.comm hij) (Θ.map j x)
      _ = Φ.map i (Θ.map i (S.map hij x)) := by
        rw [Θ.comm_apply hij x]
      _ = ((Φ.map i ∘ Θ.map i) ∘ S.map hij) x := by
        rfl

Morphisms of inverse systems compose stagewise.

@[simp] theorem comp_apply (Φ : T.Morphism U) (Θ : S.Morphism T) (i : I) (x : S.X i) :
    (comp Φ Θ).map i x = Φ.map i (Θ.map i x)

The composite map is computed pointwise by applying the constituent coordinate formulas in succession.

Show proof
theorem compatibleMaps_morphism {T : InverseSystem (I := I)} (Θ : S.Morphism T) :
    T.CompatibleMaps (fun i => Θ.map i ∘ S.projection i)

A morphism of inverse systems sends inverse-limit projections to a compatible family.

Show proof
def limMap {T : InverseSystem (I := I)} (Θ : S.Morphism T) :
    S.inverseLimit → T.inverseLimit :=
  T.inverseLimitLift (fun i => Θ.map i ∘ S.projection i) (S.compatibleMaps_morphism Θ)

A morphism of inverse systems induces a map on inverse limits.

@[simp] theorem π_comp_limMap {T : InverseSystem (I := I)} (Θ : S.Morphism T) (i : I) :
    T.projection i ∘ S.limMap Θ = Θ.map i ∘ S.projection i

Projection after the inverse-system limit map agrees with the corresponding stage map.

Show proof
@[simp] theorem π_limMap_apply {T : InverseSystem (I := I)} (Θ : S.Morphism T)
    (i : I) (x : S.inverseLimit) :
    T.projection i (S.limMap Θ x) = Θ.map i (S.projection i x)

Projecting the induced map on inverse limits to stage \(i\) gives the corresponding stage map after projection.

Show proof
theorem continuous_limMap {T : InverseSystem (I := I)} (Θ : S.Morphism T) :
    Continuous (S.limMap Θ)

A projection after the induced map on inverse limits is the corresponding stage map after projection.

Show proof
@[simp] theorem limMap_id :
    S.limMap (Morphism.id S) = id

The inverse-limit map induced by the identity morphism is the identity.

Show proof
@[simp] theorem limMap_comp {T U : InverseSystem (I := I)} (Φ : T.Morphism U) (Θ : S.Morphism T) :
    S.limMap (Morphism.comp Φ Θ) = T.limMap Φ ∘ S.limMap Θ

The inverse-limit map induced by a composite morphism is the composite of the induced maps.

Show proof
theorem injective_limMap {T : InverseSystem (I := I)} (Θ : S.Morphism T)
    (hinj : ∀ i, Function.Injective (Θ.map i)) :
    Function.Injective (S.limMap Θ)

The induced map on inverse limits is injective when all stage maps are injective.

Show proof
theorem embedding_limMap {T : InverseSystem (I := I)} (Θ : S.Morphism T)
    (hemb : ∀ i, Topology.IsEmbedding (Θ.map i)) :
    Topology.IsEmbedding (S.limMap Θ)

If all components of a morphism of inverse systems are embeddings, then the induced map on inverse limits is an embedding.

Show proof
theorem surjective_limMap {T : InverseSystem (I := I)} [∀ i, CompactSpace (S.X i)]
    [∀ i, T2Space (S.X i)] [∀ i, T2Space (T.X i)] (hdir : Directed (· ≤ ·) (id : I → I))
    (Θ : S.Morphism T) (hsurj : ∀ i, Function.Surjective (Θ.map i)) :
    Function.Surjective (S.limMap Θ)

If all components of a morphism of inverse systems are surjective, then the induced map on inverse limits is surjective.

Show proof
theorem surjective_inverseLimitLift {X : Type w} [TopologicalSpace X] [CompactSpace X]
    [Nonempty I]
    (ψ : ∀ i, X → S.X i) (hψ : ∀ i, Continuous (ψ i)) (hcompat : S.CompatibleMaps ψ)
    (hsurj : ∀ i, Function.Surjective (ψ i)) (hdir : Directed (· ≤ ·) (id : I → I))
    [∀ i, T2Space (S.X i)] :
    Function.Surjective (S.inverseLimitLift ψ hcompat)

Compatible surjections from a compact space induce a surjection onto the inverse limit.

Show proof
theorem exists_injective_projection_of_finite_inverseLimit [Nonempty I]
    (hdir : Directed (· ≤ ·) (id : I → I)) [Finite S.inverseLimit] :
    ∃ k, Function.Injective (S.projection k)

If an inverse limit over a directed index set is finite, one projection separates all points.

Show proof