Algebraic structures over continuous functions #
In this file we define instances of algebraic structures over the type ContinuousMap α β
(denoted C(α, β)
) of bundled continuous maps from α
to β
. For example, C(α, β)
is a group when β
is a group, a ring when β
is a ring, etc.
For each type of algebraic structure, we also define an appropriate subobject of α → β
with carrier { f : α → β | Continuous f }
. For example, when β
is a group, a subgroup
continuousSubgroup α β
of α → β
is constructed with carrier { f : α → β | Continuous f }
.
Note that, rather than using the derived algebraic structures on these subobjects
(for example, when β
is a group, the derived group structure on continuousSubgroup α β
),
one should use C(α, β)
with the appropriate instance of the structure.
Equations
- ContinuousFunctions.instCoeFunElemForAllSetOfContinuous = { coe := Subtype.val }
mul
and add
#
one
#
Equations
- ContinuousMap.instZeroContinuousMap = { zero := ContinuousMap.const α 0 }
Equations
- ContinuousMap.instOneContinuousMap = { one := ContinuousMap.const α 1 }
Equations
- ContinuousMap.instNatCastContinuousMap = { natCast := fun (n : ℕ) => ContinuousMap.const α ↑n }
Equations
- ContinuousMap.instIntCastContinuousMap = { intCast := fun (n : ℤ) => ContinuousMap.const α ↑n }
nsmul
and pow
#
inv
and neg
#
div
and sub
#
zpow
and zsmul
#
Group structure #
In this section we show that continuous functions valued in a topological group inherit the structure of a group.
The AddSubmonoid
of continuous maps α → β
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Submonoid
of continuous maps α → β
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The AddSubgroup
of continuous maps α → β
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The subgroup of continuous maps α → β
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ContinuousMap.instAddSemigroupContinuousMap = Function.Injective.addSemigroup DFunLike.coe (_ : Function.Injective DFunLike.coe) (_ : ∀ (f g : C(α, β)), ⇑(f + g) = ⇑f + ⇑g)
Equations
- ContinuousMap.instSemigroupContinuousMap = Function.Injective.semigroup DFunLike.coe (_ : Function.Injective DFunLike.coe) (_ : ∀ (f g : C(α, β)), ⇑(f * g) = ⇑f * ⇑g)
Equations
- ContinuousMap.instAddCommSemigroupContinuousMap = Function.Injective.addCommSemigroup DFunLike.coe (_ : Function.Injective DFunLike.coe) (_ : ∀ (f g : C(α, β)), ⇑(f + g) = ⇑f + ⇑g)
Equations
- ContinuousMap.instCommSemigroupContinuousMap = Function.Injective.commSemigroup DFunLike.coe (_ : Function.Injective DFunLike.coe) (_ : ∀ (f g : C(α, β)), ⇑(f * g) = ⇑f * ⇑g)
Equations
- ContinuousMap.instAddZeroClassContinuousMap = Function.Injective.addZeroClass DFunLike.coe (_ : Function.Injective DFunLike.coe) (_ : ⇑0 = 0) (_ : ∀ (f g : C(α, β)), ⇑(f + g) = ⇑f + ⇑g)
Equations
- ContinuousMap.instMulOneClassContinuousMap = Function.Injective.mulOneClass DFunLike.coe (_ : Function.Injective DFunLike.coe) (_ : ⇑1 = 1) (_ : ∀ (f g : C(α, β)), ⇑(f * g) = ⇑f * ⇑g)
Equations
- ContinuousMap.instMulZeroClassContinuousMap = Function.Injective.mulZeroClass DFunLike.coe (_ : Function.Injective DFunLike.coe) (_ : ⇑0 = 0) (_ : ∀ (f g : C(α, β)), ⇑(f * g) = ⇑f * ⇑g)
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- (_ : ContinuousAdd C(α, β)) = (_ : ContinuousAdd C(α, β))
Equations
- (_ : ContinuousMul C(α, β)) = (_ : ContinuousMul C(α, β))
Coercion to a function as an AddMonoidHom
. Similar to AddMonoidHom.coeFn
.
Equations
Instances For
Coercion to a function as a MonoidHom
. Similar to MonoidHom.coeFn
.
Equations
Instances For
Composition on the left by a (continuous) homomorphism of topological AddMonoid
s, as an
AddMonoidHom
. Similar to AddMonoidHom.comp_left
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Composition on the left by a (continuous) homomorphism of topological monoids, as a
MonoidHom
. Similar to MonoidHom.compLeft
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Composition on the right as an AddMonoidHom
. Similar to AddMonoidHom.compHom'
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Composition on the right as a MonoidHom
. Similar to MonoidHom.compHom'
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- (_ : TopologicalAddGroup C(α, β)) = (_ : TopologicalAddGroup C(α, β))
Equations
- (_ : TopologicalGroup C(α, β)) = (_ : TopologicalGroup C(α, β))
If α
is locally compact, and an infinite sum of functions in C(α, β)
converges to g
(for the compact-open topology), then the pointwise sum converges to g x
for
all x ∈ α
.
Ring structure #
In this section we show that continuous functions valued in a topological semiring R
inherit
the structure of a ring.
The subsemiring of continuous maps α → β
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The subring of continuous maps α → β
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Composition on the left by a (continuous) homomorphism of topological semirings, as a
RingHom
. Similar to RingHom.compLeft
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Coercion to a function as a RingHom
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Module structure #
In this section we show that continuous functions valued in a topological module M
over a
topological semiring R
inherit the structure of a module.
The R
-submodule of continuous maps α → M
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- (_ : ContinuousConstVAdd R C(α, M)) = (_ : ContinuousConstVAdd R C(α, M))
Equations
- (_ : ContinuousConstSMul R C(α, M)) = (_ : ContinuousConstSMul R C(α, M))
Equations
- (_ : ContinuousVAdd R C(α, M)) = (_ : ContinuousVAdd R C(α, M))
Equations
- (_ : ContinuousSMul R C(α, M)) = (_ : ContinuousSMul R C(α, M))
Equations
- (_ : VAddCommClass R R₁ C(α, M)) = (_ : VAddCommClass R R₁ C(α, M))
Equations
- (_ : SMulCommClass R R₁ C(α, M)) = (_ : SMulCommClass R R₁ C(α, M))
Equations
- (_ : IsScalarTower R R₁ C(α, M)) = (_ : IsScalarTower R R₁ C(α, M))
Equations
- (_ : IsCentralScalar R C(α, M)) = (_ : IsCentralScalar R C(α, M))
Equations
- ContinuousMap.instMulActionContinuousMap = Function.Injective.mulAction DFunLike.coe (_ : Function.Injective DFunLike.coe) (_ : ∀ (c : R) (f : C(α, M)), ⇑(c • f) = c • ⇑f)
Equations
- One or more equations did not get rendered due to their size.
Equations
- ContinuousMap.module = Function.Injective.module R ContinuousMap.coeFnAddMonoidHom (_ : Function.Injective DFunLike.coe) (_ : ∀ (c : R) (f : C(α, M)), ⇑(c • f) = c • ⇑f)
Composition on the left by a continuous linear map, as a LinearMap
.
Similar to LinearMap.compLeft
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Coercion to a function as a LinearMap
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Algebra structure #
In this section we show that continuous functions valued in a topological algebra A
over a ring
R
inherit the structure of an algebra. Note that the hypothesis that A
is a topological algebra
is obtained by requiring that A
be both a ContinuousSMul
and a TopologicalSemiring
.
The R
-subalgebra of continuous maps α → A
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Continuous constant functions as a RingHom
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Composition on the left by a (continuous) homomorphism of topological R
-algebras, as an
AlgHom
. Similar to AlgHom.compLeft
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Precomposition of functions into a normed ring by a continuous map is an algebra homomorphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Coercion to a function as an AlgHom
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A version of Set.SeparatesPoints
for subalgebras of the continuous functions,
used for stating the Stone-Weierstrass theorem.
Equations
- Subalgebra.SeparatesPoints s = Set.SeparatesPoints ((fun (f : C(α, A)) => ⇑f) '' ↑s)
Instances For
A set of continuous maps "separates points strongly" if for each pair of distinct points there is a function with specified values on them.
We give a slightly unusual formulation, where the specified values are given by some
function v
, and we ask f x = v x ∧ f y = v y
. This avoids needing a hypothesis x ≠ y
.
In fact, this definition would work perfectly well for a set of non-continuous functions, but as the only current use case is in the Stone-Weierstrass theorem, writing it this way avoids having to deal with casts inside the set. (This may need to change if we do Stone-Weierstrass on non-compact spaces, where the functions would be continuous functions vanishing at infinity.)
Equations
- Set.SeparatesPointsStrongly s = ∀ (v : α → 𝕜) (x y : α), ∃ f ∈ s, f x = v x ∧ f y = v y
Instances For
Working in continuous functions into a topological field, a subalgebra of functions that separates points also separates points strongly.
By the hypothesis, we can find a function f
so f x ≠ f y
.
By an affine transformation in the field we can arrange so that f x = a
and f x = b
.
Equations
- (_ : Subsingleton (Subalgebra R C(α, R))) = (_ : Subsingleton (Subalgebra R C(α, R)))
Structure as module over scalar functions #
If M
is a module over R
, then we show that the space of continuous functions from α
to M
is naturally a module over the ring of continuous functions from α
to R
.
We now provide formulas for f ⊓ g
and f ⊔ g
, where f g : C(α, β)
,
in terms of ContinuousMap.abs
.
C(α, β)
is a lattice ordered group
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Star structure #
If β
has a continuous star operation, we put a star structure on C(α, β)
by using the
star operation pointwise.
If β
is a ⋆-ring, then C(α, β)
inherits a ⋆-ring structure.
If β
is a ⋆-ring and a ⋆-module over R
, then the space of continuous functions from α
to β
is a ⋆-module over R
.
Equations
- ContinuousMap.instStarContinuousMap = { star := fun (f : C(α, β)) => ContinuousMap.comp starContinuousMap f }
Equations
- (_ : TrivialStar C(α, β)) = (_ : TrivialStar C(α, β))
Equations
- One or more equations did not get rendered due to their size.
Equations
- (_ : StarModule R C(α, β)) = (_ : StarModule R C(α, β))
The functorial map taking f : C(X, Y)
to C(Y, A) →⋆ₐ[𝕜] C(X, A)
given by pre-composition
with the continuous function f
. See ContinuousMap.compMonoidHom'
and
ContinuousMap.compAddMonoidHom'
, ContinuousMap.compRightAlgHom
for bundlings of
pre-composition into a MonoidHom
, an AddMonoidHom
and an AlgHom
, respectively, under
suitable assumptions on A
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
ContinuousMap.compStarAlgHom'
sends the identity continuous map to the identity
StarAlgHom
ContinuousMap.compStarAlgHom'
is functorial.
Post-composition with a continuous star algebra homomorphism is a star algebra homomorphism between spaces of continuous maps.
Equations
- One or more equations did not get rendered due to their size.
Instances For
ContinuousMap.compStarAlgHom
sends the identity StarAlgHom
on A
to the identity
StarAlgHom
on C(X, A)
.
ContinuousMap.compStarAlgHom
is functorial.
Summing translates of a function #
Summing the translates of f
by ℤ • p
gives a map which is periodic with period p
.
(This is true without any convergence conditions, since if the sum doesn't converge it is taken to
be the zero map, which is periodic.)
ContinuousMap.compStarAlgHom'
as a StarAlgEquiv
when the continuous map f
is
actually a homeomorphism.
Equations
- One or more equations did not get rendered due to their size.