Documentation

InfinitaryLogic.Descriptive.PermTopology

The pointwise-convergence topology on S∞ = Equiv.Perm (issue #27, commit 1) #

The infinite symmetric group Equiv.Perm carries a canonical Polish topology — the topology of pointwise convergence. Mathlib puts no topology on Equiv.Perm, so we install it here via the pair embedding

embed : Equiv.Perm ℕ → (ℕ → ℕ) × (ℕ → ℕ),   embed σ = (⇑σ, ⇑σ⁻¹)

into a product of two copies of Baire space ℕ → ℕ. The image is the closed set of pairs of mutually inverse functions, so embed is a closed embedding — the route to Polishness (commit 2).

Main results #

Design #

NatPerm.continuous_evalComp is the reusable primitive underlying continuity throughout this tranche: evaluating a continuous function-valued map at a continuously varying discrete index is continuous, because the index can be frozen on a clopen neighborhood. It powers the closed-range computation here and the continuity of multiplication (commit 2) and of the logic action (commit 3).

theorem NatPerm.continuous_evalComp {X : Type u_1} {I : Type u_2} {Y : Type u_3} [TopologicalSpace X] [TopologicalSpace I] [DiscreteTopology I] [TopologicalSpace Y] {f : XIY} (hf : Continuous f) {e : XI} (he : Continuous e) :
Continuous fun (x : X) => f x (e x)

Localized evaluation. If f : X → I → Y is continuous and e : X → I is continuous into a discrete space I, then x ↦ f x (e x) is continuous: near any x₀ the index e x is frozen at e x₀ on the clopen set e ⁻¹' {e x₀}, where the map reduces to the continuous x ↦ f x (e x₀).

The embedding and the induced topology #

def NatPerm.embed (σ : Equiv.Perm ) :
() × ()

The pair embedding σ ↦ (σ, σ⁻¹) of Equiv.Perm into (ℕ → ℕ) × (ℕ → ℕ).

Equations
Instances For
    @[implicit_reducible]

    The topology of pointwise convergence on Equiv.Perm, induced by the pair embedding.

    Equations
    theorem NatPerm.continuous_coe :
    Continuous fun (σ : Equiv.Perm ) => σ

    The coercion σ ↦ ⇑σ into ℕ → ℕ is continuous.

    The inverse coercion σ ↦ ⇑σ⁻¹ into ℕ → ℕ is continuous.

    theorem NatPerm.continuous_apply_perm (n : ) :
    Continuous fun (σ : Equiv.Perm ) => σ n

    Evaluation σ ↦ σ n is continuous.

    Evaluation σ ↦ σ⁻¹ n is continuous.

    The image is closed #

    theorem NatPerm.range_embed :
    Set.range embed = {p : () × () | (∀ (n : ), p.1 (p.2 n) = n) ∀ (n : ), p.2 (p.1 n) = n}

    The image of embed is the set of pairs of mutually inverse functions.

    embed is a closed embedding: pointwise-inducing, injective, with closed range.

    Acceptance lemma: finite pointwise stabilizers are a clopen neighborhood basis #

    The finite pointwise stabilizer: permutations agreeing with σ₀ on the finite set s.

    Equations
    Instances For
      theorem NatPerm.isClopen_stab (s : Finset ) (σ₀ : Equiv.Perm ) :
      IsClopen (stab s σ₀)

      Each finite pointwise stabilizer is clopen.

      theorem NatPerm.hasBasis_nhds_fun (a : ) :
      (nhds a).HasBasis (fun (x : Finset ) => True) fun (s : Finset ) => {g : | is, g i = a i}

      Cylinder neighborhood basis in ℕ → ℕ: sets fixing finitely many coordinates.

      theorem NatPerm.hasBasis_nhds (σ₀ : Equiv.Perm ) :
      (nhds σ₀).HasBasis (fun (x : Finset ) => True) fun (s : Finset ) => stab s σ₀

      Acceptance lemma. The finite pointwise stabilizers form a neighborhood basis at every σ₀, so the induced topology is exactly the pointwise-convergence topology — controlling σ on a finite set already controls σ⁻¹ on the corresponding image, so the inverse coordinates in the pair embedding contribute no finer neighborhoods.