Theory of topological monoids #
In this file we define mixin classes ContinuousMul
and ContinuousAdd
. While in many
applications the underlying type is a monoid (multiplicative or additive), we do not require this in
the definitions.
Basic hypothesis to talk about a topological additive monoid or a topological additive
semigroup. A topological additive monoid over M
, for example, is obtained by requiring both the
instances AddMonoid M
and ContinuousAdd M
.
Continuity in only the left/right argument can be stated using
ContinuousConstVAdd α α
/ContinuousConstVAdd αᵐᵒᵖ α
.
- continuous_add : Continuous fun (p : M × M) => p.1 + p.2
Instances
Basic hypothesis to talk about a topological monoid or a topological semigroup.
A topological monoid over M
, for example, is obtained by requiring both the instances Monoid M
and ContinuousMul M
.
Continuity in only the left/right argument can be stated using
ContinuousConstSMul α α
/ContinuousConstSMul αᵐᵒᵖ α
.
- continuous_mul : Continuous fun (p : M × M) => p.1 * p.2
Instances
Equations
- (_ : ContinuousAdd Mᵒᵈ) = inst
Equations
- (_ : ContinuousMul Mᵒᵈ) = inst
Equations
- (_ : ContinuousVAdd M M) = (_ : ContinuousVAdd M M)
Equations
- (_ : ContinuousSMul M M) = (_ : ContinuousSMul M M)
Equations
- (_ : ContinuousVAdd Mᵃᵒᵖ M) = (_ : ContinuousVAdd Mᵃᵒᵖ M)
Equations
- (_ : ContinuousSMul Mᵐᵒᵖ M) = (_ : ContinuousSMul Mᵐᵒᵖ M)
Construct an additive unit from limits of additive units and their negatives.
Equations
Instances For
Construct a unit from limits of units and their inverses.
Equations
Instances For
Equations
- (_ : ContinuousAdd (M × N)) = (_ : ContinuousAdd (M × N))
Equations
- (_ : ContinuousMul (M × N)) = (_ : ContinuousMul (M × N))
Equations
- (_ : ContinuousAdd ((i : ι) → C i)) = (_ : ContinuousAdd ((i : ι) → C i))
Equations
- (_ : ContinuousMul ((i : ι) → C i)) = (_ : ContinuousMul ((i : ι) → C i))
A version of Pi.continuousAdd
for non-dependent functions. It is needed
because sometimes Lean fails to use Pi.continuousAdd
for non-dependent functions.
Equations
- (_ : ContinuousAdd (ι → M)) = (_ : ContinuousAdd (ι → M))
A version of Pi.continuousMul
for non-dependent functions. It is needed because sometimes
Lean 3 fails to use Pi.continuousMul
for non-dependent functions.
Equations
- (_ : ContinuousMul (ι → M)) = (_ : ContinuousMul (ι → M))
Equations
- (_ : ContinuousAdd N) = (_ : ContinuousAdd N)
Equations
- (_ : ContinuousMul N) = (_ : ContinuousMul N)
Construct a bundled additive monoid homomorphism M₁ →+ M₂
from a function f
and a proof that it belongs to the closure of the range of the coercion from M₁ →+ M₂
(or another
type of bundled homomorphisms that has an AddMonoidHomClass
instance) to M₁ → M₂
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Construct a bundled monoid homomorphism M₁ →* M₂
from a function f
and a proof that it
belongs to the closure of the range of the coercion from M₁ →* M₂
(or another type of bundled
homomorphisms that has a MonoidHomClass
instance) to M₁ → M₂
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Construct a bundled additive monoid homomorphism from a pointwise limit of additive monoid homomorphisms
Equations
- addMonoidHomOfTendsto f g h = addMonoidHomOfMemClosureRangeCoe f (_ : f ∈ closure (Set.range fun (f : F) (x : M₁) => f x))
Instances For
Construct a bundled monoid homomorphism from a pointwise limit of monoid homomorphisms.
Equations
- monoidHomOfTendsto f g h = monoidHomOfMemClosureRangeCoe f (_ : f ∈ closure (Set.range fun (f : F) (x : M₁) => f x))
Instances For
Equations
- (_ : ContinuousAdd ↥S) = (_ : ContinuousAdd ↥S)
Equations
- (_ : ContinuousMul ↥S) = (_ : ContinuousMul ↥S)
Equations
- (_ : ContinuousAdd ↥S) = (_ : ContinuousAdd ↥S.toAddSubsemigroup)
Equations
- (_ : ContinuousMul ↥S) = (_ : ContinuousMul ↥S.toSubsemigroup)
The (topological-space) closure of an additive submonoid of a space M
with
ContinuousAdd
is itself an additive submonoid.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The (topological-space) closure of a submonoid of a space M
with ContinuousMul
is
itself a submonoid.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If a submonoid of an additive topological monoid is commutative, then so is its topological closure.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- (_ : motive x) = (_ : motive x)
Instances For
If a submonoid of a topological monoid is commutative, then so is its topological closure.
Equations
- Submonoid.commMonoidTopologicalClosure s hs = let src := Submonoid.toMonoid (Submonoid.topologicalClosure s); CommMonoid.mk (_ : ∀ (x x_1 : ↥(Submonoid.topologicalClosure s)), x * x_1 = x_1 * x)
Instances For
Equations
- (_ : motive x✝ x) = (_ : motive x✝ x)
Instances For
Equations
- (_ : ContinuousConstSMul ℕ A) = (_ : ContinuousConstSMul ℕ A)
Equations
- (_ : ContinuousSMul ℕ A) = (_ : ContinuousSMul ℕ A)
Left-multiplication by a left-invertible element of a topological monoid is proper, i.e., inverse images of compact sets are compact.
Right-multiplication by a right-invertible element of a topological monoid is proper, i.e., inverse images of compact sets are compact.
If R
acts on A
via A
, then continuous addition implies
continuous affine addition by constants.
Equations
- (_ : ContinuousConstVAdd R A) = (_ : ContinuousConstVAdd R A)
If R
acts on A
via A
, then continuous multiplication implies continuous scalar
multiplication by constants.
Notably, this instances applies when R = A
, or when [Algebra R A]
is available.
Equations
- (_ : ContinuousConstSMul R A) = (_ : ContinuousConstSMul R A)
If the action of R
on A
commutes with left-addition, then
continuous addition implies continuous affine addition by constants.
Notably, this instances applies when R = Aᵃᵒᵖ
.
Equations
- (_ : ContinuousConstVAdd R A) = (_ : ContinuousConstVAdd R A)
If the action of R
on A
commutes with left-multiplication, then continuous multiplication
implies continuous scalar multiplication by constants.
Notably, this instances applies when R = Aᵐᵒᵖ
.
Equations
- (_ : ContinuousConstSMul R A) = (_ : ContinuousConstSMul R A)
If addition is continuous in α
, then it also is in αᵃᵒᵖ
.
Equations
- (_ : ContinuousAdd αᵃᵒᵖ) = (_ : ContinuousAdd αᵃᵒᵖ)
If multiplication is continuous in α
, then it also is in αᵐᵒᵖ
.
Equations
- (_ : ContinuousMul αᵐᵒᵖ) = (_ : ContinuousMul αᵐᵒᵖ)
If addition on an additive monoid is continuous, then addition on the additive units of the monoid, with respect to the induced topology, is continuous.
Negation is also continuous, but we register this in a later file, Topology.Algebra.Group
, because
the predicate ContinuousNeg
has not yet been defined.
Equations
- (_ : ContinuousAdd (AddUnits α)) = (_ : ContinuousAdd (AddUnits α))
If multiplication on a monoid is continuous, then multiplication on the units of the monoid, with respect to the induced topology, is continuous.
Inversion is also continuous, but we register this in a later file, Topology.Algebra.Group
,
because the predicate ContinuousInv
has not yet been defined.
Equations
- (_ : ContinuousMul αˣ) = (_ : ContinuousMul αˣ)
Equations
- (_ : motive x) = (_ : motive x)
Instances For
Equations
- (_ : ContinuousAdd (Additive M)) = (_ : ContinuousAdd (Additive M))
Equations
- (_ : ContinuousMul (Multiplicative M)) = (_ : ContinuousMul (Multiplicative M))
The continuous map fun y => y + x
Equations
- ContinuousMap.addRight x = ContinuousMap.mk fun (b : X) => b + x
Instances For
The continuous map fun y => y * x
Equations
- ContinuousMap.mulRight x = ContinuousMap.mk fun (b : X) => b * x
Instances For
The continuous map fun y => x + y
Equations
- ContinuousMap.addLeft x = ContinuousMap.mk fun (b : X) => x + b
Instances For
The continuous map fun y => x * y
Equations
- ContinuousMap.mulLeft x = ContinuousMap.mk fun (b : X) => x * b