Documentation

Mathlib.Topology.ContinuousFunction.StoneWeierstrass

The Stone-Weierstrass theorem #

If a subalgebra A of C(X, ℝ), where X is a compact topological space, separates points, then it is dense.

We argue as follows.

We then prove the complex version for star subalgebras A, by separately approximating the real and imaginary parts using the real subalgebra of real-valued functions in A (which still separates points, by taking the norm-square of a separating function).

Future work #

Extend to cover the case of subalgebras of the continuous functions vanishing at infinity, on non-compact spaces.

Turn a function f : C(X, ℝ) into a continuous map into Set.Icc (-‖f‖) (‖f‖), thereby explicitly attaching bounds.

Equations
Instances For
    @[simp]

    Given a continuous function f in a subalgebra of C(X, ℝ), postcomposing by a polynomial gives another function in A.

    This lemma proves something slightly more subtle than this: we take f, and think of it as a function into the restricted target Set.Icc (-‖f‖) ‖f‖), and then postcompose with a polynomial function on that interval. This is in fact the same situation as above, and so also gives a function in A.

    theorem ContinuousMap.inf_mem_closed_subalgebra {X : Type u_1} [TopologicalSpace X] [CompactSpace X] (A : Subalgebra C(X, )) (h : IsClosed A) (f : A) (g : A) :
    f g A
    theorem ContinuousMap.sup_mem_closed_subalgebra {X : Type u_1} [TopologicalSpace X] [CompactSpace X] (A : Subalgebra C(X, )) (h : IsClosed A) (f : A) (g : A) :
    f g A
    theorem ContinuousMap.sublattice_closure_eq_top {X : Type u_1} [TopologicalSpace X] [CompactSpace X] (L : Set C(X, )) (nA : Set.Nonempty L) (inf_mem : fL, gL, f g L) (sup_mem : fL, gL, f g L) (sep : Set.SeparatesPointsStrongly L) :

    The Stone-Weierstrass Approximation Theorem, that a subalgebra A of C(X, ℝ), where X is a compact topological space, is dense if it separates points.

    An alternative statement of the Stone-Weierstrass theorem.

    If A is a subalgebra of C(X, ℝ) which separates points (and X is compact), every real-valued continuous function on X is a uniform limit of elements of A.

    An alternative statement of the Stone-Weierstrass theorem, for those who like their epsilons.

    If A is a subalgebra of C(X, ℝ) which separates points (and X is compact), every real-valued continuous function on X is within any ε > 0 of some element of A.

    theorem ContinuousMap.exists_mem_subalgebra_near_continuous_of_separatesPoints {X : Type u_1} [TopologicalSpace X] [CompactSpace X] (A : Subalgebra C(X, )) (w : Subalgebra.SeparatesPoints A) (f : X) (c : Continuous f) (ε : ) (pos : 0 < ε) :
    ∃ (g : A), ∀ (x : X), g x - f x < ε

    An alternative statement of the Stone-Weierstrass theorem, for those who like their epsilons and don't like bundled continuous functions.

    If A is a subalgebra of C(X, ℝ) which separates points (and X is compact), every real-valued continuous function on X is within any ε > 0 of some element of A.

    theorem Subalgebra.SeparatesPoints.isROrC_to_real {𝕜 : Type u_1} {X : Type u_2} [IsROrC 𝕜] [TopologicalSpace X] {A : StarSubalgebra 𝕜 C(X, 𝕜)} (hA : Subalgebra.SeparatesPoints A.toSubalgebra) :

    If a star subalgebra of C(X, 𝕜) separates points, then the real subalgebra of its purely real-valued elements also separates points.

    The Stone-Weierstrass approximation theorem, IsROrC version, that a star subalgebra A of C(X, 𝕜), where X is a compact topological space and IsROrC 𝕜, is dense if it separates points.

    Polynomial functions in are dense in C(s, ℝ) when s is compact.

    See polynomialFunctions_closure_eq_top for the special case s = Set.Icc a b which does not use the full Stone-Weierstrass theorem. Of course, that version could be used to prove this one as well.

    The star subalgebra generated by polynomials functions is dense in C(s, 𝕜) when s is compact and 𝕜 is either or .

    theorem ContinuousMap.algHom_ext_map_X {A : Type u_1} [Ring A] [Algebra A] [TopologicalSpace A] [T2Space A] {s : Set } [CompactSpace s] {φ : C(s, ) →ₐ[] A} {ψ : C(s, ) →ₐ[] A} (hφ : Continuous φ) (hψ : Continuous ψ) (h : φ ((Polynomial.toContinuousMapOnAlgHom s) Polynomial.X) = ψ ((Polynomial.toContinuousMapOnAlgHom s) Polynomial.X)) :
    φ = ψ

    Continuous algebra homomorphisms from C(s, ℝ) into an -algebra A which agree at X : 𝕜[X] (interpreted as a continuous map) are, in fact, equal.

    theorem ContinuousMap.starAlgHom_ext_map_X {𝕜 : Type u_1} {A : Type u_2} [IsROrC 𝕜] [Ring A] [StarRing A] [Algebra 𝕜 A] [TopologicalSpace A] [T2Space A] {s : Set 𝕜} [CompactSpace s] {φ : C(s, 𝕜) →⋆ₐ[𝕜] A} {ψ : C(s, 𝕜) →⋆ₐ[𝕜] A} (hφ : Continuous φ) (hψ : Continuous ψ) (h : φ ((Polynomial.toContinuousMapOnAlgHom s) Polynomial.X) = ψ ((Polynomial.toContinuousMapOnAlgHom s) Polynomial.X)) :
    φ = ψ

    Continuous star algebra homomorphisms from C(s, 𝕜) into a star 𝕜-algebra A which agree at X : 𝕜[X] (interpreted as a continuous map) are, in fact, equal.