ProCGroups.InverseSystems.ProjectionImageSystems

15 Theorem | 6 Definition

This module sets up the finite-stage and inverse-limit description of the construction. It records the stage maps, projections, and comparison lemmas used to pass back to the completed object.

import
Imported by

Declarations

def InverseSystem.projectionImageSystem {I : Type u} [Preorder I]
    (S : InverseSystem (I := I)) (Y : Set S.inverseLimit) :
    InverseSystem (I := I) where
  X := fun i => S.projection i '' Y
  topologicalSpace := fun _ => inferInstance
  map := fun {i j} hij x => ⟨S.map hij x.1, by
    rcases x.2 with ⟨y, hy, hxy⟩
    refine ⟨y, hy, ?_⟩
    simpa [← hxy] using (S.projection_compatible y i j hij).symm⟩
  continuous_map := fun {i j} hij =>
    Continuous.subtype_mk
      ((S.continuous_map hij).comp continuous_subtype_val) (fun x => by
        rcases x.2 with ⟨y, hy, hxy⟩
        refine ⟨y, hy, ?_⟩
        simpa [Function.comp, ← hxy] using (S.projection_compatible y i j hij).symm)
  map_id := fun i => by
    funext x
    apply Subtype.ext
    simp only [map_id_apply, id_eq]
  map_comp := fun {i j k} hij hjk => by
    funext x
    apply Subtype.ext
    simp only [Function.comp_apply, S.map_comp_apply hij hjk]

The inverse system formed by the projection images of a subset of an inverse limit.

def projectionImageInclusion {I : Type u} [Preorder I]
    (S : InverseSystem (I := I)) (Y : Set S.inverseLimit) :
    (S.projectionImageSystem Y).Morphism S where
  map := fun _ => Subtype.val
  continuous_map := fun _ => continuous_subtype_val
  comm := fun {i j} hij => by
    funext x
    rfl

The canonical morphism from the projection-image system into the ambient inverse system.

def projectionImageSectionMap {I : Type u} [Preorder I]
    (S : InverseSystem (I := I)) (Y : Set S.inverseLimit) (i : I) :
    Y → (S.projectionImageSystem Y).X i :=
  fun y => ⟨S.projection i y.1, ⟨y.1, y.2, rfl⟩⟩

The coordinatewise section map from a subset of an inverse limit to its projection-image system.

theorem continuous_projectionImageSectionMap {I : Type u} [Preorder I]
    (S : InverseSystem (I := I)) (Y : Set S.inverseLimit) (i : I) :
    Continuous (projectionImageSectionMap S Y i)

The section map from the projection-image inverse limit back to the closed subspace is continuous.

Show proof
theorem compatible_projectionImageSectionMap {I : Type u} [Preorder I]
    (S : InverseSystem (I := I)) (Y : Set S.inverseLimit) :
    (S.projectionImageSystem Y).CompatibleMaps (projectionImageSectionMap S Y)

The projection-image section maps are compatible with the inverse-system transition maps.

Show proof
theorem surjective_projectionImageSectionMap {I : Type u} [Preorder I]
    (S : InverseSystem (I := I)) (Y : Set S.inverseLimit) (i : I) :
    Function.Surjective (projectionImageSectionMap S Y i)

Each coordinate section map onto a projection image is surjective.

Show proof
def projectionImageLift {I : Type u} [Preorder I]
    (S : InverseSystem (I := I)) (Y : Set S.inverseLimit) :
    Y → (S.projectionImageSystem Y).inverseLimit :=
  (S.projectionImageSystem Y).inverseLimitLift (projectionImageSectionMap S Y)
    (compatible_projectionImageSectionMap S Y)

The canonical lift from a subset of an inverse limit to the inverse limit of its projection-image system.

theorem continuous_projectionImageLift {I : Type u} [Preorder I]
    (S : InverseSystem (I := I)) (Y : Set S.inverseLimit) :
    Continuous (projectionImageLift S Y)

The lift from a closed subspace into the inverse limit of its projection images is continuous.

Show proof
theorem surjective_projectionImageLift {I : Type u} [Preorder I] [Nonempty I]
    (S : InverseSystem (I := I)) [∀ i, CompactSpace (S.X i)] [∀ i, T2Space (S.X i)]
    (hdir : Directed (· ≤ ·) (id : I → I)) (Y : Set S.inverseLimit) (hY : IsClosed Y) :
    Function.Surjective (projectionImageLift S Y)

For a closed subset of a compact Hausdorff inverse limit, the canonical projection-image lift is surjective.

Show proof
theorem projectionImageLift_comp_subtype {I : Type u} [Preorder I]
    (S : InverseSystem (I := I)) (Y : Set S.inverseLimit) :
    (S.projectionImageSystem Y).limMap (projectionImageInclusion S Y) ∘
        projectionImageLift S Y = Subtype.val

Composing the projection-image lift with the inclusion morphism recovers the underlying point of the original inverse limit.

Show proof
theorem InverseSystem.surjective_projectionImageSystem_map
    {I : Type u} [Preorder I] (S : InverseSystem (I := I)) (Y : Set S.inverseLimit)
    {i j : I} (hij : i ≤ j) :
    Function.Surjective ((S.projectionImageSystem Y).map hij)

The transition maps in the projection-image system are always surjective.

Show proof
noncomputable def InverseSystem.homeomorph_projectionImageSystem_of_isClosed
    {I : Type u} [Preorder I] (S : InverseSystem (I := I)) [Nonempty I]
    [∀ i, CompactSpace (S.X i)] [∀ i, T2Space (S.X i)]
    (hdir : Directed (· ≤ ·) (id : I → I))
    (Y : Set S.inverseLimit) (hY : IsClosed Y) :
    Y ≃ₜ (S.projectionImageSystem Y).inverseLimit := by
  classical
  letI : CompactSpace Y := by
    simpa using hY.isClosedEmbedding_subtypeVal.compactSpace
  letI : ∀ i, T2Space ((S.projectionImageSystem Y).X i) := fun i => by
    change T2Space (S.projection i '' Y)
    infer_instance
  let e := projectionImageLift S Y
  have he_inj : Function.Injective e := by
    intro y y' hyy
    have hy : y.1 = y'.1 := by
      calc
        y.1 = (S.projectionImageSystem Y).limMap (projectionImageInclusion S Y) (e y) := by
          simpa [Function.comp] using (congrFun (projectionImageLift_comp_subtype S Y) y).symm
        _ = (S.projectionImageSystem Y).limMap (projectionImageInclusion S Y) (e y') := by
          rw [hyy]
        _ = y'.1 := by
          simpa [Function.comp] using congrFun (projectionImageLift_comp_subtype S Y) y'
    exact Subtype.ext hy
  exact (continuous_projectionImageLift S Y).homeoOfBijectiveCompactToT2
    ⟨he_inj, surjective_projectionImageLift S hdir Y hY⟩

A closed subset of an inverse limit is homeomorphic to the inverse limit of its projection-image system.

theorem range_limMap_projectionImageInclusion_eq
    {I : Type u} [Preorder I] (S : InverseSystem (I := I)) [Nonempty I]
    [∀ i, CompactSpace (S.X i)] [∀ i, T2Space (S.X i)]
    (hdir : Directed (· ≤ ·) (id : I → I))
    (Y : Set S.inverseLimit) (hY : IsClosed Y) :
    Set.range ((S.projectionImageSystem Y).limMap (projectionImageInclusion S Y)) = Y

The range of the limit map is exactly the compatible inverse limit of the projection images.

Show proof
theorem InverseSystem.mem_isClosed_iff_forall_projection_mem
    {I : Type u} [Preorder I] {S : InverseSystem (I := I)} [Nonempty I]
    [∀ i, CompactSpace (S.X i)] [∀ i, T2Space (S.X i)]
    (hdir : Directed (· ≤ ·) (id : I → I))
    {Y : Set S.inverseLimit} (hY : IsClosed Y) {x : S.inverseLimit} :
    x ∈ Y ↔ ∀ i, S.projection i x ∈ S.projection i '' Y

Membership in the projected image system can be checked coordinatewise.

Show proof
theorem InverseSystem.exists_homeomorph_closed_subspace_projection_images
    {I : Type u} [Preorder I] (S : InverseSystem (I := I)) [Nonempty I]
    [∀ i, CompactSpace (S.X i)] [∀ i, T2Space (S.X i)]
    (hdir : Directed (· ≤ ·) (id : I → I))
    (Y : Set S.inverseLimit) (hY : IsClosed Y) :
    (∀ i, Nonempty (((S.projectionImageSystem Y).X i) ≃ₜ (S.projection i '' Y))) ∧
      Nonempty (Y ≃ₜ (S.projectionImageSystem Y).inverseLimit)

A closed subspace of an inverse limit is again an inverse limit of its projection images.

Show proof
theorem InverseSystem.projection_image_closure_eq_closure_projection_image
    {I : Type u} [Preorder I] (S : InverseSystem (I := I))
    [∀ i, CompactSpace (S.X i)] [∀ i, T2Space (S.X i)]
    (i : I) (Y : Set S.inverseLimit) :
    S.projection i '' closure Y = closure (S.projection i '' Y)

The projection of the closure of a subset equals the closure of the projection image.

Show proof
theorem InverseSystem.exists_homeomorph_closure_projection_images
    {I : Type u} [Preorder I] (S : InverseSystem (I := I)) [Nonempty I]
    [∀ i, CompactSpace (S.X i)] [∀ i, T2Space (S.X i)]
    (hdir : Directed (· ≤ ·) (id : I → I))
    (Y : Set S.inverseLimit) :
    (∀ i, Nonempty (((S.projectionImageSystem (closure Y)).X i) ≃ₜ (S.projection i '' closure Y))) ∧
      Nonempty (closure Y ≃ₜ (S.projectionImageSystem (closure Y)).inverseLimit)

The closure of a subset of an inverse limit is homeomorphic to the inverse limit of the projection-image system of that closure.

Show proof
theorem InverseSystem.closure_eq_of_projection_images_eq
    {I : Type u} [Preorder I] (S : InverseSystem (I := I)) [Nonempty I]
    [∀ i, CompactSpace (S.X i)] [∀ i, T2Space (S.X i)]
    (hdir : Directed (· ≤ ·) (id : I → I))
    (Y Y' : Set S.inverseLimit)
    (hproj : ∀ i, S.projection i '' closure Y = S.projection i '' closure Y') :
    closure Y = closure Y'

Closed subsets of the inverse limit are equal when their projection images agree at every stage.

Show proof
theorem InverseSystem.closure_eq_of_projection_images_eq_of_subsets
    {I : Type u} [Preorder I] (S : InverseSystem (I := I)) [Nonempty I]
    [∀ i, CompactSpace (S.X i)] [∀ i, T2Space (S.X i)]
    (hdir : Directed (· ≤ ·) (id : I → I))
    (Y Y' : Set S.inverseLimit)
    (hproj : ∀ i, S.projection i '' Y = S.projection i '' Y') :
    closure Y = closure Y'

Equal raw projection images of two subsets force their closures in the inverse limit to be equal.

Show proof
noncomputable def InverseSystem.homeomorph_surjectiveProjectionImageSystem
    {I : Type u} [Preorder I] (S : InverseSystem (I := I)) [Nonempty I]
    [∀ i, CompactSpace (S.X i)] [∀ i, T2Space (S.X i)]
    (hdir : Directed (· ≤ ·) (id : I → I)) :
    S.inverseLimit ≃ₜ (S.projectionImageSystem (Set.univ : Set S.inverseLimit)).inverseLimit :=
  (Homeomorph.Set.univ S.inverseLimit).symm.trans
    (S.homeomorph_projectionImageSystem_of_isClosed hdir Set.univ isClosed_univ)

Any inverse system of compact Hausdorff spaces admits a surjective projection-image system with the same inverse limit.

theorem InverseSystem.exists_homeomorph_surjectiveProjectionImageSystem
    {I : Type u} [Preorder I] (S : InverseSystem (I := I)) [Nonempty I]
    [∀ i, CompactSpace (S.X i)] [∀ i, T2Space (S.X i)]
    (hdir : Directed (· ≤ ·) (id : I → I)) :
    (∀ {i j : I} (hij : i ≤ j),
      Function.Surjective ((S.projectionImageSystem (Set.univ : Set S.inverseLimit)).map hij)) ∧
      Nonempty (S.inverseLimit ≃ₜ
        (S.projectionImageSystem (Set.univ : Set S.inverseLimit)).inverseLimit)

The projection-image system of the full inverse limit is surjective and has the same inverse limit as the original system.

Show proof