File: Mathlib/Topology/ContinuousFunction/Polynomial.lean

full_name: Polynomial.toContinuousMap_apply
code: /--
Every polynomial with coefficients in a topological semiring gives a (bundled) continuous function.
-/
@[simps]
def toContinuousMap (p : R[X]) : C(R, R) 
goal: p.toContinuousMap x = Polynomial.eval x p

full_name: Polynomial.toContinuousMap
code: /--
Every polynomial with coefficients in a topological semiring gives a (bundled) continuous function.
-/
@[simps]
def toContinuousMap (p : R[X]) : C(R, R) 
goal: C(R, R)

full_name: Polynomial.toContinuousMap_X_eq_id
code: lemma toContinuousMap_X_eq_id : X.toContinuousMap = .id R 
goal: Polynomial.X.toContinuousMap = ContinuousMap.id R

full_name: Polynomial.toContinuousMapOn_apply
code: /-- A polynomial as a continuous function,
with domain restricted to some subset of the semiring of coefficients.

(This is particularly useful when restricting to compact sets, e.g. `[0,1]`.)
-/
@[simps]
def toContinuousMapOn (p : R[X]) (X : Set R) : C(X, R) 
goal: (p.toContinuousMapOn X) x = p.toContinuousMap ↑x

full_name: Polynomial.toContinuousMapOn
code: /-- A polynomial as a continuous function,
with domain restricted to some subset of the semiring of coefficients.

(This is particularly useful when restricting to compact sets, e.g. `[0,1]`.)
-/
@[simps]
def toContinuousMapOn (p : R[X]) (X : Set R) : C(X, R) 
goal: C(↑X, R)

full_name: Polynomial.toContinuousMapOn_X_eq_restrict_id
code: lemma toContinuousMapOn_X_eq_restrict_id (s : Set R) :
    X.toContinuousMapOn s = restrict s (.id R) 
goal: Polynomial.X.toContinuousMapOn s = ContinuousMap.restrict s (ContinuousMap.id R)

full_name: Polynomial.aeval_continuousMap_apply
code: @[simp]
theorem aeval_continuousMap_apply (g : R[X]) (f : C(α, R)) (x : α) :
    ((Polynomial.aeval f) g) x = g.eval (f x) 
goal: ((Polynomial.aeval f) g) x = Polynomial.eval (f x) g

full_name: Polynomial.toContinuousMapAlgHom
code: /-- The algebra map from `R[X]` to continuous functions `C(R, R)`.
-/
@[simps]
def toContinuousMapAlgHom : R[X] →ₐ[R] C(R, R) 
goal: R[X] →ₐ[R] C(R, R)

full_name: Polynomial.toContinuousMapAlgHom_apply
code: /-- The algebra map from `R[X]` to continuous functions `C(R, R)`.
-/
@[simps]
def toContinuousMapAlgHom : R[X] →ₐ[R] C(R, R) 
goal: Polynomial.toContinuousMapAlgHom p = p.toContinuousMap

full_name: Polynomial.toContinuousMapOnAlgHom
code: /-- The algebra map from `R[X]` to continuous functions `C(X, R)`, for any subset `X` of `R`.
-/
@[simps]
def toContinuousMapOnAlgHom (X : Set R) : R[X] →ₐ[R] C(X, R) 
goal: R[X] →ₐ[R] C(↑X, R)

full_name: Polynomial.toContinuousMapOnAlgHom_apply
code: /-- The algebra map from `R[X]` to continuous functions `C(X, R)`, for any subset `X` of `R`.
-/
@[simps]
def toContinuousMapOnAlgHom (X : Set R) : R[X] →ₐ[R] C(X, R) 
goal: (Polynomial.toContinuousMapOnAlgHom X) p = p.toContinuousMapOn X

full_name: polynomialFunctions
code: /--
The subalgebra of polynomial functions in `C(X, R)`, for `X` a subset of some topological semiring
`R`.
-/
noncomputable -- Porting note: added noncomputable
def polynomialFunctions (X : Set R) : Subalgebra R C(X, R) 
goal: Subalgebra R C(↑X, R)

full_name: polynomialFunctions_coe
code: @[simp]
theorem polynomialFunctions_coe (X : Set R) :
    (polynomialFunctions X : Set C(X, R)) = Set.range (Polynomial.toContinuousMapOnAlgHom X) 
goal: ↑(polynomialFunctions X) = Set.range ⇑(Polynomial.toContinuousMapOnAlgHom X)

full_name: polynomialFunctions_separatesPoints
code: theorem polynomialFunctions_separatesPoints (X : Set R) : (polynomialFunctions X).SeparatesPoints 
goal: (polynomialFunctions X).SeparatesPoints

full_name: polynomialFunctions.comap_compRightAlgHom_iccHomeoI
code: /-- The preimage of polynomials on `[0,1]` under the pullback map by `x ↦ (b-a) * x + a`
is the polynomials on `[a,b]`. -/
theorem polynomialFunctions.comap_compRightAlgHom_iccHomeoI (a b : ℝ) (h : a < b) :
    (polynomialFunctions I).comap (compRightAlgHom ℝ ℝ (iccHomeoI a b h).symm.toContinuousMap) =
      polynomialFunctions (Set.Icc a b) 
goal: Subalgebra.comap (ContinuousMap.compRightAlgHom ℝ ℝ (iccHomeoI a b h).symm.toContinuousMap)
    (polynomialFunctions unitInterval) =
  polynomialFunctions (Set.Icc a b)

full_name: polynomialFunctions.eq_adjoin_X
code: theorem polynomialFunctions.eq_adjoin_X (s : Set R) :
    polynomialFunctions s = Algebra.adjoin R {toContinuousMapOnAlgHom s X} 
goal: polynomialFunctions s = Algebra.adjoin R {(Polynomial.toContinuousMapOnAlgHom s) Polynomial.X}

full_name: polynomialFunctions.le_equalizer
code: theorem polynomialFunctions.le_equalizer {A : Type*} [Semiring A] [Algebra R A] (s : Set R)
    (φ ψ : C(s, R) →ₐ[R] A)
    (h : φ (toContinuousMapOnAlgHom s X) = ψ (toContinuousMapOnAlgHom s X)) :
    polynomialFunctions s ≤ AlgHom.equalizer φ ψ 
goal: polynomialFunctions s ≤ AlgHom.equalizer φ ψ

full_name: polynomialFunctions.starClosure_eq_adjoin_X
code: theorem polynomialFunctions.starClosure_eq_adjoin_X [StarRing R] [ContinuousStar R] (s : Set R) :
    (polynomialFunctions s).starClosure = adjoin R {toContinuousMapOnAlgHom s X} 
goal: (polynomialFunctions s).starClosure = StarAlgebra.adjoin R {(Polynomial.toContinuousMapOnAlgHom s) Polynomial.X}

full_name: polynomialFunctions.starClosure_le_equalizer
code: theorem polynomialFunctions.starClosure_le_equalizer {A : Type*} [StarRing R] [ContinuousStar R]
    [Semiring A] [StarRing A] [Algebra R A] (s : Set R) (φ ψ : C(s, R) →⋆ₐ[R] A)
    (h : φ (toContinuousMapOnAlgHom s X) = ψ (toContinuousMapOnAlgHom s X)) :
    (polynomialFunctions s).starClosure ≤ StarAlgHom.equalizer φ ψ 
goal: (polynomialFunctions s).starClosure ≤ StarAlgHom.equalizer φ ψ