Documentation

Books.Analysis2_Tao_2022.Chapters.Chap03.section08

def IsPolynomialOn (a b : ) (f : (Set.Icc a b)) :

Definition 3.12: Let a,b ∈ ℝ with a ≤ b. A polynomial on [a,b] is a function f : [a,b] → ℝ for which there exist n ≥ 0 and coefficients c₀, …, cₙ ∈ ℝ such that f(x) = ∑_{i=0}^n cᵢ x^i for all x ∈ [a,b]. If f is a polynomial and n is the largest index with cₙ ≠ 0, then n is called the degree of f.

Equations
Instances For
    def IsPolynomialDegreeOn (a b : ) (f : (Set.Icc a b)) (n : ) :

    A natural number n is the degree of f on [a,b] if f agrees on [a,b] with a nonzero real polynomial of natDegree n.

    Equations
    Instances For

      The specific function x ↦ 3x^4 + 2x^3 - 4x + 5 on [1,2].

      Equations
      Instances For

        Helper for Example 3.8.2: evaluation of the witness polynomial equals the given function.

        Helper for Example 3.8.2: the witness polynomial has natDegree 4.

        Helper for Example 3.8.2: the witness polynomial has nonzero coefficient at index 4.

        Example 3.8.2: The function f(x) = 3x^4 + 2x^3 - 4x + 5 on [1,2] is a polynomial of degree 4.

        The set of bounded continuous functions on [a,b] that are polynomial on [a,b].

        Equations
        Instances For

          Helper for Text 3.8.1: a polynomial bundled as a bounded continuous function belongs to polynomialFunctionsOnIcc.

          Helper for Text 3.8.1: a sup-norm estimate in C([a,b], ℝ) transfers to a distance estimate in BoundedContinuousFunction (Set.Icc a b) ℝ.

          theorem helperForText_3_8_1_exists_polynomial_in_ball (a b : ) (h : a b) (f : BoundedContinuousFunction (Set.Icc a b) ) (ε : ) ( : 0 < ε) :
          gpolynomialFunctionsOnIcc a b, dist g f < ε

          Helper for Text 3.8.1: every open ball around a bounded continuous function on [a,b] contains a polynomial function.

          Text 3.8.1: (Weierstrass approximation in closure form) For a closed interval [a,b], the set of polynomial functions on [a,b] is dense (with respect to the uniform norm) in the space of continuous functions on [a,b].

          Helper for Text 3.8.2: for each polynomial, eventually |exp x - p(x)| is at least exp x / 2.

          Helper for Text 3.8.2: for each polynomial and each real bound M, eventually |exp x - p(x)| is larger than M.

          Helper for Text 3.8.2: the WithTop supremum of |exp x - p(x)| over is .

          Helper for Text 3.8.2: uniform convergence of a polynomial sequence to exp forces one polynomial in the sequence to be globally within 1.

          Text 3.8.2: [Failure of uniform polynomial approximation on ] Continuous functions on cannot, in general, be uniformly approximated by polynomials. In particular, for f(x)=e^x and for every polynomial p, one has sup_{x∈ℝ} |e^x - p(x)| = +∞; hence there is no sequence of polynomials (p_n) such that p_n → e^x uniformly on .

          theorem helperForTheorem_3_11_polynomial_near_bundled_map (a b ε : ) (f : (Set.Icc a b)) (hf : Continuous f) ( : 0 < ε) :
          ∃ (p : Polynomial ), p.toContinuousMapOn (Set.Icc a b) - { toFun := f, continuous_toFun := hf } < ε

          Helper for Theorem 3.11: obtain a polynomial whose bundled map is within ε in sup norm.

          theorem helperForTheorem_3_11_pointwise_lt_of_supnorm_lt (a b ε : ) (F G : C((Set.Icc a b), )) (hFG : F - G < ε) (x : (Set.Icc a b)) :
          |F x - G x| < ε

          Helper for Theorem 3.11: a sup-norm bound between bundled maps implies pointwise bounds.

          theorem helperForTheorem_3_11_eval_form_and_weakening (a b ε : ) (f : (Set.Icc a b)) (hf : Continuous f) (p : Polynomial ) (hpoint : ∀ (x : (Set.Icc a b)), |(p.toContinuousMapOn (Set.Icc a b) - { toFun := f, continuous_toFun := hf }) x| < ε) (x : (Set.Icc a b)) :
          |Polynomial.eval (↑x) p - f x| ε

          Helper for Theorem 3.11: rewrite evaluation form and weaken < ε to ≤ ε.

          theorem weierstrassApproximationOnIcc (a b : ) (h : a < b) (f : (Set.Icc a b)) (hf : Continuous f) (ε : ) :
          ε > 0∃ (p : Polynomial ), ∀ (x : (Set.Icc a b)), |Polynomial.eval (↑x) p - f x| ε

          Theorem 3.11 (Weierstrass approximation theorem): Let a < b and let f : [a,b] → ℝ be continuous. For every ε > 0 there exists a real polynomial P such that |P(x) - f(x)| ≤ ε for all x ∈ [a,b]. Equivalently, the closure of the polynomial functions on [a,b] in the uniform metric is the set of all continuous functions on [a,b].

          def IsSupportedOnIcc (a b : ) (f : ) :

          A function f : ℝ → ℝ is supported on [a,b] if a ≤ b and f(x) = 0 for all x ∈ ℝ \ [a,b].

          Equations
          Instances For
            theorem helperForTheorem_3_12_restrict_continuousOnIcc01 (f : ) (hf : Continuous f) :
            Continuous fun (x : (Set.Icc 0 1)) => f x

            Helper for Theorem 3.12: the restriction of a continuous real function to [0,1] is continuous.

            theorem helperForTheorem_3_12_exists_polynomial_onIcc01 (f : ) (hf : Continuous f) (ε : ) :
            ε > 0∃ (p : Polynomial ), ∀ (x : (Set.Icc 0 1)), |Polynomial.eval (↑x) p - (fun (y : (Set.Icc 0 1)) => f y) x| ε

            Helper for Theorem 3.12: instantiate Weierstrass approximation on [0,1] for the restricted function.

            theorem helperForTheorem_3_12_rewrite_restricted_value (f : ) (p : Polynomial ) (x : (Set.Icc 0 1)) :
            |Polynomial.eval (↑x) p - (fun (y : (Set.Icc 0 1)) => f y) x| = |Polynomial.eval (↑x) p - f x|

            Helper for Theorem 3.12: simplify the restricted-function value at a point of [0,1] in the approximation expression.

            theorem weierstrassApproximation_supportedOnIcc01 (f : ) (hf : Continuous f) (hfs : IsSupportedOnIcc 0 1 f) (ε : ) :
            ε > 0∃ (p : Polynomial ), ∀ (x : (Set.Icc 0 1)), |Polynomial.eval (↑x) p - f x| ε

            Theorem 3.12: [Weierstrass approximation theorem I] Let f : ℝ → ℝ be continuous and supported on [0,1], i.e. f(x)=0 for all x ∉ [0,1]. Then for every ε > 0 there exists a polynomial p ∈ ℝ[x] such that |p(x) - f(x)| ≤ ε for all x ∈ [0,1].

            Definition 3.13: [Compactly supported functions] A function f : ℝ → ℝ is supported on a closed interval [a,b] if it vanishes outside [a,b]; it is compactly supported if there exist real numbers a ≤ b such that f is supported on [a,b]. If f is continuous and supported on [a,b], define ∫_{-∞}^{∞} f(x) dx := ∫_a^b f(x) dx.

            Equations
            Instances For
              noncomputable def compactSupportIntegral (a b : ) (f : ) :

              The integral over of a function supported on [a,b], defined as the interval integral over [a,b].

              Equations
              Instances For
                theorem helperForLemma_3_1_leftEndpoint_zero_of_supported {f : } (hf : Continuous f) {a b : } (hab : IsSupportedOnIcc a b f) :
                f a = 0

                Helper for Lemma 3.1: a continuous function supported on [a,b] vanishes at a.

                theorem helperForLemma_3_1_rightEndpoint_zero_of_supported {f : } (hf : Continuous f) {a b : } (hab : IsSupportedOnIcc a b f) :
                f b = 0

                Helper for Lemma 3.1: a continuous function supported on [a,b] vanishes at b.

                Helper for Lemma 3.1: support of a continuous function supported on [a,b] lies in Set.Ioc a b.

                theorem integral_eq_of_supported_on_two_Icc (f : ) (hf : Continuous f) (a b c d : ) (hab : IsSupportedOnIcc a b f) (hcd : IsSupportedOnIcc c d f) :
                (x : ) in a..b, f x = (x : ) in c..d, f x

                Lemma 3.1: If a continuous function is supported on both [a,b] and [c,d] (i.e. it vanishes outside each interval), then the interval integrals agree.

                def IsApproximationToIdentity (ε δ : ) (f : ) :

                Definition 3.14: [Approximation to the identity] Let ε > 0 and 0 < δ < 1. A function f : ℝ → ℝ is an (ε,δ)-approximation to the identity if (1) supp f ⊆ [-1,1] and f(x) ≥ 0 for all x, (2) f is continuous on and ∫_{-∞}^{∞} f(x) dx = 1, and (3) for δ ≤ |x| ≤ 1, one has |f(x)| ≤ ε.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  theorem exists_polynomial_approximate_identity (ε δ : ) ( : 0 < ε) ( : 0 < δ) (hδ' : δ < 1) :
                  ∃ (p : Polynomial ), xSet.Icc (-1) (-δ) Set.Icc δ 1, |Polynomial.eval x p - x| ε

                  Lemma 3.2: [Polynomials can approximate the identity] For every ε > 0 and every δ with 0 < δ < 1, there exists a real polynomial P such that |P(x) - x| ≤ ε for all x ∈ [-1,-δ] ∪ [δ,1]; in particular, such P gives an (ε,δ)-approximation to the identity on [-1,1].

                  noncomputable def realConvolution (f g : { f : // Continuous f IsCompactlySupported f }) :

                  Definition 3.15: [Convolution] Let f,g : ℝ → ℝ be continuous with compact support. The convolution f*g is the function x ↦ ∫ y, f y * g (x - y).

                  Equations
                  Instances For
                    noncomputable def realConvolutionFun (f g : ) :

                    Convolution of two real functions, defined by (f*g)(x) = ∫ t, f (x - t) * g t.

                    Equations
                    Instances For
                      theorem convolution_polynomial_on_Icc (f g : ) (hf : Continuous f) (hg : Continuous g) (hfs : IsSupportedOnIcc 0 1 f) (hgs : IsSupportedOnIcc (-1) 1 g) (hgp : ∃ (n : ) (p : Polynomial ), p.natDegree n xSet.Icc (-1) 1, g x = Polynomial.eval x p) :
                      ∃ (n : ) (q : Polynomial ), q.natDegree n xSet.Icc 0 1, realConvolutionFun f g x = Polynomial.eval x q

                      Lemma 3.3: Let f : ℝ → ℝ be continuous with support in [0,1] and let g : ℝ → ℝ be continuous with support in [-1,1]. If there exist n ≥ 0 and real coefficients so that g agrees with a polynomial of degree at most n on [-1,1], then the convolution f*g is a polynomial of degree at most n on [0,1] (in particular, it is a polynomial on [0,1]).

                      theorem convolution_approx_identity_bound (f g : ) (hf : Continuous f) (hfs : IsSupportedOnIcc 0 1 f) (M : ) (hM : 0 < M) (hbound : ∀ (x : ), |f x| M) (ε δ : ) ( : 0 < ε) ( : 0 < δ) (hδ' : δ < 1) (hmod : ∀ (x y : ), |x - y| < δ|f x - f y| < ε) (hg_integrable : MeasureTheory.Integrable g MeasureTheory.volume) (hg_one : (t : ), g t = 1) (hg_nonneg : ∀ (t : ), 0 g t) (hg_tail : (t : ) in {t : | |t| δ}, |g t| < ε) (x : ) :
                      x Set.Icc 0 1|realConvolutionFun f g x - f x| (1 + 4 * M) * ε

                      Lemma 3.4: Let f : ℝ → ℝ be continuous, supported on [0,1], and bounded by M > 0, with |f x| ≤ M for all x. Let ε > 0 and 0 < δ < 1 be such that |f x - f y| < ε whenever |x - y| < δ. Let g satisfy (1) g is integrable and ∫ t, g t = 1, (2) g is nonnegative, and (3) ∫ t in {t | |t| ≥ δ}, |g t| < ε. Then for every x ∈ [0,1], |(f*g)(x) - f(x)| ≤ (1 + 4M) ε.

                      Helper for Proposition 3.23: extract interval support bounds from compact support.

                      Helper for Proposition 3.23: custom compact support implies HasCompactSupport.

                      Helper for Proposition 3.23: convolution of compactly supported functions is compactly supported in the textbook interval-support sense.

                      theorem helperForProposition_3_23_convolution_add_right (u v w : ) (hu : Continuous u) (hv : Continuous v) (hw : Continuous w) (hvs : IsCompactlySupported v) (hws : IsCompactlySupported w) (x : ) :
                      realConvolutionFun u (fun (t : ) => v t + w t) x = realConvolutionFun u v x + realConvolutionFun u w x

                      Helper for Proposition 3.23: right-additivity of convolution under continuity and compact support hypotheses.

                      theorem convolution_basic_properties (f g h : ) (hf : Continuous f) (hg : Continuous g) (hh : Continuous h) (hfs : IsCompactlySupported f) (hgs : IsCompactlySupported g) (hhs : IsCompactlySupported h) :
                      (Continuous (realConvolutionFun f g) IsCompactlySupported (realConvolutionFun f g)) (∀ (x : ), realConvolutionFun f g x = realConvolutionFun g f x) (∀ (x : ), realConvolutionFun f (fun (t : ) => g t + h t) x = realConvolutionFun f g x + realConvolutionFun f h x) ∀ (c x : ), realConvolutionFun f (fun (t : ) => c * g t) x = realConvolutionFun (fun (t : ) => c * f t) g x realConvolutionFun f (fun (t : ) => c * g t) x = c * realConvolutionFun f g x

                      Proposition 3.23: (Basic properties of convolution) Let f,g,h : ℝ → ℝ be continuous functions with compact support, and define (f*g)(x) = ∫ t, f (x - t) * g t. Then: (1) f*g is continuous and has compact support; (2) (Commutativity) for all x, (f*g)(x) = (g*f)(x); (3) (Linearity) for all x, (f*(g+h))(x) = (f*g)(x) + (f*h)(x), and for any c and all x, (f*(c g))(x) = ((c f)*g)(x) = c (f*g)(x).

                      def ConvolutionDefined (f g : ) :

                      The convolution of f and g is absolutely convergent at every point.

                      Equations
                      Instances For
                        noncomputable def diracDelta :

                        A formal Dirac delta distribution, treated as a function for convolution statements.

                        Equations
                        Instances For

                          diracDelta is equal almost everywhere to 0 for Lebesgue measure on .

                          theorem diagnostic_diracDelta_shift_ae_zero (x : ) :
                          (fun (t : ) => diracDelta (x - t)) =ᵐ[MeasureTheory.volume] fun (x : ) => 0

                          Every translate t ↦ diracDelta (x - t) is equal almost everywhere to 0.

                          The kernel diracDelta is integrable because it is almost everywhere zero.

                          Every translate t ↦ diracDelta (x - t) is integrable.

                          Convolution of the constant-one function with diracDelta is identically 0.

                          Convolution of diracDelta with the constant-one function is identically 0.

                          The identity claim (f*δ)(x) = (δ*f)(x) = f(x) fails for f ≡ 1.

                          Proposition 3.24 packaged with explicit analytic assumptions: besides the basic ConvolutionDefined hypotheses, we assume associativity and derivative-commutation as separate premises. Under these assumptions and the present function-level diracDelta, convolution with δ vanishes pointwise.

                          theorem zero_mem_Icc01 :
                          0 Set.Icc 0 1

                          The left endpoint 0 belongs to [0,1] as an element of Set.Icc.

                          theorem one_mem_Icc01 :
                          1 Set.Icc 0 1

                          The right endpoint 1 belongs to [0,1] as an element of Set.Icc.

                          theorem helperForLemma_3_5_notMem_Icc01_split {x : } (hx : xSet.Icc 0 1) :
                          x < 0 1 < x

                          Helper for Lemma 3.5: points outside [0,1] satisfy x < 0 ∨ 1 < x.

                          theorem helperForLemma_3_5_IccExtend_zero_outside (h01 : 0 1) (f : (Set.Icc 0 1)) (hf0 : f 0, zero_mem_Icc01 = 0) (hf1 : f 1, one_mem_Icc01 = 0) {x : } (hx : xSet.Icc 0 1) :
                          Set.IccExtend h01 f x = 0

                          Helper for Lemma 3.5: the Icc extension is zero outside [0,1] using the endpoint hypotheses.

                          theorem helperForLemma_3_5_IccExtend_eq_ifExtension (h01 : 0 1) (f : (Set.Icc 0 1)) (hf0 : f 0, zero_mem_Icc01 = 0) (hf1 : f 1, one_mem_Icc01 = 0) :
                          Set.IccExtend h01 f = fun (x : ) => if h : x Set.Icc 0 1 then f x, h else 0

                          Helper for Lemma 3.5: the Icc extension agrees with the if-defined function.

                          theorem helperForLemma_3_5_continuous_IccExtend (h01 : 0 1) (f : (Set.Icc 0 1)) (hf : Continuous f) :

                          Helper for Lemma 3.5: continuity of the clamped extension Set.IccExtend.

                          theorem continuous_extension_by_zero_Icc01 (f : (Set.Icc 0 1)) (hf : Continuous f) (hf0 : f 0, zero_mem_Icc01 = 0) (hf1 : f 1, one_mem_Icc01 = 0) :
                          have F := fun (x : ) => if h : x Set.Icc 0 1 then f x, h else 0; Continuous F

                          Lemma 3.5: Let f : [0,1] → ℝ be continuous with f(0)=f(1)=0. Define F : ℝ → ℝ by F(x)=f(x) for x ∈ [0,1] and F(x)=0 for x ∉ [0,1]. Then F is continuous on .

                          theorem weierstrassApproximationOnIcc01_zeroEndpoints (f : (Set.Icc 0 1)) (hf : Continuous f) (hf0 : f 0, zero_mem_Icc01 = 0) (hf1 : f 1, one_mem_Icc01 = 0) (ε : ) :
                          ε > 0∃ (p : Polynomial ), ∀ (x : (Set.Icc 0 1)), |Polynomial.eval (↑x) p - f x| ε

                          Theorem 3.13: (Weierstrass approximation theorem II) Let f : [0,1] → ℝ be continuous and satisfy f(0)=f(1)=0. Then for every ε > 0 there exists a polynomial P such that sup_{x ∈ [0,1]} |P(x) - f(x)| ≤ ε.

                          theorem weierstrassApproximationOnIcc01 (f : (Set.Icc 0 1)) (hf : Continuous f) (ε : ) :
                          ε > 0∃ (p : Polynomial ), ∀ (x : (Set.Icc 0 1)), |Polynomial.eval (↑x) p - f x| ε

                          Theorem 3.14: [Weierstrass approximation theorem III] Let f : [0,1] → ℝ be continuous. For every ε > 0 there exists a polynomial P : [0,1] → ℝ such that sup_{x ∈ [0,1]} |P(x) - f(x)| ≤ ε.

                          theorem weierstrassApproximationOnIcc_sup (a b : ) (hab : a < b) (f : (Set.Icc a b)) (hf : Continuous f) (ε : ) :
                          ε > 0∃ (p : Polynomial ), ∀ (y : (Set.Icc a b)), |Polynomial.eval (↑y) p - f y| ε

                          Theorem 3.15: [Weierstrass approximation theorem on [a,b]] Let a < b and let f : [a,b] → ℝ be continuous. For every ε > 0 there exists a polynomial P such that sup_{y ∈ [a,b]} |P(y) - f(y)| ≤ ε.