Documentation

Mathlib.Topology.Algebra.UniformMulAction

Multiplicative action on the completion of a uniform space #

In this file we define typeclasses UniformContinuousConstVAdd and UniformContinuousConstSMul and prove that a multiplicative action on X with uniformly continuous (β€’) c can be extended to a multiplicative action on UniformSpace.Completion X.

In later files once the additive group structure is set up, we provide

TODO: Generalise the results here from the concrete Completion to any AbstractCompletion.

class UniformContinuousConstVAdd (M : Type v) (X : Type x) [UniformSpace X] [VAdd M X] :

An additive action such that for all c, the map fun x ↦ c +α΅₯ x is uniformly continuous.

Instances
    class UniformContinuousConstSMul (M : Type v) (X : Type x) [UniformSpace X] [SMul M X] :

    A multiplicative action such that for all c, the map fun x ↦ c β€’ x is uniformly continuous.

    Instances

      A DistribSMul that is continuous on a uniform group is uniformly continuous. This can't be an instance due to it forming a loop with UniformContinuousConstSMul.to_continuousConstSMul

      theorem UniformContinuous.const_smul {M : Type v} {X : Type x} {Y : Type y} [UniformSpace X] [UniformSpace Y] [SMul M X] [UniformContinuousConstSMul M X] {f : Y β†’ X} (hf : UniformContinuous f) (c : M) :
      UniformContinuous (c β€’ f)
      theorem IsUniformInducing.uniformContinuousConstSMul {M : Type v} {X : Type x} {Y : Type y} [UniformSpace X] [UniformSpace Y] [SMul M X] [SMul M Y] [UniformContinuousConstSMul M Y] {f : X β†’ Y} (hf : IsUniformInducing f) (hsmul : βˆ€ (c : M) (x : X), f (c β€’ x) = c β€’ f x) :
      theorem IsUniformInducing.uniformContinuousConstVAdd {M : Type v} {X : Type x} {Y : Type y} [UniformSpace X] [UniformSpace Y] [VAdd M X] [VAdd M Y] [UniformContinuousConstVAdd M Y] {f : X β†’ Y} (hf : IsUniformInducing f) (hvadd : βˆ€ (c : M) (x : X), f (c +α΅₯ x) = c +α΅₯ f x) :
      @[instance 100]

      If a scalar action is central, then its right action is uniform continuous when its left action is.

      @[instance 100]

      If an additive action is central, then its right action is uniform continuous when its left action is.

      theorem UniformContinuous.const_mul' {R : Type u_1} {Ξ² : Type u_2} [Ring R] [UniformSpace R] [UniformSpace Ξ²] [UniformContinuousConstSMul R R] {f : Ξ² β†’ R} (hf : UniformContinuous f) (a : R) :
      UniformContinuous fun (x : Ξ²) => a * f x
      theorem UniformContinuous.mul_const' {R : Type u_1} {Ξ² : Type u_2} [Ring R] [UniformSpace R] [UniformSpace Ξ²] [UniformContinuousConstSMul Rᡐᡒᡖ R] {f : Ξ² β†’ R} (hf : UniformContinuous f) (a : R) :
      UniformContinuous fun (x : Ξ²) => f x * a
      theorem UniformContinuous.div_const' {R : Type u_3} {Ξ² : Type u_4} [DivisionRing R] [UniformSpace R] [UniformContinuousConstSMul Rᡐᡒᡖ R] [UniformSpace Ξ²] {f : Ξ² β†’ R} (hf : UniformContinuous f) (a : R) :
      UniformContinuous fun (x : Ξ²) => f x / a
      theorem IsUnit.smul_uniformity {M : Type v} {X : Type x} [UniformSpace X] [Monoid M] [MulAction M X] [UniformContinuousConstSMul M X] {c : M} (hc : IsUnit c) :
      c β€’ uniformity X = uniformity X
      @[simp]
      theorem smul_uniformity {M : Type v} {X : Type x} [UniformSpace X] [Group M] [MulAction M X] [UniformContinuousConstSMul M X] (c : M) :
      c β€’ uniformity X = uniformity X
      theorem smul_uniformityβ‚€ {M : Type v} {X : Type x} [UniformSpace X] [GroupWithZero M] [MulAction M X] [UniformContinuousConstSMul M X] {c : M} (hc : c β‰  0) :
      c β€’ uniformity X = uniformity X
      @[implicit_reducible]
      noncomputable instance UniformSpace.Completion.instSMul (M : Type v) (X : Type x) [UniformSpace X] [SMul M X] :
      SMul M (Completion X)
      @[implicit_reducible]
      noncomputable instance UniformSpace.Completion.instVAdd (M : Type v) (X : Type x) [UniformSpace X] [VAdd M X] :
      theorem UniformSpace.Completion.smul_def (M : Type v) (X : Type x) [UniformSpace X] [SMul M X] (c : M) (x : Completion X) :
      c β€’ x = Completion.map (fun (x : X) => c β€’ x) x
      theorem UniformSpace.Completion.vadd_def (M : Type v) (X : Type x) [UniformSpace X] [VAdd M X] (c : M) (x : Completion X) :
      c +α΅₯ x = Completion.map (fun (x : X) => c +α΅₯ x) x
      @[simp]
      theorem UniformSpace.Completion.coe_smul {M : Type v} {X : Type x} [UniformSpace X] [SMul M X] [UniformContinuousConstSMul M X] (c : M) (x : X) :
      ↑(c β€’ x) = c β€’ ↑x
      @[simp]
      theorem UniformSpace.Completion.coe_vadd {M : Type v} {X : Type x} [UniformSpace X] [VAdd M X] [UniformContinuousConstVAdd M X] (c : M) (x : X) :
      ↑(c +α΅₯ x) = c +α΅₯ ↑x