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 AddMonoids, 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.