doc-next-gen

Mathlib.Topology.Algebra.Constructions

Module docstring

{"# Topological space structure on the opposite monoid and on the units group

In this file we define TopologicalSpace structure on Mᵐᵒᵖ, Mᵃᵒᵖ, , and AddUnits M. This file does not import definitions of a topological monoid and/or a continuous multiplicative action, so we postpone the proofs of HasContinuousMul Mᵐᵒᵖ etc till we have these definitions.

Tags

topological space, opposite monoid, units "}

MulOpposite.instTopologicalSpaceMulOpposite instance
[TopologicalSpace M] : TopologicalSpace Mᵐᵒᵖ
Full source
/-- Put the same topological space structure on the opposite monoid as on the original space. -/
@[to_additive "Put the same topological space structure on the opposite monoid as on the original
space."]
instance instTopologicalSpaceMulOpposite [TopologicalSpace M] : TopologicalSpace Mᵐᵒᵖ :=
  TopologicalSpace.induced (unop : Mᵐᵒᵖ → M) ‹_›
Topological Space Structure on the Opposite Monoid
Informal description
For any topological space $M$, the opposite monoid $M^{\text{op}}$ inherits the same topological space structure as $M$.
MulOpposite.continuous_unop theorem
: Continuous (unop : Mᵐᵒᵖ → M)
Full source
@[to_additive (attr := continuity)]
theorem continuous_unop : Continuous (unop : Mᵐᵒᵖ → M) :=
  continuous_induced_dom
Continuity of the Unary Operation from Opposite Monoid to Original Space
Informal description
The unary operation `unop` from the opposite monoid $M^{\text{op}}$ to $M$ is continuous, where $M$ is a topological space.
MulOpposite.continuous_op theorem
: Continuous (op : M → Mᵐᵒᵖ)
Full source
@[to_additive (attr := continuity)]
theorem continuous_op : Continuous (op : M → Mᵐᵒᵖ) :=
  continuous_induced_rng.2 continuous_id
Continuity of the Opposite Monoid Construction Map
Informal description
The canonical map $\text{op} : M \to M^{\text{op}}$ is continuous, where $M^{\text{op}}$ is the opposite monoid of $M$ equipped with the same topological structure as $M$.
MulOpposite.opHomeomorph definition
: M ≃ₜ Mᵐᵒᵖ
Full source
/-- `MulOpposite.op` as a homeomorphism. -/
@[to_additive (attr := simps!) "`AddOpposite.op` as a homeomorphism."]
def opHomeomorph : M ≃ₜ Mᵐᵒᵖ where
  toEquiv := opEquiv
  continuous_toFun := continuous_op
  continuous_invFun := continuous_unop
Homeomorphism between a space and its opposite monoid
Informal description
The homeomorphism $\text{opHomeomorph} : M \simeq M^{\text{op}}$ between a topological space $M$ and its opposite monoid $M^{\text{op}}$, where the forward map is the canonical operation $\text{op}$ and the inverse map is $\text{unop}$. Both maps are continuous, making this a topological equivalence.
MulOpposite.instT2Space instance
[T2Space M] : T2Space Mᵐᵒᵖ
Full source
@[to_additive]
instance instT2Space [T2Space M] : T2Space Mᵐᵒᵖ := opHomeomorph.t2Space
Hausdorff Property of the Opposite Monoid
Informal description
For any topological space $M$ that is Hausdorff, the opposite monoid $M^{\text{op}}$ is also Hausdorff.
MulOpposite.map_op_nhds theorem
(x : M) : map (op : M → Mᵐᵒᵖ) (𝓝 x) = 𝓝 (op x)
Full source
@[to_additive (attr := simp)]
theorem map_op_nhds (x : M) : map (op : M → Mᵐᵒᵖ) (𝓝 x) = 𝓝 (op x) :=
  opHomeomorph.map_nhds_eq x
Neighborhood Filter Preservation under Opposite Monoid Map
Informal description
For any point $x$ in a topological space $M$, the image of the neighborhood filter $\mathcal{N}(x)$ under the canonical map $\text{op} : M \to M^{\text{op}}$ is equal to the neighborhood filter $\mathcal{N}(\text{op}(x))$ in the opposite monoid $M^{\text{op}}$.
MulOpposite.map_unop_nhds theorem
(x : Mᵐᵒᵖ) : map (unop : Mᵐᵒᵖ → M) (𝓝 x) = 𝓝 (unop x)
Full source
@[to_additive (attr := simp)]
theorem map_unop_nhds (x : Mᵐᵒᵖ) : map (unop : Mᵐᵒᵖ → M) (𝓝 x) = 𝓝 (unop x) :=
  opHomeomorph.symm.map_nhds_eq x
Neighborhood Filter Preservation under Opposite Monoid Unop Map
Informal description
For any element $x$ in the opposite monoid $M^{\text{op}}$, the image of the neighborhood filter $\mathcal{N}(x)$ under the canonical map $\text{unop} : M^{\text{op}} \to M$ is equal to the neighborhood filter $\mathcal{N}(\text{unop}(x))$ in $M$.
MulOpposite.comap_op_nhds theorem
(x : Mᵐᵒᵖ) : comap (op : M → Mᵐᵒᵖ) (𝓝 x) = 𝓝 (unop x)
Full source
@[to_additive (attr := simp)]
theorem comap_op_nhds (x : Mᵐᵒᵖ) : comap (op : M → Mᵐᵒᵖ) (𝓝 x) = 𝓝 (unop x) :=
  opHomeomorph.comap_nhds_eq x
Neighborhood Filter Preimage under Opposite Monoid Map
Informal description
For any element $x$ in the opposite monoid $M^{\text{op}}$, the preimage of the neighborhood filter $\mathcal{N}(x)$ under the canonical map $\text{op} : M \to M^{\text{op}}$ is equal to the neighborhood filter $\mathcal{N}(\text{unop}(x))$ in $M$.
MulOpposite.comap_unop_nhds theorem
(x : M) : comap (unop : Mᵐᵒᵖ → M) (𝓝 x) = 𝓝 (op x)
Full source
@[to_additive (attr := simp)]
theorem comap_unop_nhds (x : M) : comap (unop : Mᵐᵒᵖ → M) (𝓝 x) = 𝓝 (op x) :=
  opHomeomorph.symm.comap_nhds_eq x
Neighborhood Filter Preimage under Opposite Monoid Unop Map
Informal description
For any element $x$ in a topological space $M$, the preimage of the neighborhood filter $\mathcal{N}(x)$ under the canonical map $\text{unop} : M^{\text{op}} \to M$ is equal to the neighborhood filter $\mathcal{N}(\text{op}(x))$ in $M^{\text{op}}$.
Units.instTopologicalSpaceUnits instance
: TopologicalSpace Mˣ
Full source
/-- The units of a monoid are equipped with a topology, via the embedding into `M × M`. -/
@[to_additive "The additive units of a monoid are equipped with a topology, via the embedding into
`M × M`."]
instance instTopologicalSpaceUnits : TopologicalSpace  :=
  TopologicalSpace.induced (embedProduct M) inferInstance
Topological Space Structure on the Group of Units
Informal description
The group of units $M^\times$ of a monoid $M$ is equipped with the topology induced by the embedding $M^\times \to M \times M$ that sends each unit to itself and its inverse.
Units.isInducing_embedProduct theorem
: IsInducing (embedProduct M)
Full source
@[to_additive]
theorem isInducing_embedProduct : IsInducing (embedProduct M) := ⟨rfl⟩
Embedding of Units into Product Space is Inducing
Informal description
The embedding $\text{embedProduct} : M^\times \to M \times M$ of the group of units into the product space is inducing, meaning that the topology on $M^\times$ is the coarsest topology such that $\text{embedProduct}$ is continuous.
Units.isEmbedding_embedProduct theorem
: IsEmbedding (embedProduct M)
Full source
@[to_additive]
theorem isEmbedding_embedProduct : IsEmbedding (embedProduct M) :=
  ⟨isInducing_embedProduct, embedProduct_injective M⟩
Embedding of Units into Product Space is Topological Embedding
Informal description
The embedding $\text{embedProduct} : M^\times \to M \times M$ of the group of units into the product space is an embedding, meaning it is both injective and induces the topology on $M^\times$ as a subspace of $M \times M$.
Units.topology_eq_inf theorem
: instTopologicalSpaceUnits = .induced (val : Mˣ → M) ‹_› ⊓ .induced (fun u ↦ ↑u⁻¹ : Mˣ → M) ‹_›
Full source
@[to_additive] lemma topology_eq_inf :
    instTopologicalSpaceUnits =
      .induced.induced (val : Mˣ → M) ‹_› ⊓ .induced (fun u ↦ ↑u⁻¹ : Mˣ → M) ‹_› := by
  simp only [isInducing_embedProduct.1, instTopologicalSpaceProd, induced_inf,
    instTopologicalSpaceMulOpposite, induced_compose]; rfl
Topology on Units as Infimum of Induced Topologies
Informal description
The topology on the group of units $M^\times$ of a monoid $M$ is equal to the infimum (coarsest topology finer than both) of the topology induced by the inclusion map $M^\times \to M$ and the topology induced by the map $u \mapsto u^{-1}$ from $M^\times$ to $M$.
Units.isEmbedding_val_mk' theorem
{M : Type*} [Monoid M] [TopologicalSpace M] {f : M → M} (hc : ContinuousOn f {x : M | IsUnit x}) (hf : ∀ u : Mˣ, f u.1 = ↑u⁻¹) : IsEmbedding (val : Mˣ → M)
Full source
/-- An auxiliary lemma that can be used to prove that coercion `Mˣ → M` is a topological embedding.
Use `Units.isEmbedding_val₀`, `Units.isEmbedding_val`, or `toUnits_homeomorph` instead. -/
@[to_additive "An auxiliary lemma that can be used to prove that coercion `AddUnits M → M` is a
topological embedding. Use `AddUnits.isEmbedding_val` or `toAddUnits_homeomorph` instead."]
lemma isEmbedding_val_mk' {M : Type*} [Monoid M] [TopologicalSpace M] {f : M → M}
    (hc : ContinuousOn f {x : M | IsUnit x}) (hf : ∀ u : , f u.1 = ↑u⁻¹) :
    IsEmbedding (val :  → M) := by
  refine ⟨⟨?_⟩, ext⟩
  rw [topology_eq_inf, inf_eq_left, ← continuous_iff_le_induced,
    @continuous_iff_continuousAt _ _ (.induced _ _)]
  intros u s hs
  simp only [← hf, nhds_induced, Filter.mem_map] at hs ⊢
  exact ⟨_, mem_inf_principal.1 (hc u u.isUnit hs), fun u' hu' ↦ hu' u'.isUnit⟩
Topological Embedding of Units via Inverse Condition
Informal description
Let $M$ be a monoid with a topological space structure, and let $f \colon M \to M$ be a function that is continuous on the subset $\{x \in M \mid \text{$x$ is a unit}\}$. If for every unit $u \in M^\times$, the function $f$ satisfies $f(u) = u^{-1}$, then the inclusion map $M^\times \to M$ is a topological embedding.
Units.embedding_val_mk theorem
{M : Type*} [DivisionMonoid M] [TopologicalSpace M] (h : ContinuousOn Inv.inv {x : M | IsUnit x}) : IsEmbedding (val : Mˣ → M)
Full source
/-- An auxiliary lemma that can be used to prove that coercion `Mˣ → M` is a topological embedding.
Use `Units.isEmbedding_val₀`, `Units.isEmbedding_val`, or `toUnits_homeomorph` instead. -/
@[to_additive "An auxiliary lemma that can be used to prove that coercion `AddUnits M → M` is a
topological embedding. Use `AddUnits.isEmbedding_val` or `toAddUnits_homeomorph` instead."]
lemma embedding_val_mk {M : Type*} [DivisionMonoid M] [TopologicalSpace M]
    (h : ContinuousOn Inv.inv {x : M | IsUnit x}) : IsEmbedding (val :  → M) :=
  isEmbedding_val_mk' h fun u ↦ (val_inv_eq_inv_val u).symm
Topological Embedding of Units via Continuous Inversion
Informal description
Let $M$ be a division monoid with a topological space structure. If the inversion operation $\text{Inv.inv}$ is continuous on the subset $\{x \in M \mid \text{$x$ is a unit}\}$, then the inclusion map $M^\times \to M$ is a topological embedding.
Units.continuous_embedProduct theorem
: Continuous (embedProduct M)
Full source
@[to_additive]
theorem continuous_embedProduct : Continuous (embedProduct M) :=
  continuous_induced_dom
Continuity of the Embedding of Units into $M \times M$
Informal description
The embedding map $\text{embedProduct} : M^\times \to M \times M$, which sends each unit $u \in M^\times$ to the pair $(u, u^{-1})$, is continuous when $M^\times$ is equipped with the induced topology from $M \times M$.
Units.continuous_val theorem
: Continuous ((↑) : Mˣ → M)
Full source
@[to_additive]
theorem continuous_val : Continuous ((↑) :  → M) :=
  (@continuous_embedProduct M _ _).fst
Continuity of the Unit Inclusion Map $M^\times \to M$
Informal description
The canonical inclusion map from the group of units $M^\times$ to the monoid $M$ is continuous, where $M^\times$ is equipped with the induced topology from $M \times M$.
Units.continuous_iff theorem
{f : X → Mˣ} : Continuous f ↔ Continuous (val ∘ f) ∧ Continuous (fun x => ↑(f x)⁻¹ : X → M)
Full source
@[to_additive]
protected theorem continuous_iff {f : X → } :
    ContinuousContinuous f ↔ Continuous (val ∘ f) ∧ Continuous (fun x => ↑(f x)⁻¹ : X → M) := by
  simp only [isInducing_embedProduct.continuous_iff, embedProduct_apply, Function.comp_def,
    continuous_prodMk, opHomeomorph.symm.isInducing.continuous_iff, opHomeomorph_symm_apply,
    unop_op]
Characterization of Continuous Functions into the Group of Units
Informal description
For any function $f : X \to M^\times$ from a topological space $X$ to the group of units $M^\times$ of a monoid $M$, the function $f$ is continuous if and only if both the composition $\text{val} \circ f : X \to M$ (where $\text{val}$ is the inclusion map) and the function $x \mapsto (f(x))^{-1} : X \to M$ are continuous.
Units.continuous_coe_inv theorem
: Continuous (fun u => ↑u⁻¹ : Mˣ → M)
Full source
@[to_additive]
theorem continuous_coe_inv : Continuous (fun u => ↑u⁻¹ :  → M) :=
  (Units.continuous_iff.1 continuous_id).2
Continuity of the Inverse Map $M^\times \to M$
Informal description
The function that maps each unit $u$ in the group of units $M^\times$ to its inverse $u^{-1}$ (considered as an element of $M$) is continuous, where $M^\times$ is equipped with the topology induced by the embedding $M^\times \to M \times M$.