Documentation

Mathlib.Analysis.Distribution.ContDiffMapSupportedIn

Continuously differentiable functions supported in a given compact set #

This file develops the basic theory of bundled n-times continuously differentiable functions with support contained in a given compact set.

Given n : β„•βˆž and a compact subset K of a normed space E, we consider the type of bundled functions f : E β†’ F (where F is a normed vector space) such that:

The main reason this exists as a bundled type is to be endowed with its natural locally convex topology (namely, uniform convergence of f and its derivatives up to order n). Taking the locally convex inductive limit of these as K varies yields the natural topology on test functions, used to define distributions. While most of distribution theory cares only about C^∞ functions, we also want to endow the space of C^n test functions with its natural topology. Indeed, distributions of order less than n are precisely those which extend continuously to this larger space of test functions.

Main definitions #

Main statements #

Notation #

In the Distributions scope, we introduce the following notations:

Implementation details #

Tags #

distributions

The type of bundled n-times continuously differentiable maps which vanish outside of a fixed compact set K.

Instances For

    Notation for the space of bundled n-times continuously differentiable functions with support in a compact set K.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Notation for the space of bundled smooth (infinitely differentiable) functions with support in a compact set K.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        class ContDiffMapSupportedInClass (B : Type u_4) (E : outParam (Type u_5)) (F : outParam (Type u_6)) [NormedAddCommGroup E] [NormedAddCommGroup F] [NormedSpace ℝ E] [NormedSpace ℝ F] (n : outParam β„•βˆž) (K : outParam (TopologicalSpace.Compacts E)) extends DFunLike B E fun (x : E) => F :
        Type (max (max u_4 u_5) u_6)

        ContDiffMapSupportedInClass B E F n K states that B is a type of bundled n-times continuously differentiable functions with support in the compact set K.

        Instances
          Equations

          See note [custom simps projection].

          Equations
          Instances For
            theorem ContDiffMapSupportedIn.ext {E : Type u_2} {F : Type u_3} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] {n : β„•βˆž} {K : TopologicalSpace.Compacts E} {f g : ContDiffMapSupportedIn E F n K} (h : βˆ€ (a : E), f a = g a) :
            f = g
            def ContDiffMapSupportedIn.copy {E : Type u_2} {F : Type u_3} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] {n : β„•βˆž} {K : TopologicalSpace.Compacts E} (f : ContDiffMapSupportedIn E F n K) (f' : E β†’ F) (h : f' = ⇑f) :

            Copy of a ContDiffMapSupportedIn with a new toFun equal to the old one. Useful to fix definitional equalities.

            Equations
            • f.copy f' h = { toFun := f', contDiff' := β‹―, zero_on_compl' := β‹― }
            Instances For
              @[simp]
              theorem ContDiffMapSupportedIn.coe_copy {E : Type u_2} {F : Type u_3} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] {n : β„•βˆž} {K : TopologicalSpace.Compacts E} (f : ContDiffMapSupportedIn E F n K) (f' : E β†’ F) (h : f' = ⇑f) :
              ⇑(f.copy f' h) = f'
              theorem ContDiffMapSupportedIn.copy_eq {E : Type u_2} {F : Type u_3} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] {n : β„•βˆž} {K : TopologicalSpace.Compacts E} (f : ContDiffMapSupportedIn E F n K) (f' : E β†’ F) (h : f' = ⇑f) :
              f.copy f' h = f
              @[simp]
              theorem ContDiffMapSupportedIn.coe_toBoundedContinuousFunction {E : Type u_2} {F : Type u_3} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] {n : β„•βˆž} {K : TopologicalSpace.Compacts E} (f : ContDiffMapSupportedIn E F n K) :
              ⇑{ toFun := ⇑f, continuous_toFun := β‹―, map_bounded' := β‹― } = ⇑f
              Equations
              Equations
              @[simp]
              theorem ContDiffMapSupportedIn.coe_add {E : Type u_2} {F : Type u_3} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] {n : β„•βˆž} {K : TopologicalSpace.Compacts E} (f g : ContDiffMapSupportedIn E F n K) :
              ⇑(f + g) = ⇑f + ⇑g
              Equations
              Equations
              @[simp]
              theorem ContDiffMapSupportedIn.coe_sub {E : Type u_2} {F : Type u_3} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] {n : β„•βˆž} {K : TopologicalSpace.Compacts E} (f g : ContDiffMapSupportedIn E F n K) :
              ⇑(f - g) = ⇑f - ⇑g
              Equations
              Equations
              • One or more equations did not get rendered due to their size.

              Coercion as an additive homomorphism.

              Equations
              Instances For
                Equations
                • One or more equations did not get rendered due to their size.

                Inclusion of unbundled n-times continuously differentiable function with support included in a compact K into the space 𝓓^{n}_{K}.

                Equations
                Instances For
                  @[simp]
                  theorem ContDiffMapSupportedIn.coe_of_support_subset {E : Type u_2} {F : Type u_3} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] {n : β„•βˆž} {K : TopologicalSpace.Compacts E} {f : E β†’ F} (hf : ContDiff ℝ (↑n) f) (hsupp : Function.support f βŠ† ↑K) (a✝ : E) :
                  (ContDiffMapSupportedIn.of_support_subset hf hsupp) a✝ = f a✝

                  Inclusion of 𝓓^{n}_{K}(E, F) into the space E →ᡇ F of bounded continuous maps as a π•œ-linear map.

                  This is subsumed by toBoundedContinuousFunctionCLM, which also bundles the continuity.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[simp]
                    theorem ContDiffMapSupportedIn.toBoundedContinuousFunctionLM_apply (π•œ : Type u_1) {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedSpace π•œ F] [SMulCommClass ℝ π•œ F] {n : β„•βˆž} {K : TopologicalSpace.Compacts E} (f : ContDiffMapSupportedIn E F n K) :
                    (toBoundedContinuousFunctionLM π•œ) f = { toFun := ⇑f, continuous_toFun := β‹―, map_bounded' := β‹― }

                    iteratedFDerivWithOrderLM π•œ n k i is the π•œ-linear-map sending f : 𝓓^{n}_{K}(E, F) to its i-th iterated derivative as an element of 𝓓^{k}_{K}(E, E [Γ—i]β†’L[ℝ] F). This only makes mathematical sense if k + i ≀ n, otherwise we define it as the zero map.

                    See iteratedFDerivLM for the very common case where everything is infinitely differentiable.

                    This is subsumed by iteratedFDerivWithOrderCLM (not yet in Mathlib), which also bundles the continuity.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      @[simp]
                      theorem ContDiffMapSupportedIn.iteratedFDerivWithOrderLM_apply (π•œ : Type u_1) {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedSpace π•œ F] [SMulCommClass ℝ π•œ F] {n k : β„•βˆž} {K : TopologicalSpace.Compacts E} {i : β„•} (f : ContDiffMapSupportedIn E F n K) :
                      ⇑((iteratedFDerivWithOrderLM π•œ n k i) f) = if k + ↑i ≀ n then iteratedFDeriv ℝ i ⇑f else 0
                      theorem ContDiffMapSupportedIn.iteratedFDerivWithOrderLM_apply_of_le (π•œ : Type u_1) {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedSpace π•œ F] [SMulCommClass ℝ π•œ F] {n k : β„•βˆž} {K : TopologicalSpace.Compacts E} {i : β„•} (f : ContDiffMapSupportedIn E F n K) (hin : k + ↑i ≀ n) :
                      ⇑((iteratedFDerivWithOrderLM π•œ n k i) f) = iteratedFDeriv ℝ i ⇑f
                      theorem ContDiffMapSupportedIn.iteratedFDerivWithOrderLM_eq_of_scalars (π•œ : Type u_1) {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedSpace π•œ F] [SMulCommClass ℝ π•œ F] {n k : β„•βˆž} {K : TopologicalSpace.Compacts E} {i : β„•} (π•œ' : Type u_4) [NontriviallyNormedField π•œ'] [NormedSpace π•œ' F] [SMulCommClass ℝ π•œ' F] :
                      ⇑(iteratedFDerivWithOrderLM π•œ n k i) = ⇑(iteratedFDerivWithOrderLM π•œ' n k i)

                      iteratedFDerivLM π•œ i is the π•œ-linear-map sending f : 𝓓_{K}(E, F) to its i-th iterated derivative as an element of 𝓓_{K}(E, E [Γ—i]β†’L[ℝ] F).

                      See also iteratedFDerivWithOrderLM if you need more control on the regularities.

                      This is subsumed by iteratedFDerivCLM (not yet in Mathlib), which also bundles the continuity.

                      Equations
                      Instances For

                        Note: this turns out to be a definitional equality thanks to decidablity of the order on β„•βˆž. This means we could have defined iteratedFDerivLM this way, but we avoid it to make sure that ifs won't appear in the smooth case.

                        theorem ContDiffMapSupportedIn.iteratedFDerivLM_eq_of_scalars (π•œ : Type u_1) {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedSpace π•œ F] [SMulCommClass ℝ π•œ F] {K : TopologicalSpace.Compacts E} {i : β„•} (π•œ' : Type u_4) [NontriviallyNormedField π•œ'] [NormedSpace π•œ' F] [SMulCommClass ℝ π•œ' F] :
                        ⇑(iteratedFDerivLM π•œ i) = ⇑(iteratedFDerivLM π•œ' i)

                        structureMapLM π•œ n i is the π•œ-linear-map sending f : 𝓓^{n}_{K}(E, F) to its i-th iterated derivative as an element of E →ᡇ (E [Γ—i]β†’L[ℝ] F). In other words, it is the composition of toBoundedContinuousFunctionLM π•œ and iteratedFDerivWithOrderLM π•œ n 0 i. This only makes mathematical sense if i ≀ n, otherwise we define it as the zero map.

                        We call these "structure maps" because they define the topology on 𝓓^{n}_{K}(E, F).

                        This is subsumed by structureMapCLM, which also bundles the continuity.

                        Equations
                        Instances For
                          theorem ContDiffMapSupportedIn.structureMapLM_eq_of_scalars (π•œ : Type u_1) {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedSpace π•œ F] [SMulCommClass ℝ π•œ F] {n : β„•βˆž} {K : TopologicalSpace.Compacts E} {i : β„•} (π•œ' : Type u_4) [NontriviallyNormedField π•œ'] [NormedSpace π•œ' F] [SMulCommClass ℝ π•œ' F] :
                          ⇑(structureMapLM π•œ n i) = ⇑(structureMapLM π•œ' n i)

                          structureMapCLM π•œ n i is the continuous π•œ-linear-map sending f : 𝓓^{n}_{K}(E, F) to its i-th iterated derivative as an element of E →ᡇ (E [Γ—i]β†’L[ℝ] F). This only makes mathematical sense if i ≀ n, otherwise we define it as the zero map.

                          We call these "structure maps" because they define the topology on 𝓓^{n}_{K}(E, F).

                          Equations
                          Instances For
                            @[simp]
                            theorem ContDiffMapSupportedIn.structureMapCLM_apply_withOrder (π•œ : Type u_1) {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedSpace π•œ F] [SMulCommClass ℝ π•œ F] {n : β„•βˆž} {K : TopologicalSpace.Compacts E} {i : β„•} (f : ContDiffMapSupportedIn E F n K) :
                            ⇑((structureMapCLM π•œ n i) f) = if ↑i ≀ n then iteratedFDeriv ℝ i ⇑f else 0
                            theorem ContDiffMapSupportedIn.structureMapCLM_eq_of_scalars (π•œ : Type u_1) {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedSpace π•œ F] [SMulCommClass ℝ π•œ F] {n : β„•βˆž} {K : TopologicalSpace.Compacts E} {i : β„•} (π•œ' : Type u_4) [NontriviallyNormedField π•œ'] [NormedSpace π•œ' F] [SMulCommClass ℝ π•œ' F] :
                            ⇑(structureMapCLM π•œ n i) = ⇑(structureMapCLM π•œ' n i)

                            The universal property of the topology on 𝓓^{n}_{K}(E, F): a map to 𝓓^{n}_{K}(E, F) is continuous if and only if its composition with each structure map structureMapCLM ℝ n i : 𝓓^{n}_{K}(E, F) β†’ (E →ᡇ (E [Γ—i]β†’L[ℝ] F)) is continuous.

                            Since structureMapCLM ℝ n i is zero whenever i > n, it suffices to check it for i ≀ n, as proven by continuous_iff_comp_withOrder.

                            The universal property of the topology on 𝓓^{n}_{K}(E, F): a map to 𝓓^{n}_{K}(E, F) is continuous if and only if its composition with the structure map structureMapCLM ℝ n i : 𝓓^{n}_{K}(E, F) β†’ (E →ᡇ (E [Γ—i]β†’L[ℝ] F)) is continuous for each i ≀ n.

                            noncomputable def ContDiffMapSupportedIn.seminorm (π•œ : Type u_1) (E : Type u_2) (F : Type u_3) [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedSpace π•œ F] [SMulCommClass ℝ π•œ F] (n : β„•βˆž) (K : TopologicalSpace.Compacts E) (i : β„•) :
                            Seminorm π•œ (ContDiffMapSupportedIn E F n K)

                            The seminorms on the space 𝓓^{n}_{K}(E, F) given by the sup norm of the iterated derivatives. In the scope Distributions.Seminorm, we denote them by N[π•œ; F]_{K, n, i} (or N[π•œ]_{K, n, i}), or simply by N[π•œ; F]_{K, i} (or N[π•œ; F]_{K, i}) when n = ∞.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For

                              The seminorms on the space 𝓓^{n}_{K}(E, F) given by the sup norm of the iterated derivatives. In the scope Distributions.Seminorm, we denote them by N[π•œ; F]_{K, n, i} (or N[π•œ]_{K, n, i}), or simply by N[π•œ; F]_{K, i} (or N[π•œ; F]_{K, i}) when n = ∞.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For

                                The seminorms on the space 𝓓^{n}_{K}(E, F) given by the sup norm of the iterated derivatives. In the scope Distributions.Seminorm, we denote them by N[π•œ; F]_{K, n, i} (or N[π•œ]_{K, n, i}), or simply by N[π•œ; F]_{K, i} (or N[π•œ; F]_{K, i}) when n = ∞.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For

                                  The seminorms on the space 𝓓^{n}_{K}(E, F) given by the sup norm of the iterated derivatives. In the scope Distributions.Seminorm, we denote them by N[π•œ; F]_{K, n, i} (or N[π•œ]_{K, n, i}), or simply by N[π•œ; F]_{K, i} (or N[π•œ; F]_{K, i}) when n = ∞.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For

                                    The seminorms on the space 𝓓^{n}_{K}(E, F) given by the sup norm of the iterated derivatives. In the scope Distributions.Seminorm, we denote them by N[π•œ; F]_{K, n, i} (or N[π•œ]_{K, n, i}), or simply by N[π•œ; F]_{K, i} (or N[π•œ; F]_{K, i}) when n = ∞.

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      noncomputable def ContDiffMapSupportedIn.supSeminorm (π•œ : Type u_1) (E : Type u_2) (F : Type u_3) [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedSpace π•œ F] [SMulCommClass ℝ π•œ F] (n : β„•βˆž) (K : TopologicalSpace.Compacts E) (i : β„•) :
                                      Seminorm π•œ (ContDiffMapSupportedIn E F n K)

                                      The seminorms on the space 𝓓^{n}_{K}(E, F) given by sup of the ContDiffMapSupportedIn.seminorm kfor k ≀ i.

                                      Equations
                                      Instances For
                                        theorem ContDiffMapSupportedIn.seminorm_le_iff_withOrder (π•œ : Type u_1) {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedSpace π•œ F] [SMulCommClass ℝ π•œ F] {n : β„•βˆž} {K : TopologicalSpace.Compacts E} {C : ℝ} (hC : 0 ≀ C) (i : β„•) (f : ContDiffMapSupportedIn E F n K) :
                                        (ContDiffMapSupportedIn.seminorm π•œ E F n K i) f ≀ C ↔ ↑i ≀ n β†’ βˆ€ x ∈ K, β€–iteratedFDeriv ℝ i (⇑f) xβ€– ≀ C
                                        theorem ContDiffMapSupportedIn.norm_toBoundedContinuousFunction (π•œ : Type u_1) {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedSpace π•œ F] [SMulCommClass ℝ π•œ F] {n : β„•βˆž} {K : TopologicalSpace.Compacts E} (f : ContDiffMapSupportedIn E F n K) :
                                        β€–{ toFun := ⇑f, continuous_toFun := β‹―, map_bounded' := β‹― }β€– = (ContDiffMapSupportedIn.seminorm π•œ E F n K 0) f

                                        The inclusion of the space 𝓓^{n}_{K}(E, F) into the space E →ᡇ F of bounded continuous functions as a continuous π•œ-linear map.

                                        Equations
                                        Instances For
                                          @[simp]
                                          theorem ContDiffMapSupportedIn.toBoundedContinuousFunctionCLM_apply (π•œ : Type u_1) {E : Type u_2} {F : Type u_3} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedSpace π•œ F] [SMulCommClass ℝ π•œ F] {n : β„•βˆž} {K : TopologicalSpace.Compacts E} (f : ContDiffMapSupportedIn E F n K) :
                                          (toBoundedContinuousFunctionCLM π•œ) f = { toFun := ⇑f, continuous_toFun := β‹―, map_bounded' := β‹― }