Imports
/-
Copyright (c) 2025 Kenny Lau. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Kenny Lau, Joseph Tooby-Smith
-/
module
public import Physlib.Meta.TODO.Basic
public import Mathlib.Analysis.Distribution.TemperedDistribution
public import Mathlib.MeasureTheory.Measure.CharacteristicFunction.BasicDistributions
i. Overview of distributions
Distributions are often used implicitly in physics, for example the correct way to handle a dirac delta function is to treat it as a distribution. In this file we will define distributions and some properties on them.
The distributions from a space E to space F can be thought of as a generalization of
functions from E to F. We give a more precise definition of distributions below.
ii. Key results
E →d[𝕜] F is the type of distributions from E to F.
Distribution.derivative and Distribution.fourierTransform allow us to make sense of these
operations that might not make sense a priori on general functions.
Distribution.toTemperedDistribution converts a Physlib distribution to a Mathlib
tempered distribution.
Distribution.ofFiniteMeasure is the scalar distribution associated to a finite measure.
Distribution.ofFiniteMeasure_eq_iff says that finite measures are determined by their
associated complex scalar distributions.
iii. Table of Content
A. The definition of a distribution
B. Construction of distributions from linear maps
C. Derivatives of distributions
D. Fourier transform of distributions
E. Specific distributions
iv. Implementation notes
In this file we will define distributions generally, in Physlib.SpaceAndTime.Distributions
we define properties of distributions directly related to Space.
@[expose] public sectionA. The definition of a distribution
In physics, we often encounter mathematical objects like the Dirac delta function δ(x)
that are not functions in the traditional sense.
Distributions provide a rigorous framework for handling such objects.
The core idea is to define a "generalized function" not by its value at each point, but by how it acts on a set of well-behaved "test functions".
These test functions, typically denoted η. The choice of test functions depends on the application
here we choose test functions which are smooth and decay
rapidly at infinity (called Schwartz maps). Thus really the distributions we are defining here
are called tempered distributions.
A distribution u is a linear map that takes a test function η and produces a value,
which can be a scalar or a vector. This action is written as ⟪u,η⟫.
Two key examples illustrate this concept:
Ordinary Functions: Any well-behaved function f(x) can be viewed as a distribution.
Its action on a test function η is defined by integration:
u_f(η) = ∫ f(x) η(x) dx
This integral "tests" the function f using η.
Dirac Delta: The Dirac delta δ_a (centered at a) is a distribution whose action is to
simply evaluate the test function at a:
δ_a(η) = η(a)
Formally, a distribution is a continuous linear map from the space of Schwartz functions
𝓢(E, 𝕜) to a
vector space F over 𝕜. This definition allows us to rigorously define concepts
like derivatives and Fourier transforms for these generalized functions, as we will see below.
We use the notation E →d[𝕜] F to denote the space of distributions from E to F
where E is a normed vector space over ℝ and F is a normed vector space over 𝕜.
/- Need the `Physlib` namespace to prevent conflict with Mathlib's distributions. -/
namespace Physlib
An F-valued distribution on E (where E is a normed vector space over ℝ and F is a
normed vector space over 𝕜) is a continuous linear map 𝓢(E, 𝕜) →L[𝕜] F where 𝒮(E, 𝕜) is
the Schwartz space of smooth functions E → 𝕜 with rapidly decreasing iterated derivatives. This
is notated as E →d[𝕜] F.
This should be seen as a generalisation of functions E → F.
abbrev Distribution (𝕜 E F : Type) [RCLike 𝕜] [NormedAddCommGroup E] [NormedAddCommGroup F]
[NormedSpace ℝ E] [NormedSpace 𝕜 F] : Type :=
𝓢(E, 𝕜) →L[𝕜] F@[inherit_doc] notation:25 E:arg "→d[" 𝕜:25 "] " F:0 => Distribution 𝕜 E FB. Construction of distributions from linear maps
Distributions are defined as continuous linear maps from 𝓢(E, 𝕜) to F.
It is possible to define a constructor of distributions from just linear maps
𝓢(E, 𝕜) →ₗ[𝕜] F (without the continuity requirement) by imposing a condition
on the size of u applied to η.
The construction of a distribution from the following data:
We take a finite set s of pairs (k, n) ∈ ℕ × ℕ that will be explained later.
We take a linear map u that evaluates the given Schwartz function η. At this stage we don't
need u to be continuous.
Recall that a Schwartz function η satisfies a bound
‖x‖ᵏ * ‖(dⁿ/dxⁿ) η‖ < Mₙₖ where Mₙₖ : ℝ only depends on (k, n) : ℕ × ℕ.
This step is where s is used: for each test function η, the norm ‖u η‖ is required to be
bounded by C * (‖x‖ᵏ * ‖(dⁿ/dxⁿ) η‖) for some x : ℝ and for some (k, n) ∈ s, where
C ≥ 0 is a global scalar.
𝕜:TypeE:TypeF:Typeinst✝⁴:RCLike 𝕜inst✝³:NormedAddCommGroup Einst✝²:NormedAddCommGroup Finst✝¹:NormedSpace ℝ Einst✝:NormedSpace 𝕜 Fs:Finset (ℕ × ℕ)u:𝓢(E, 𝕜) →ₗ[𝕜] FC:ℝhC:0 ≤ Chu:∀ (η : 𝓢(E, 𝕜)), ∃ k n x, (k, n) ∈ s ∧ ‖u η‖ ≤ C * (‖x‖ ^ k * ‖iteratedFDeriv ℝ n (⇑η) x‖)η:𝓢(E, 𝕜)k:ℕn:ℕx:Ehkn:(k, n) ∈ shη:‖u η‖ ≤ C * (‖x‖ ^ k * ‖iteratedFDeriv ℝ n (⇑η) x‖)⊢ (SchwartzMap.seminorm 𝕜 k n) η ≤ ↑(s.sup fun i => NNReal.mk ((schwartzSeminormFamily 𝕜 E 𝕜 i) η) ⋯)
refine (NNReal.coe_le_coe (r₁ := ⟨SchwartzMap.seminorm 𝕜 k n η, apply_nonneg _ _⟩)).2 ?_ 𝕜:TypeE:TypeF:Typeinst✝⁴:RCLike 𝕜inst✝³:NormedAddCommGroup Einst✝²:NormedAddCommGroup Finst✝¹:NormedSpace ℝ Einst✝:NormedSpace 𝕜 Fs:Finset (ℕ × ℕ)u:𝓢(E, 𝕜) →ₗ[𝕜] FC:ℝhC:0 ≤ Chu:∀ (η : 𝓢(E, 𝕜)), ∃ k n x, (k, n) ∈ s ∧ ‖u η‖ ≤ C * (‖x‖ ^ k * ‖iteratedFDeriv ℝ n (⇑η) x‖)η:𝓢(E, 𝕜)k:ℕn:ℕx:Ehkn:(k, n) ∈ shη:‖u η‖ ≤ C * (‖x‖ ^ k * ‖iteratedFDeriv ℝ n (⇑η) x‖)⊢ ⟨(SchwartzMap.seminorm 𝕜 k n) η, ⋯⟩ ≤ s.sup fun i => NNReal.mk ((schwartzSeminormFamily 𝕜 E 𝕜 i) η) ⋯
exact s.le_sup hkn
(f := fun kn : ℕ × ℕ ↦ (⟨SchwartzMap.seminorm 𝕜 kn.1 kn.2 η, apply_nonneg _ _⟩ : ℝ≥0)) All goals completed! 🐙@[simp] lemma ofLinear_apply (s : Finset (ℕ × ℕ)) (u : 𝓢(E, 𝕜) →ₗ[𝕜] F)
(hu : ∃ C : ℝ, 0 ≤ C ∧ ∀ η : 𝓢(E, 𝕜), ∃ (k : ℕ) (n : ℕ) (x : E), (k, n) ∈ s ∧
‖u η‖ ≤ C * (‖x‖ ^ k * ‖iteratedFDeriv ℝ n η x‖))
(η : 𝓢(E, 𝕜)) :
ofLinear 𝕜 s u hu η = u η :=
rflC. Derivatives of distributions
Given a distribution u : E →d[𝕜] F, we can define the derivative of that distribution.
In general when defining an operation on a distribution, we do it by applying a similar
operation instead to the Schwartz maps it acts on.
Thus the derivative of u is the distribution which takes η to ⟪u, - η'⟫
where η' is the derivative of η.
The Fréchet derivative of a distribution.
Informally, for a distribution u : E →d[𝕜] F,
the Fréchet derivative fderiv u x v corresponds to the derivative of u at the
point x in the direction v. For example, if F = ℝ³
then fderiv u x v is a vector in ℝ³ corresponding to
(v₁ ∂u₁/∂x₁ + v₂ ∂u₁/∂x₂ + v₃ ∂u₁/∂x₃, v₁ ∂u₂/∂x₁ + v₂ ∂u₂/∂x₂ + v₃ ∂u₂/∂x₃,...).
Formally, for a distribution u : E →d[𝕜] F, this is actually defined
the distribution which takes test function η : E → 𝕜 to
- u (SchwartzMap.evalCLM v (SchwartzMap.fderivCLM 𝕜 η)).
Note that, unlike for functions, the Fréchet derivative of a distribution always exists.
def fderivD [FiniteDimensional ℝ E] : (E →d[𝕜] F) →ₗ[𝕜] (E →d[𝕜] (E →L[ℝ] F)) where
toFun u := {
toFun η := LinearMap.toContinuousLinearMap {
toFun v := ContinuousLinearEquiv.neg 𝕜 <| u <|
SchwartzMap.evalCLM (𝕜 := 𝕜) E 𝕜 v <|
SchwartzMap.fderivCLM 𝕜 (E := E) (F := 𝕜) η
map_add' v1 v2 := by 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)v1:Ev2:E⊢ (ContinuousLinearEquiv.neg 𝕜) (u ((SchwartzMap.evalCLM 𝕜 E 𝕜 (v1 + v2)) ((fderivCLM 𝕜 E 𝕜) η))) =
(ContinuousLinearEquiv.neg 𝕜) (u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η))) +
(ContinuousLinearEquiv.neg 𝕜) (u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v2) ((fderivCLM 𝕜 E 𝕜) η)))
simp only [ContinuousLinearEquiv.neg_apply] 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)v1:Ev2:E⊢ -u ((SchwartzMap.evalCLM 𝕜 E 𝕜 (v1 + v2)) ((fderivCLM 𝕜 E 𝕜) η)) =
-u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η)) + -u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v2) ((fderivCLM 𝕜 E 𝕜) η))
trans -u ((SchwartzMap.evalCLM (𝕜 := 𝕜) E 𝕜 v1) ((fderivCLM 𝕜) E 𝕜 η) +
(SchwartzMap.evalCLM (𝕜 := 𝕜) E 𝕜 v2) ((fderivCLM 𝕜) E 𝕜 η)) 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)v1:Ev2:E⊢ -u ((SchwartzMap.evalCLM 𝕜 E 𝕜 (v1 + v2)) ((fderivCLM 𝕜 E 𝕜) η)) =
-u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η) + (SchwartzMap.evalCLM 𝕜 E 𝕜 v2) ((fderivCLM 𝕜 E 𝕜) η))𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)v1:Ev2:E⊢ -u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η) + (SchwartzMap.evalCLM 𝕜 E 𝕜 v2) ((fderivCLM 𝕜 E 𝕜) η)) =
-u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η)) + -u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v2) ((fderivCLM 𝕜 E 𝕜) η))
swap 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)v1:Ev2:E⊢ -u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η) + (SchwartzMap.evalCLM 𝕜 E 𝕜 v2) ((fderivCLM 𝕜 E 𝕜) η)) =
-u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η)) + -u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v2) ((fderivCLM 𝕜 E 𝕜) η))𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)v1:Ev2:E⊢ -u ((SchwartzMap.evalCLM 𝕜 E 𝕜 (v1 + v2)) ((fderivCLM 𝕜 E 𝕜) η)) =
-u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η) + (SchwartzMap.evalCLM 𝕜 E 𝕜 v2) ((fderivCLM 𝕜 E 𝕜) η))
· 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)v1:Ev2:E⊢ -u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η) + (SchwartzMap.evalCLM 𝕜 E 𝕜 v2) ((fderivCLM 𝕜 E 𝕜) η)) =
-u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η)) + -u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v2) ((fderivCLM 𝕜 E 𝕜) η)) simp only [map_add, neg_add_rev] 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)v1:Ev2:E⊢ -u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v2) ((fderivCLM 𝕜 E 𝕜) η)) + -u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η)) =
-u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η)) + -u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v2) ((fderivCLM 𝕜 E 𝕜) η))
abel All goals completed! 🐙
congr e_6 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)v1:Ev2:E⊢ (SchwartzMap.evalCLM 𝕜 E 𝕜 (v1 + v2)) ((fderivCLM 𝕜 E 𝕜) η) =
(SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η) + (SchwartzMap.evalCLM 𝕜 E 𝕜 v2) ((fderivCLM 𝕜 E 𝕜) η)
ext x e_6 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)v1:Ev2:Ex:E⊢ ((SchwartzMap.evalCLM 𝕜 E 𝕜 (v1 + v2)) ((fderivCLM 𝕜 E 𝕜) η)) x =
((SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η) + (SchwartzMap.evalCLM 𝕜 E 𝕜 v2) ((fderivCLM 𝕜 E 𝕜) η)) x
simp only [SchwartzMap.evalCLM, mkCLM, mkLM, map_add, ContinuousLinearMap.coe_mk',
LinearMap.coe_mk, AddHom.coe_mk, fderivCLM_apply, add_apply] e_6 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)v1:Ev2:Ex:E⊢ { toFun := fun x => (fderiv ℝ (⇑η) x) v1 + (fderiv ℝ (⇑η) x) v2, smooth' := ⋯, decay' := ⋯ } x =
{ toFun := fun x => (fderiv ℝ (⇑η) x) v1, smooth' := ⋯, decay' := ⋯ } x +
{ toFun := fun x => (fderiv ℝ (⇑η) x) v2, smooth' := ⋯, decay' := ⋯ } x
rfl All goals completed! 🐙
map_smul' a v1 := by 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)a:ℝv1:E⊢ (ContinuousLinearEquiv.neg 𝕜) (u ((SchwartzMap.evalCLM 𝕜 E 𝕜 (a • v1)) ((fderivCLM 𝕜 E 𝕜) η))) =
(RingHom.id ℝ) a • (ContinuousLinearEquiv.neg 𝕜) (u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η)))
simp only [ContinuousLinearEquiv.neg_apply, RingHom.id_apply, smul_neg, neg_inj] 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)a:ℝv1:E⊢ u ((SchwartzMap.evalCLM 𝕜 E 𝕜 (a • v1)) ((fderivCLM 𝕜 E 𝕜) η)) =
a • u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η))
trans u (a • (SchwartzMap.evalCLM (𝕜 := 𝕜) E 𝕜 v1) ((fderivCLM 𝕜) E 𝕜 η)) 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)a:ℝv1:E⊢ u ((SchwartzMap.evalCLM 𝕜 E 𝕜 (a • v1)) ((fderivCLM 𝕜 E 𝕜) η)) =
u (a • (SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η))𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)a:ℝv1:E⊢ u (a • (SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η)) =
a • u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η))
swap 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)a:ℝv1:E⊢ u (a • (SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η)) =
a • u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η))𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)a:ℝv1:E⊢ u ((SchwartzMap.evalCLM 𝕜 E 𝕜 (a • v1)) ((fderivCLM 𝕜 E 𝕜) η)) =
u (a • (SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η))
· 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)a:ℝv1:E⊢ u (a • (SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η)) =
a • u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η)) simp All goals completed! 🐙
congr e_6 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)a:ℝv1:E⊢ (SchwartzMap.evalCLM 𝕜 E 𝕜 (a • v1)) ((fderivCLM 𝕜 E 𝕜) η) = a • (SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η)
ext x e_6 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)a:ℝv1:Ex:E⊢ ((SchwartzMap.evalCLM 𝕜 E 𝕜 (a • v1)) ((fderivCLM 𝕜 E 𝕜) η)) x =
(a • (SchwartzMap.evalCLM 𝕜 E 𝕜 v1) ((fderivCLM 𝕜 E 𝕜) η)) x
simp only [SchwartzMap.evalCLM, mkCLM, mkLM, map_smul, ContinuousLinearMap.coe_mk',
LinearMap.coe_mk, AddHom.coe_mk, fderivCLM_apply, smul_apply] e_6 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)a:ℝv1:Ex:E⊢ { toFun := fun x => a • (fderiv ℝ (⇑η) x) v1, smooth' := ⋯, decay' := ⋯ } x =
a • { toFun := fun x => (fderiv ℝ (⇑η) x) v1, smooth' := ⋯, decay' := ⋯ } x
rfl All goals completed! 🐙}
map_add' η1 η2 := by 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη1:𝓢(E, 𝕜)η2:𝓢(E, 𝕜)⊢ LinearMap.toContinuousLinearMap
{ toFun := fun v => (ContinuousLinearEquiv.neg 𝕜) (u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) (η1 + η2)))),
map_add' := ⋯, map_smul' := ⋯ } =
LinearMap.toContinuousLinearMap
{ toFun := fun v => (ContinuousLinearEquiv.neg 𝕜) (u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) η1))),
map_add' := ⋯, map_smul' := ⋯ } +
LinearMap.toContinuousLinearMap
{ toFun := fun v => (ContinuousLinearEquiv.neg 𝕜) (u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) η2))),
map_add' := ⋯, map_smul' := ⋯ }
ext x 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη1:𝓢(E, 𝕜)η2:𝓢(E, 𝕜)x:E⊢ (LinearMap.toContinuousLinearMap
{
toFun := fun v =>
(ContinuousLinearEquiv.neg 𝕜) (u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) (η1 + η2)))),
map_add' := ⋯, map_smul' := ⋯ })
x =
(LinearMap.toContinuousLinearMap
{ toFun := fun v => (ContinuousLinearEquiv.neg 𝕜) (u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) η1))),
map_add' := ⋯, map_smul' := ⋯ } +
LinearMap.toContinuousLinearMap
{ toFun := fun v => (ContinuousLinearEquiv.neg 𝕜) (u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) η2))),
map_add' := ⋯, map_smul' := ⋯ })
x
simp only [map_add, ContinuousLinearEquiv.neg_apply,
LinearMap.coe_toContinuousLinearMap', LinearMap.coe_mk, AddHom.coe_mk,
add_apply] All goals completed! 🐙
map_smul' a η := by 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fa:𝕜η:𝓢(E, 𝕜)⊢ LinearMap.toContinuousLinearMap
{ toFun := fun v => (ContinuousLinearEquiv.neg 𝕜) (u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) (a • η)))),
map_add' := ⋯, map_smul' := ⋯ } =
(RingHom.id 𝕜) a •
LinearMap.toContinuousLinearMap
{ toFun := fun v => (ContinuousLinearEquiv.neg 𝕜) (u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) η))),
map_add' := ⋯, map_smul' := ⋯ }
ext x 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fa:𝕜η:𝓢(E, 𝕜)x:E⊢ (LinearMap.toContinuousLinearMap
{ toFun := fun v => (ContinuousLinearEquiv.neg 𝕜) (u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) (a • η)))),
map_add' := ⋯, map_smul' := ⋯ })
x =
((RingHom.id 𝕜) a •
LinearMap.toContinuousLinearMap
{ toFun := fun v => (ContinuousLinearEquiv.neg 𝕜) (u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) η))),
map_add' := ⋯, map_smul' := ⋯ })
x
simp All goals completed! 🐙
cont := by 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] F⊢ Continuous fun η =>
LinearMap.toContinuousLinearMap
{ toFun := fun v => (ContinuousLinearEquiv.neg 𝕜) (u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) η))),
map_add' := ⋯, map_smul' := ⋯ }
refine continuous_clm_apply.mpr ?_ 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] F⊢ ∀ (y : E),
Continuous fun x =>
(LinearMap.toContinuousLinearMap
{ toFun := fun v => (ContinuousLinearEquiv.neg 𝕜) (u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) x))),
map_add' := ⋯, map_smul' := ⋯ })
y
intro y 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fy:E⊢ Continuous fun x =>
(LinearMap.toContinuousLinearMap
{ toFun := fun v => (ContinuousLinearEquiv.neg 𝕜) (u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) x))),
map_add' := ⋯, map_smul' := ⋯ })
y
simp only [ContinuousLinearEquiv.neg_apply, LinearMap.coe_toContinuousLinearMap',
LinearMap.coe_mk, AddHom.coe_mk] 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fy:E⊢ Continuous fun x => -u ((SchwartzMap.evalCLM 𝕜 E 𝕜 y) ((fderivCLM 𝕜 E 𝕜) x))
fun_prop All goals completed! 🐙
}
map_add' u₁ u₂ := by 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu₁:E→d[𝕜] Fu₂:E→d[𝕜] F⊢ {
toFun := fun η =>
LinearMap.toContinuousLinearMap
{
toFun := fun v =>
(ContinuousLinearEquiv.neg 𝕜) ((u₁ + u₂) ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) η))),
map_add' := ⋯, map_smul' := ⋯ },
map_add' := ⋯, map_smul' := ⋯, cont := ⋯ } =
{
toFun := fun η =>
LinearMap.toContinuousLinearMap
{ toFun := fun v => (ContinuousLinearEquiv.neg 𝕜) (u₁ ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) η))),
map_add' := ⋯, map_smul' := ⋯ },
map_add' := ⋯, map_smul' := ⋯, cont := ⋯ } +
{
toFun := fun η =>
LinearMap.toContinuousLinearMap
{ toFun := fun v => (ContinuousLinearEquiv.neg 𝕜) (u₂ ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) η))),
map_add' := ⋯, map_smul' := ⋯ },
map_add' := ⋯, map_smul' := ⋯, cont := ⋯ }
ext η 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu₁:E→d[𝕜] Fu₂:E→d[𝕜] Fη:𝓢(E, 𝕜)x✝:E⊢ ({
toFun := fun η =>
LinearMap.toContinuousLinearMap
{
toFun := fun v =>
(ContinuousLinearEquiv.neg 𝕜) ((u₁ + u₂) ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) η))),
map_add' := ⋯, map_smul' := ⋯ },
map_add' := ⋯, map_smul' := ⋯, cont := ⋯ }
η)
x✝ =
(({
toFun := fun η =>
LinearMap.toContinuousLinearMap
{
toFun := fun v =>
(ContinuousLinearEquiv.neg 𝕜) (u₁ ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) η))),
map_add' := ⋯, map_smul' := ⋯ },
map_add' := ⋯, map_smul' := ⋯, cont := ⋯ } +
{
toFun := fun η =>
LinearMap.toContinuousLinearMap
{
toFun := fun v =>
(ContinuousLinearEquiv.neg 𝕜) (u₂ ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) η))),
map_add' := ⋯, map_smul' := ⋯ },
map_add' := ⋯, map_smul' := ⋯, cont := ⋯ })
η)
x✝
simp only [add_apply, ContinuousLinearEquiv.neg_apply, neg_add_rev,
ContinuousLinearMap.coe_mk', LinearMap.coe_mk, AddHom.coe_mk,
LinearMap.coe_toContinuousLinearMap'] 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu₁:E→d[𝕜] Fu₂:E→d[𝕜] Fη:𝓢(E, 𝕜)x✝:E⊢ -u₂ ((SchwartzMap.evalCLM 𝕜 E 𝕜 x✝) ((fderivCLM 𝕜 E 𝕜) η)) +
-u₁ ((SchwartzMap.evalCLM 𝕜 E 𝕜 x✝) ((fderivCLM 𝕜 E 𝕜) η)) =
-u₁ ((SchwartzMap.evalCLM 𝕜 E 𝕜 x✝) ((fderivCLM 𝕜 E 𝕜) η)) +
-u₂ ((SchwartzMap.evalCLM 𝕜 E 𝕜 x✝) ((fderivCLM 𝕜 E 𝕜) η))
abel All goals completed! 🐙
map_smul' c u := by 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Ec:𝕜u:E→d[𝕜] F⊢ {
toFun := fun η =>
LinearMap.toContinuousLinearMap
{
toFun := fun v =>
(ContinuousLinearEquiv.neg 𝕜) ((c • u) ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) η))),
map_add' := ⋯, map_smul' := ⋯ },
map_add' := ⋯, map_smul' := ⋯, cont := ⋯ } =
(RingHom.id 𝕜) c •
{
toFun := fun η =>
LinearMap.toContinuousLinearMap
{ toFun := fun v => (ContinuousLinearEquiv.neg 𝕜) (u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) η))),
map_add' := ⋯, map_smul' := ⋯ },
map_add' := ⋯, map_smul' := ⋯, cont := ⋯ }
ext 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Ec:𝕜u:E→d[𝕜] Fx✝¹:𝓢(E, 𝕜)x✝:E⊢ ({
toFun := fun η =>
LinearMap.toContinuousLinearMap
{
toFun := fun v =>
(ContinuousLinearEquiv.neg 𝕜) ((c • u) ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) η))),
map_add' := ⋯, map_smul' := ⋯ },
map_add' := ⋯, map_smul' := ⋯, cont := ⋯ }
x✝¹)
x✝ =
(((RingHom.id 𝕜) c •
{
toFun := fun η =>
LinearMap.toContinuousLinearMap
{
toFun := fun v =>
(ContinuousLinearEquiv.neg 𝕜) (u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) η))),
map_add' := ⋯, map_smul' := ⋯ },
map_add' := ⋯, map_smul' := ⋯, cont := ⋯ })
x✝¹)
x✝
simp All goals completed! 🐙lemma fderivD_apply [FiniteDimensional ℝ E] (u : E →d[𝕜] F) (η : 𝓢(E, 𝕜)) (v : E) :
fderivD 𝕜 u η v = - u (SchwartzMap.evalCLM (𝕜 := 𝕜) E 𝕜 v (SchwartzMap.fderivCLM 𝕜 E 𝕜 η)) := by 𝕜:TypeE:TypeF:Typeinst✝⁷:RCLike 𝕜inst✝⁶:NormedAddCommGroup Einst✝⁵:NormedAddCommGroup Finst✝⁴:NormedSpace ℝ Einst✝³:NormedSpace ℝ Finst✝²:NormedSpace 𝕜 Finst✝¹:SMulCommClass ℝ 𝕜 Finst✝:FiniteDimensional ℝ Eu:E→d[𝕜] Fη:𝓢(E, 𝕜)v:E⊢ (((fderivD 𝕜) u) η) v = -u ((SchwartzMap.evalCLM 𝕜 E 𝕜 v) ((fderivCLM 𝕜 E 𝕜) η))
rfl All goals completed! 🐙TODO "For distributions, prove that the derivative fderivD commutes with
integrals and sums. This may require defining the integral of families of distributions
although it is expected this will follow from the definition of a distribution."D. Fourier transform of distributions
As with derivatives of distributions we can define the fourier transform of a distribution
by taking the fourier transform of the underlying Schwartz maps. Thus the fourier transform
of the distribution u is the distribution which takes η to ⟪u, F[η]⟫ where F[η] is the
fourier transform of η.
@[simp] lemma fourierTransform_apply (u : E →d[ℂ] F) (η : 𝓢(E, ℂ)) :
u.fourierTransform E F η = u (fourierTransformCLM ℂ η) :=
rflD.1. Bridge to Mathlib tempered distributions
Mathlib's tempered distributions use the pointwise convergence topology on the same underlying continuous linear maps. The following construction converts Physlib distributions to that API.
The Mathlib tempered distribution associated to a Physlib distribution.
def toTemperedDistribution (u : E →d[ℂ] F) : 𝓢'(E, F) :=
ContinuousLinearMap.toPointwiseConvergenceCLM _ _ _ _ u@[simp]
lemma toTemperedDistribution_apply (u : E →d[ℂ] F) (η : 𝓢(E, ℂ)) :
u.toTemperedDistribution η = u η :=
rflConversion to Mathlib tempered distributions commutes with the Fourier transform.
@[simp]
lemma toTemperedDistribution_fourierTransform (u : E →d[ℂ] F) :
(u.fourierTransform E F).toTemperedDistribution = 𝓕 u.toTemperedDistribution :=
rflE. Specific distributions
We now define specific distributions, which are used throughout physics. In particular, we define:
The constant distribution.
Distributions associated to finite measures.
The dirac delta distribution.
The heaviside step function.
E.1. The constant distribution
The constant distribution is the distribution which corresponds to a constant function,
it takes η to the integral of η over the volume measure.
The constant distribution E →d[𝕜] F, for a given c : F this corresponds
to the integral ∫ x, η x • c ∂MeasureTheory.volume.
def const [hμ : Measure.HasTemperateGrowth (volume (α := E))] (c : F) : E →d[𝕜] F := by 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:F⊢ E→d[𝕜] F
refine mkCLMtoNormedSpace
(fun η => ∫ x, η x • c ∂MeasureTheory.volume) ?_
?_ ?_ refine_1 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:F⊢ ∀ (f g : 𝓢(E, 𝕜)), ∫ (x : E), (f + g) x • c = (∫ (x : E), f x • c) + ∫ (x : E), g x • crefine_2 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:F⊢ ∀ (a : 𝕜) (f : 𝓢(E, 𝕜)), ∫ (x : E), (a • f) x • c = (RingHom.id 𝕜) a • ∫ (x : E), f x • crefine_3 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:F⊢ ∃ s C, 0 ≤ C ∧ ∀ (f : 𝓢(E, 𝕜)), ‖∫ (x : E), f x • c‖ ≤ C * (s.sup (schwartzSeminormFamily 𝕜 E 𝕜)) f
· refine_1 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:F⊢ ∀ (f g : 𝓢(E, 𝕜)), ∫ (x : E), (f + g) x • c = (∫ (x : E), f x • c) + ∫ (x : E), g x • c intro η1 η2 refine_1 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fη1:𝓢(E, 𝕜)η2:𝓢(E, 𝕜)⊢ ∫ (x : E), (η1 + η2) x • c = (∫ (x : E), η1 x • c) + ∫ (x : E), η2 x • c
simp [add_smul] refine_1 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fη1:𝓢(E, 𝕜)η2:𝓢(E, 𝕜)⊢ ∫ (x : E), η1 x • c + η2 x • c = (∫ (x : E), η1 x • c) + ∫ (x : E), η2 x • c
by_cases hc : c = 0 pos 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fη1:𝓢(E, 𝕜)η2:𝓢(E, 𝕜)hc:c = 0⊢ ∫ (x : E), η1 x • c + η2 x • c = (∫ (x : E), η1 x • c) + ∫ (x : E), η2 x • cneg 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fη1:𝓢(E, 𝕜)η2:𝓢(E, 𝕜)hc:¬c = 0⊢ ∫ (x : E), η1 x • c + η2 x • c = (∫ (x : E), η1 x • c) + ∫ (x : E), η2 x • c
· pos 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fη1:𝓢(E, 𝕜)η2:𝓢(E, 𝕜)hc:c = 0⊢ ∫ (x : E), η1 x • c + η2 x • c = (∫ (x : E), η1 x • c) + ∫ (x : E), η2 x • c subst hc pos 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthη1:𝓢(E, 𝕜)η2:𝓢(E, 𝕜)⊢ ∫ (x : E), η1 x • 0 + η2 x • 0 = (∫ (x : E), η1 x • 0) + ∫ (x : E), η2 x • 0
simp All goals completed! 🐙
rw [MeasureTheory.integral_add neg 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fη1:𝓢(E, 𝕜)η2:𝓢(E, 𝕜)hc:¬c = 0⊢ (∫ (a : E), η1 a • c) + ∫ (a : E), η2 a • c = (∫ (x : E), η1 x • c) + ∫ (x : E), η2 x • cneg.hf 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fη1:𝓢(E, 𝕜)η2:𝓢(E, 𝕜)hc:¬c = 0⊢ Integrable (fun x => η1 x • c) volumeneg.hg 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fη1:𝓢(E, 𝕜)η2:𝓢(E, 𝕜)hc:¬c = 0⊢ Integrable (fun x => η2 x • c) volume neg.hf 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fη1:𝓢(E, 𝕜)η2:𝓢(E, 𝕜)hc:¬c = 0⊢ Integrable (fun x => η1 x • c) volumeneg.hg 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fη1:𝓢(E, 𝕜)η2:𝓢(E, 𝕜)hc:¬c = 0⊢ Integrable (fun x => η2 x • c) volume] neg.hf 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fη1:𝓢(E, 𝕜)η2:𝓢(E, 𝕜)hc:¬c = 0⊢ Integrable (fun x => η1 x • c) volumeneg.hg 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fη1:𝓢(E, 𝕜)η2:𝓢(E, 𝕜)hc:¬c = 0⊢ Integrable (fun x => η2 x • c) volume
· neg.hf 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fη1:𝓢(E, 𝕜)η2:𝓢(E, 𝕜)hc:¬c = 0⊢ Integrable (fun x => η1 x • c) volume refine (integrable_smul_const hc).mpr ?_ neg.hf 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fη1:𝓢(E, 𝕜)η2:𝓢(E, 𝕜)hc:¬c = 0⊢ Integrable (⇑η1) volume
exact integrable η1 All goals completed! 🐙
· neg.hg 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fη1:𝓢(E, 𝕜)η2:𝓢(E, 𝕜)hc:¬c = 0⊢ Integrable (fun x => η2 x • c) volume refine (integrable_smul_const hc).mpr ?_ neg.hg 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fη1:𝓢(E, 𝕜)η2:𝓢(E, 𝕜)hc:¬c = 0⊢ Integrable (⇑η2) volume
exact integrable η2 All goals completed! 🐙
· refine_2 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:F⊢ ∀ (a : 𝕜) (f : 𝓢(E, 𝕜)), ∫ (x : E), (a • f) x • c = (RingHom.id 𝕜) a • ∫ (x : E), f x • c intro a η refine_2 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fa:𝕜η:𝓢(E, 𝕜)⊢ ∫ (x : E), (a • η) x • c = (RingHom.id 𝕜) a • ∫ (x : E), η x • c
simp only [smul_apply, RingHom.id_apply, smul_assoc] refine_2 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fa:𝕜η:𝓢(E, 𝕜)⊢ ∫ (x : E), a • η x • c = a • ∫ (x : E), η x • c
rw [MeasureTheory.integral_smul refine_2 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fa:𝕜η:𝓢(E, 𝕜)⊢ a • ∫ (a : E), η a • c = a • ∫ (x : E), η x • c All goals completed! 🐙] All goals completed! 🐙
rcases hμ.exists_integrable with ⟨n, h⟩ refine_3 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volume⊢ ∃ s C, 0 ≤ C ∧ ∀ (f : 𝓢(E, 𝕜)), ‖∫ (x : E), f x • c‖ ≤ C * (s.sup (schwartzSeminormFamily 𝕜 E 𝕜)) f
let m := (n, 0) refine_3 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)⊢ ∃ s C, 0 ≤ C ∧ ∀ (f : 𝓢(E, 𝕜)), ‖∫ (x : E), f x • c‖ ≤ C * (s.sup (schwartzSeminormFamily 𝕜 E 𝕜)) f
use Finset.Iic m, ‖c‖ * (2 ^ n * ∫ x, (1 + ‖x‖) ^ (- (n : ℝ)) ∂(volume (α := E))) h 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)⊢ 0 ≤ ‖c‖ * (2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) ∧
∀ (f : 𝓢(E, 𝕜)),
‖∫ (x : E), f x • c‖ ≤
‖c‖ * (2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) f
refine ⟨by 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)⊢ 0 ≤ ‖c‖ * (2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) positivity All goals completed! 🐙, fun η ↦ (norm_integral_le_integral_norm _).trans ?_⟩
have h' : ∀ x, ‖η x‖ ≤ (1 + ‖x‖) ^ (-(n : ℝ)) *
(2 ^ n * ((Finset.Iic m).sup (fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)) := by 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:F⊢ E→d[𝕜] F h 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)⊢ ∫ (a : E), ‖η a • c‖ ≤
‖c‖ * (2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) η
intro x 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)x:E⊢ ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)h 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)⊢ ∫ (a : E), ‖η a • c‖ ≤
‖c‖ * (2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) η
rw [Real.rpow_neg (by 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)x:E⊢ 0 ≤ 1 + ‖x‖ 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)x:E⊢ (1 + ‖x‖) ^ n * ‖η x‖ ≤ 2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) ηh 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)⊢ ∫ (a : E), ‖η a • c‖ ≤
‖c‖ * (2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) η positivity All goals completed! 🐙 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)x:E⊢ (1 + ‖x‖) ^ n * ‖η x‖ ≤ 2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) ηh 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)⊢ ∫ (a : E), ‖η a • c‖ ≤
‖c‖ * (2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) η), ← div_eq_inv_mul, 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)x:E⊢ ‖η x‖ ≤ 2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η / (1 + ‖x‖) ^ ↑n 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)x:E⊢ (1 + ‖x‖) ^ n * ‖η x‖ ≤ 2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) ηh 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)⊢ ∫ (a : E), ‖η a • c‖ ≤
‖c‖ * (2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) η
le_div_iff₀' (by 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)x:E⊢ 0 < (1 + ‖x‖) ^ ↑n 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)x:E⊢ (1 + ‖x‖) ^ n * ‖η x‖ ≤ 2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) ηh 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)⊢ ∫ (a : E), ‖η a • c‖ ≤
‖c‖ * (2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) η positivity All goals completed! 🐙 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)x:E⊢ (1 + ‖x‖) ^ n * ‖η x‖ ≤ 2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) ηh 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)⊢ ∫ (a : E), ‖η a • c‖ ≤
‖c‖ * (2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) η), Real.rpow_natCast 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)x:E⊢ (1 + ‖x‖) ^ n * ‖η x‖ ≤ 2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)x:E⊢ (1 + ‖x‖) ^ n * ‖η x‖ ≤ 2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) ηh 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)⊢ ∫ (a : E), ‖η a • c‖ ≤
‖c‖ * (2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) η] 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)x:E⊢ (1 + ‖x‖) ^ n * ‖η x‖ ≤ 2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) ηh 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)⊢ ∫ (a : E), ‖η a • c‖ ≤
‖c‖ * (2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) η
simpa using one_add_le_sup_seminorm_apply (m := m) (k := n) (n := 0) le_rfl le_rfl η xh 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)⊢ ∫ (a : E), ‖η a • c‖ ≤
‖c‖ * (2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) ηh 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)⊢ ∫ (a : E), ‖η a • c‖ ≤
‖c‖ * (2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) η
conv_lhs =>
enter [2, x] 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)x:E| ‖η x • c‖
rw [norm_smul, mul_comm] 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)x:E| ‖c‖ * ‖η x‖
conv_lhs =>
rw [MeasureTheory.integral_const_mul] 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)| ‖c‖ * ∫ (a : E), ‖η a‖
rw [mul_assoc h 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)⊢ ‖c‖ * ∫ (a : E), ‖η a‖ ≤
‖c‖ * ((2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) η) h 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)⊢ ‖c‖ * ∫ (a : E), ‖η a‖ ≤
‖c‖ * ((2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) η)]h 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)⊢ ‖c‖ * ∫ (a : E), ‖η a‖ ≤
‖c‖ * ((2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) η)
by_cases hc : c = 0 pos 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)hc:c = 0⊢ ‖c‖ * ∫ (a : E), ‖η a‖ ≤
‖c‖ * ((2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) η)neg 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)hc:¬c = 0⊢ ‖c‖ * ∫ (a : E), ‖η a‖ ≤
‖c‖ * ((2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) η)
· pos 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)hc:c = 0⊢ ‖c‖ * ∫ (a : E), ‖η a‖ ≤
‖c‖ * ((2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) η) subst hc pos 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)⊢ ‖0‖ * ∫ (a : E), ‖η a‖ ≤
‖0‖ * ((2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) η)
simp All goals completed! 🐙
refine (mul_le_mul_iff_of_pos_left ?_).mpr ?_ neg.refine_1 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)hc:¬c = 0⊢ 0 < ‖c‖neg.refine_2 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)hc:¬c = 0⊢ ∫ (a : E), ‖η a‖ ≤ (2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) η
· neg.refine_1 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)hc:¬c = 0⊢ 0 < ‖c‖ positivity All goals completed! 🐙
apply (integral_mono (by 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)hc:¬c = 0⊢ Integrable (fun i => ‖η i‖) volume simpa using η.integrable_pow_mul ((volume)) 0 All goals completed! 🐙) _ h').trans
· neg.refine_2 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)hc:¬c = 0⊢ ∫ (x : E), (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η) ≤
(2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup (schwartzSeminormFamily 𝕜 E 𝕜)) η unfold schwartzSeminormFamily neg.refine_2 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)hc:¬c = 0⊢ ∫ (x : E), (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η) ≤
(2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup fun m => SchwartzMap.seminorm 𝕜 m.1 m.2) η
rw [integral_mul_const, neg.refine_2 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)hc:¬c = 0⊢ (∫ (a : E), (1 + ‖a‖) ^ (-↑n)) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η) ≤
(2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup fun m => SchwartzMap.seminorm 𝕜 m.1 m.2) η All goals completed! 🐙 ← mul_assoc, neg.refine_2 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)hc:¬c = 0⊢ (∫ (a : E), (1 + ‖a‖) ^ (-↑n)) * 2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η ≤
(2 ^ n * ∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * ((Finset.Iic m).sup fun m => SchwartzMap.seminorm 𝕜 m.1 m.2) η All goals completed! 🐙 mul_comm (2 ^ n) neg.refine_2 𝕜:TypeE✝:TypeF:Typeinst✝¹⁰:RCLike 𝕜inst✝⁹:NormedAddCommGroup E✝inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(E, 𝕜)h':∀ (x : E), ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η)hc:¬c = 0⊢ (∫ (a : E), (1 + ‖a‖) ^ (-↑n)) * 2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm 𝕜 m'.1 m'.2) η ≤
(∫ (x : E), (1 + ‖x‖) ^ (-↑n)) * 2 ^ n * ((Finset.Iic m).sup fun m => SchwartzMap.seminorm 𝕜 m.1 m.2) η All goals completed! 🐙] All goals completed! 🐙
apply h.mul_const All goals completed! 🐙lemma const_apply [hμ : Measure.HasTemperateGrowth (volume (α := E))] (c : F)
(η : 𝓢(E, 𝕜)) :
const 𝕜 E c η = ∫ x, η x • c ∂MeasureTheory.volume := by 𝕜:TypeF:Typeinst✝⁹:RCLike 𝕜inst✝⁸:NormedAddCommGroup FE:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:NormedSpace ℝ Finst✝⁴:NormedSpace 𝕜 Finst✝³:SMulCommClass ℝ 𝕜 Finst✝²:MeasureSpace Einst✝¹:BorelSpace Einst✝:SecondCountableTopology Ehμ:volume.HasTemperateGrowthc:Fη:𝓢(E, 𝕜)⊢ (const 𝕜 E c) η = ∫ (x : E), η x • c rfl All goals completed! 🐙
@[simp]
lemma fderivD_const [hμ : Measure.IsAddHaarMeasure (volume (α := E))]
[FiniteDimensional ℝ E] (c : F) :
fderivD ℝ (const ℝ E c) = 0 := by E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:F⊢ (fderivD ℝ) (const ℝ E c) = 0
ext η v E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ (((fderivD ℝ) (const ℝ E c)) η) v = (0 η) v
rw [fderivD_apply, E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ -(const ℝ E c) ((SchwartzMap.evalCLM ℝ E ℝ v) ((fderivCLM ℝ E ℝ) η)) = (0 η) v E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ -∫ (x : E), ((SchwartzMap.evalCLM ℝ E ℝ v) ((fderivCLM ℝ E ℝ) η)) x • c = (0 η) v const_apply E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ -∫ (x : E), ((SchwartzMap.evalCLM ℝ E ℝ v) ((fderivCLM ℝ E ℝ) η)) x • c = (0 η) v E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ -∫ (x : E), ((SchwartzMap.evalCLM ℝ E ℝ v) ((fderivCLM ℝ E ℝ) η)) x • c = (0 η) v] E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ -∫ (x : E), ((SchwartzMap.evalCLM ℝ E ℝ v) ((fderivCLM ℝ E ℝ) η)) x • c = (0 η) v
simp only [zero_apply, neg_eq_zero] E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ ∫ (x : E), ((SchwartzMap.evalCLM ℝ E ℝ v) ((fderivCLM ℝ E ℝ) η)) x • c = 0
trans -∫ (x : E), η x • (fderiv ℝ (fun y => c) x) v ∂volume E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ ∫ (x : E), ((SchwartzMap.evalCLM ℝ E ℝ v) ((fderivCLM ℝ E ℝ) η)) x • c = -∫ (x : E), η x • (fderiv ℝ (fun y => c) x) vE:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ -∫ (x : E), η x • (fderiv ℝ (fun y => c) x) v = 0
swap E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ -∫ (x : E), η x • (fderiv ℝ (fun y => c) x) v = 0E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ ∫ (x : E), ((SchwartzMap.evalCLM ℝ E ℝ v) ((fderivCLM ℝ E ℝ) η)) x • c = -∫ (x : E), η x • (fderiv ℝ (fun y => c) x) v
· E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ -∫ (x : E), η x • (fderiv ℝ (fun y => c) x) v = 0 simp All goals completed! 🐙
rw [integral_smul_fderiv_eq_neg_fderiv_smul_of_integrable E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ ∫ (x : E), ((SchwartzMap.evalCLM ℝ E ℝ v) ((fderivCLM ℝ E ℝ) η)) x • c = - -∫ (x : E), (fderiv ℝ (⇑η) x) v • chf'g E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ Integrable (fun x => (fderiv ℝ (⇑η) x) v • c) volumehfg' E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ Integrable (fun x => η x • (fderiv ℝ (fun y => c) x) v) volumehfg E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ Integrable (fun x => η x • c) volumehf E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ ∀ x ∈ tsupport fun y => c, DifferentiableAt ℝ (⇑η) xhg E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ ∀ x ∈ tsupport ⇑η, DifferentiableAt ℝ (fun y => c) x E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ ∫ (x : E), ((SchwartzMap.evalCLM ℝ E ℝ v) ((fderivCLM ℝ E ℝ) η)) x • c = - -∫ (x : E), (fderiv ℝ (⇑η) x) v • chf'g E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ Integrable (fun x => (fderiv ℝ (⇑η) x) v • c) volumehfg' E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ Integrable (fun x => η x • (fderiv ℝ (fun y => c) x) v) volumehfg E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ Integrable (fun x => η x • c) volumehf E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ ∀ x ∈ tsupport fun y => c, DifferentiableAt ℝ (⇑η) xhg E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ ∀ x ∈ tsupport ⇑η, DifferentiableAt ℝ (fun y => c) x] E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ ∫ (x : E), ((SchwartzMap.evalCLM ℝ E ℝ v) ((fderivCLM ℝ E ℝ) η)) x • c = - -∫ (x : E), (fderiv ℝ (⇑η) x) v • chf'g E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ Integrable (fun x => (fderiv ℝ (⇑η) x) v • c) volumehfg' E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ Integrable (fun x => η x • (fderiv ℝ (fun y => c) x) v) volumehfg E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ Integrable (fun x => η x • c) volumehf E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ ∀ x ∈ tsupport fun y => c, DifferentiableAt ℝ (⇑η) xhg E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ ∀ x ∈ tsupport ⇑η, DifferentiableAt ℝ (fun y => c) x
simp only [evalCLM_apply_apply, fderivCLM_apply, neg_neg] hf'g E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ Integrable (fun x => (fderiv ℝ (⇑η) x) v • c) volumehfg' E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ Integrable (fun x => η x • (fderiv ℝ (fun y => c) x) v) volumehfg E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ Integrable (fun x => η x • c) volumehf E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ ∀ x ∈ tsupport fun y => c, DifferentiableAt ℝ (⇑η) xhg E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ ∀ x ∈ tsupport ⇑η, DifferentiableAt ℝ (fun y => c) x
· hf'g E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ Integrable (fun x => (fderiv ℝ (⇑η) x) v • c) volume exact (integrable ((SchwartzMap.evalCLM ℝ E ℝ v) ((fderivCLM ℝ) E ℝ η))).smul_const c All goals completed! 🐙
· hfg' E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ Integrable (fun x => η x • (fderiv ℝ (fun y => c) x) v) volume simp All goals completed! 🐙
· hfg E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ Integrable (fun x => η x • c) volume exact (integrable η).smul_const c All goals completed! 🐙
· hf E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ ∀ x ∈ tsupport fun y => c, DifferentiableAt ℝ (⇑η) x fun_prop All goals completed! 🐙
· hg E:TypeF:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedAddCommGroup Finst✝⁵:NormedSpace ℝ Einst✝⁴:NormedSpace ℝ Finst✝³:MeasureSpace Einst✝²:BorelSpace Einst✝¹:SecondCountableTopology Ehμ:volume.IsAddHaarMeasureinst✝:FiniteDimensional ℝ Ec:Fη:𝓢(E, ℝ)v:E⊢ ∀ x ∈ tsupport ⇑η, DifferentiableAt ℝ (fun y => c) x simp All goals completed! 🐙E.2. Distributions associated to finite measures
Every finite measure has temperate growth, so integrating Schwartz maps against it defines a scalar distribution.
The scalar distribution associated to a finite measure, acting on a Schwartz map by integration.
def ofFiniteMeasure (μ : Measure E) [IsFiniteMeasure μ] : E →d[𝕜] 𝕜 :=
integralCLM 𝕜 μ@[simp]
lemma ofFiniteMeasure_apply (μ : Measure E) [IsFiniteMeasure μ] (η : 𝓢(E, 𝕜)) :
ofFiniteMeasure 𝕜 μ η = ∫ x, η x ∂μ :=
rflThe finite-measure distribution agrees with Mathlib's tempered distribution associated to the same measure.
@[simp]
lemma toTemperedDistribution_ofFiniteMeasure (μ : Measure E) [IsFiniteMeasure μ] :
(ofFiniteMeasure ℂ μ).toTemperedDistribution = μ.toTemperedDistribution :=
rfl
omit [NormedAddCommGroup E] [NormedSpace ℝ E] [BorelSpace E]
[SecondCountableTopology E] in
private lemma lipschitzWith_integral_of_le {μ ρ : Measure E} (hμρ : μ ≤ ρ) :
LipschitzWith 1 (fun f : Lp ℂ 1 ρ => ∫ x, f x ∂μ) := by E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρ⊢ LipschitzWith 1 fun f => ∫ (x : E), ↑↑f x ∂μ
refine LipschitzWith.of_dist_le_mul fun f g => ?_ E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)⊢ dist (∫ (x : E), ↑↑f x ∂μ) (∫ (x : E), ↑↑g x ∂μ) ≤ ↑1 * dist f g
rw [dist_eq_norm, E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)⊢ ‖∫ (x : E), ↑↑f x ∂μ - ∫ (x : E), ↑↑g x ∂μ‖ ≤ ↑1 * dist f g E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)⊢ ‖∫ (x : E), ↑↑f x ∂μ - ∫ (x : E), ↑↑g x ∂μ‖ ≤ ‖f - g‖ dist_eq_norm, E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)⊢ ‖∫ (x : E), ↑↑f x ∂μ - ∫ (x : E), ↑↑g x ∂μ‖ ≤ ↑1 * ‖f - g‖ E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)⊢ ‖∫ (x : E), ↑↑f x ∂μ - ∫ (x : E), ↑↑g x ∂μ‖ ≤ ‖f - g‖ NNReal.coe_one, E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)⊢ ‖∫ (x : E), ↑↑f x ∂μ - ∫ (x : E), ↑↑g x ∂μ‖ ≤ 1 * ‖f - g‖ E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)⊢ ‖∫ (x : E), ↑↑f x ∂μ - ∫ (x : E), ↑↑g x ∂μ‖ ≤ ‖f - g‖ one_mul E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)⊢ ‖∫ (x : E), ↑↑f x ∂μ - ∫ (x : E), ↑↑g x ∂μ‖ ≤ ‖f - g‖ E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)⊢ ‖∫ (x : E), ↑↑f x ∂μ - ∫ (x : E), ↑↑g x ∂μ‖ ≤ ‖f - g‖] E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)⊢ ‖∫ (x : E), ↑↑f x ∂μ - ∫ (x : E), ↑↑g x ∂μ‖ ≤ ‖f - g‖
have hfμ : Integrable (fun x => f x) μ :=
memLp_one_iff_integrable.mp ((Lp.memLp f).mono_measure hμρ) E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)hfμ:Integrable (fun x => ↑↑f x) μ⊢ ‖∫ (x : E), ↑↑f x ∂μ - ∫ (x : E), ↑↑g x ∂μ‖ ≤ ‖f - g‖
have hgμ : Integrable (fun x => g x) μ :=
memLp_one_iff_integrable.mp ((Lp.memLp g).mono_measure hμρ) E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)hfμ:Integrable (fun x => ↑↑f x) μhgμ:Integrable (fun x => ↑↑g x) μ⊢ ‖∫ (x : E), ↑↑f x ∂μ - ∫ (x : E), ↑↑g x ∂μ‖ ≤ ‖f - g‖
have hfg_ae : (fun x => (f - g : Lp ℂ 1 ρ) x) =ᵐ[ρ] fun x => f x - g x :=
Lp.coeFn_sub f g E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)hfμ:Integrable (fun x => ↑↑f x) μhgμ:Integrable (fun x => ↑↑g x) μhfg_ae:(fun x => ↑↑(f - g) x) =ᵐ[ρ] fun x => ↑↑f x - ↑↑g x⊢ ‖∫ (x : E), ↑↑f x ∂μ - ∫ (x : E), ↑↑g x ∂μ‖ ≤ ‖f - g‖
have hfg_top : eLpNorm (fun x => f x - g x) 1 ρ ≠ ∞ := by E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρ⊢ LipschitzWith 1 fun f => ∫ (x : E), ↑↑f x ∂μ E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)hfμ:Integrable (fun x => ↑↑f x) μhgμ:Integrable (fun x => ↑↑g x) μhfg_ae:(fun x => ↑↑(f - g) x) =ᵐ[ρ] fun x => ↑↑f x - ↑↑g xhfg_top:eLpNorm (fun x => ↑↑f x - ↑↑g x) 1 ρ ≠ ∞⊢ ‖∫ (x : E), ↑↑f x ∂μ - ∫ (x : E), ↑↑g x ∂μ‖ ≤ ‖f - g‖
rw [← eLpNorm_congr_ae hfg_ae E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)hfμ:Integrable (fun x => ↑↑f x) μhgμ:Integrable (fun x => ↑↑g x) μhfg_ae:(fun x => ↑↑(f - g) x) =ᵐ[ρ] fun x => ↑↑f x - ↑↑g x⊢ eLpNorm (fun x => ↑↑(f - g) x) 1 ρ ≠ ∞ E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)hfμ:Integrable (fun x => ↑↑f x) μhgμ:Integrable (fun x => ↑↑g x) μhfg_ae:(fun x => ↑↑(f - g) x) =ᵐ[ρ] fun x => ↑↑f x - ↑↑g x⊢ eLpNorm (fun x => ↑↑(f - g) x) 1 ρ ≠ ∞ E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)hfμ:Integrable (fun x => ↑↑f x) μhgμ:Integrable (fun x => ↑↑g x) μhfg_ae:(fun x => ↑↑(f - g) x) =ᵐ[ρ] fun x => ↑↑f x - ↑↑g xhfg_top:eLpNorm (fun x => ↑↑f x - ↑↑g x) 1 ρ ≠ ∞⊢ ‖∫ (x : E), ↑↑f x ∂μ - ∫ (x : E), ↑↑g x ∂μ‖ ≤ ‖f - g‖] E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)hfμ:Integrable (fun x => ↑↑f x) μhgμ:Integrable (fun x => ↑↑g x) μhfg_ae:(fun x => ↑↑(f - g) x) =ᵐ[ρ] fun x => ↑↑f x - ↑↑g x⊢ eLpNorm (fun x => ↑↑(f - g) x) 1 ρ ≠ ∞ E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)hfμ:Integrable (fun x => ↑↑f x) μhgμ:Integrable (fun x => ↑↑g x) μhfg_ae:(fun x => ↑↑(f - g) x) =ᵐ[ρ] fun x => ↑↑f x - ↑↑g xhfg_top:eLpNorm (fun x => ↑↑f x - ↑↑g x) 1 ρ ≠ ∞⊢ ‖∫ (x : E), ↑↑f x ∂μ - ∫ (x : E), ↑↑g x ∂μ‖ ≤ ‖f - g‖
exact (Lp.memLp (f - g)).eLpNorm_ne_top E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)hfμ:Integrable (fun x => ↑↑f x) μhgμ:Integrable (fun x => ↑↑g x) μhfg_ae:(fun x => ↑↑(f - g) x) =ᵐ[ρ] fun x => ↑↑f x - ↑↑g xhfg_top:eLpNorm (fun x => ↑↑f x - ↑↑g x) 1 ρ ≠ ∞⊢ ‖∫ (x : E), ↑↑f x ∂μ - ∫ (x : E), ↑↑g x ∂μ‖ ≤ ‖f - g‖ E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)hfμ:Integrable (fun x => ↑↑f x) μhgμ:Integrable (fun x => ↑↑g x) μhfg_ae:(fun x => ↑↑(f - g) x) =ᵐ[ρ] fun x => ↑↑f x - ↑↑g xhfg_top:eLpNorm (fun x => ↑↑f x - ↑↑g x) 1 ρ ≠ ∞⊢ ‖∫ (x : E), ↑↑f x ∂μ - ∫ (x : E), ↑↑g x ∂μ‖ ≤ ‖f - g‖
calc
‖∫ x, f x ∂μ - ∫ x, g x ∂μ‖
= ‖∫ x, (f x - g x) ∂μ‖ := by E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)hfμ:Integrable (fun x => ↑↑f x) μhgμ:Integrable (fun x => ↑↑g x) μhfg_ae:(fun x => ↑↑(f - g) x) =ᵐ[ρ] fun x => ↑↑f x - ↑↑g xhfg_top:eLpNorm (fun x => ↑↑f x - ↑↑g x) 1 ρ ≠ ∞⊢ ‖∫ (x : E), ↑↑f x ∂μ - ∫ (x : E), ↑↑g x ∂μ‖ = ‖∫ (x : E), ↑↑f x - ↑↑g x ∂μ‖ rw [integral_sub hfμ hgμ E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)hfμ:Integrable (fun x => ↑↑f x) μhgμ:Integrable (fun x => ↑↑g x) μhfg_ae:(fun x => ↑↑(f - g) x) =ᵐ[ρ] fun x => ↑↑f x - ↑↑g xhfg_top:eLpNorm (fun x => ↑↑f x - ↑↑g x) 1 ρ ≠ ∞⊢ ‖∫ (x : E), ↑↑f x ∂μ - ∫ (x : E), ↑↑g x ∂μ‖ = ‖∫ (a : E), ↑↑f a ∂μ - ∫ (a : E), ↑↑g a ∂μ‖ All goals completed! 🐙] All goals completed! 🐙
_ ≤ (∫⁻ x, ‖f x - g x‖ₑ ∂μ).toReal := by E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)hfμ:Integrable (fun x => ↑↑f x) μhgμ:Integrable (fun x => ↑↑g x) μhfg_ae:(fun x => ↑↑(f - g) x) =ᵐ[ρ] fun x => ↑↑f x - ↑↑g xhfg_top:eLpNorm (fun x => ↑↑f x - ↑↑g x) 1 ρ ≠ ∞⊢ ‖∫ (x : E), ↑↑f x - ↑↑g x ∂μ‖ ≤ (∫⁻ (x : E), ‖↑↑f x - ↑↑g x‖ₑ ∂μ).toReal
simpa only [ofReal_norm, eLpNorm_one_eq_lintegral_enorm] using
MeasureTheory.norm_integral_le_lintegral_norm (μ := μ) (fun x => f x - g x) All goals completed! 🐙
_ ≤ (eLpNorm (fun x => f x - g x) 1 ρ).toReal := by E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)hfμ:Integrable (fun x => ↑↑f x) μhgμ:Integrable (fun x => ↑↑g x) μhfg_ae:(fun x => ↑↑(f - g) x) =ᵐ[ρ] fun x => ↑↑f x - ↑↑g xhfg_top:eLpNorm (fun x => ↑↑f x - ↑↑g x) 1 ρ ≠ ∞⊢ (∫⁻ (x : E), ‖↑↑f x - ↑↑g x‖ₑ ∂μ).toReal ≤ (eLpNorm (fun x => ↑↑f x - ↑↑g x) 1 ρ).toReal
refine ENNReal.toReal_mono hfg_top ?_ E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)hfμ:Integrable (fun x => ↑↑f x) μhgμ:Integrable (fun x => ↑↑g x) μhfg_ae:(fun x => ↑↑(f - g) x) =ᵐ[ρ] fun x => ↑↑f x - ↑↑g xhfg_top:eLpNorm (fun x => ↑↑f x - ↑↑g x) 1 ρ ≠ ∞⊢ ∫⁻ (x : E), ‖↑↑f x - ↑↑g x‖ₑ ∂μ ≤ eLpNorm (fun x => ↑↑f x - ↑↑g x) 1 ρ
simpa [eLpNorm_one_eq_lintegral_enorm] using
eLpNorm_mono_measure (p := (1 : ℝ≥0∞)) (fun x => f x - g x) hμρ All goals completed! 🐙
_ = ‖f - g‖ := by E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)hfμ:Integrable (fun x => ↑↑f x) μhgμ:Integrable (fun x => ↑↑g x) μhfg_ae:(fun x => ↑↑(f - g) x) =ᵐ[ρ] fun x => ↑↑f x - ↑↑g xhfg_top:eLpNorm (fun x => ↑↑f x - ↑↑g x) 1 ρ ≠ ∞⊢ (eLpNorm (fun x => ↑↑f x - ↑↑g x) 1 ρ).toReal = ‖f - g‖ rw [Lp.norm_def, E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)hfμ:Integrable (fun x => ↑↑f x) μhgμ:Integrable (fun x => ↑↑g x) μhfg_ae:(fun x => ↑↑(f - g) x) =ᵐ[ρ] fun x => ↑↑f x - ↑↑g xhfg_top:eLpNorm (fun x => ↑↑f x - ↑↑g x) 1 ρ ≠ ∞⊢ (eLpNorm (fun x => ↑↑f x - ↑↑g x) 1 ρ).toReal = (eLpNorm (↑↑(f - g)) 1 ρ).toReal All goals completed! 🐙 eLpNorm_congr_ae hfg_ae E:Typeinst✝:MeasurableSpace Eμ:Measure Eρ:Measure Ehμρ:μ ≤ ρf:↥(Lp ℂ 1 ρ)g:↥(Lp ℂ 1 ρ)hfμ:Integrable (fun x => ↑↑f x) μhgμ:Integrable (fun x => ↑↑g x) μhfg_ae:(fun x => ↑↑(f - g) x) =ᵐ[ρ] fun x => ↑↑f x - ↑↑g xhfg_top:eLpNorm (fun x => ↑↑f x - ↑↑g x) 1 ρ ≠ ∞⊢ (eLpNorm (fun x => ↑↑f x - ↑↑g x) 1 ρ).toReal = (eLpNorm (fun x => ↑↑f x - ↑↑g x) 1 ρ).toReal All goals completed! 🐙] All goals completed! 🐙
private lemma integral_boundedContinuous_eq_of_forall_schwartz_integral_eq
[FiniteDimensional ℝ E] {μ ν : Measure E} [IsFiniteMeasure μ] [IsFiniteMeasure ν]
(h : ∀ η : 𝓢(E, ℂ), ∫ x, η x ∂μ = ∫ x, η x ∂ν)
(f : BoundedContinuousFunction E ℂ) :
∫ x, f x ∂μ = ∫ x, f x ∂ν := by E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂ⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
let ρ : Measure E := μ + ν E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + ν⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
haveI : IsFiniteMeasure ρ := inferInstance E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis:IsFiniteMeasure ρ⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
haveI : ρ.HasTemperateGrowth := inferInstance E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowth⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
let L : 𝓢(E, ℂ) →L[ℝ] Lp ℂ 1 ρ :=
SchwartzMap.toLpCLM ℝ ℂ 1 ρ E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρ⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
let toL1 : BoundedContinuousFunction E ℂ →L[ℝ] Lp ℂ 1 ρ :=
BoundedContinuousFunction.toLp 1 ρ ℝ E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝ⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
let S : Set (Lp ℂ 1 ρ) := {u | ∫ x, u x ∂μ = ∫ x, u x ∂ν} E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
have hS_closed : IsClosed S :=
isClosed_eq
(lipschitzWith_integral_of_le (μ := μ) (ρ := ρ)
(Measure.le_add_right le_rfl)).continuous
(lipschitzWith_integral_of_le (μ := ν) (ρ := ρ)
(Measure.le_add_left le_rfl)).continuous E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed S⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
have h_range_subset : Set.range L ⊆ S := by
rintro u ⟨η, rfl⟩ E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sη:𝓢(E, ℂ)⊢ L η ∈ S E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ S⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
dsimp [S, L] E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sη:𝓢(E, ℂ)⊢ ∫ (x : E), ↑↑(η.toLp 1 ρ) x ∂μ = ∫ (x : E), ↑↑(η.toLp 1 ρ) x ∂ν E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ S⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
have hηρ : (L η : E → ℂ) =ᵐ[ρ] η := by E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂ⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sη:𝓢(E, ℂ)hηρ:↑↑(L η) =ᵐ[ρ] ⇑η⊢ ∫ (x : E), ↑↑(η.toLp 1 ρ) x ∂μ = ∫ (x : E), ↑↑(η.toLp 1 ρ) x ∂ν E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ S⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
simpa [L] using SchwartzMap.coeFn_toLp η (1 : ℝ≥0∞) ρ E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sη:𝓢(E, ℂ)hηρ:↑↑(L η) =ᵐ[ρ] ⇑η⊢ ∫ (x : E), ↑↑(η.toLp 1 ρ) x ∂μ = ∫ (x : E), ↑↑(η.toLp 1 ρ) x ∂ν E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ S⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sη:𝓢(E, ℂ)hηρ:↑↑(L η) =ᵐ[ρ] ⇑η⊢ ∫ (x : E), ↑↑(η.toLp 1 ρ) x ∂μ = ∫ (x : E), ↑↑(η.toLp 1 ρ) x ∂ν E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ S⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
have hημ : (L η : E → ℂ) =ᵐ[μ] η :=
(Measure.absolutelyContinuous_of_le (Measure.le_add_right le_rfl)) hηρ E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sη:𝓢(E, ℂ)hηρ:↑↑(L η) =ᵐ[ρ] ⇑ηhημ:↑↑(L η) =ᵐ[μ] ⇑η⊢ ∫ (x : E), ↑↑(η.toLp 1 ρ) x ∂μ = ∫ (x : E), ↑↑(η.toLp 1 ρ) x ∂ν E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ S⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
have hην : (L η : E → ℂ) =ᵐ[ν] η :=
(Measure.absolutelyContinuous_of_le (Measure.le_add_left le_rfl)) hηρ E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sη:𝓢(E, ℂ)hηρ:↑↑(L η) =ᵐ[ρ] ⇑ηhημ:↑↑(L η) =ᵐ[μ] ⇑ηhην:↑↑(L η) =ᵐ[ν] ⇑η⊢ ∫ (x : E), ↑↑(η.toLp 1 ρ) x ∂μ = ∫ (x : E), ↑↑(η.toLp 1 ρ) x ∂ν E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ S⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
calc
∫ x, (L η : E → ℂ) x ∂μ = ∫ x, η x ∂μ := integral_congr_ae hημ
_ = ∫ x, η x ∂ν := h η
_ = ∫ x, (L η : E → ℂ) x ∂ν := (integral_congr_ae hην).symm E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ S⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
have hS_univ : Set.univ ⊆ S := by
rw [← (SchwartzMap.denseRange_toLpCLM (E := E) (F := ℂ) (p := (1 : ℝ≥0∞))
(μ := ρ) ENNReal.one_ne_top).closure_range E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ S⊢ closure (Set.range ⇑(toLpCLM ℝ ℂ 1 ρ)) ⊆ S E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ S⊢ closure (Set.range ⇑(toLpCLM ℝ ℂ 1 ρ)) ⊆ S E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ ShS_univ:Set.univ ⊆ S⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν] E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ S⊢ closure (Set.range ⇑(toLpCLM ℝ ℂ 1 ρ)) ⊆ S E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ ShS_univ:Set.univ ⊆ S⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
exact hS_closed.closure_subset_iff.mpr h_range_subset E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ ShS_univ:Set.univ ⊆ S⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ ShS_univ:Set.univ ⊆ S⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
have hfS : toL1 f ∈ S := hS_univ trivial E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ ShS_univ:Set.univ ⊆ ShfS:toL1 f ∈ S⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
dsimp [S, toL1] at hfS E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ ShS_univ:Set.univ ⊆ ShfS:∫ (x : E), ↑↑((BoundedContinuousFunction.toLp 1 ρ ℝ) f) x ∂μ =
∫ (x : E), ↑↑((BoundedContinuousFunction.toLp 1 ρ ℝ) f) x ∂ν⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
have hfρ : (toL1 f : E → ℂ) =ᵐ[ρ] f := by
simpa [toL1] using BoundedContinuousFunction.coeFn_toLp (1 : ℝ≥0∞) ρ ℝ f E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ ShS_univ:Set.univ ⊆ ShfS:∫ (x : E), ↑↑((BoundedContinuousFunction.toLp 1 ρ ℝ) f) x ∂μ =
∫ (x : E), ↑↑((BoundedContinuousFunction.toLp 1 ρ ℝ) f) x ∂νhfρ:↑↑(toL1 f) =ᵐ[ρ] ⇑f⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ ShS_univ:Set.univ ⊆ ShfS:∫ (x : E), ↑↑((BoundedContinuousFunction.toLp 1 ρ ℝ) f) x ∂μ =
∫ (x : E), ↑↑((BoundedContinuousFunction.toLp 1 ρ ℝ) f) x ∂νhfρ:↑↑(toL1 f) =ᵐ[ρ] ⇑f⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
have hfμ : (toL1 f : E → ℂ) =ᵐ[μ] f :=
(Measure.absolutelyContinuous_of_le (Measure.le_add_right le_rfl)) hfρ E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ ShS_univ:Set.univ ⊆ ShfS:∫ (x : E), ↑↑((BoundedContinuousFunction.toLp 1 ρ ℝ) f) x ∂μ =
∫ (x : E), ↑↑((BoundedContinuousFunction.toLp 1 ρ ℝ) f) x ∂νhfρ:↑↑(toL1 f) =ᵐ[ρ] ⇑fhfμ:↑↑(toL1 f) =ᵐ[μ] ⇑f⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
have hfν : (toL1 f : E → ℂ) =ᵐ[ν] f :=
(Measure.absolutelyContinuous_of_le (Measure.le_add_left le_rfl)) hfρ E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νf:BoundedContinuousFunction E ℂρ:Measure E := μ + νthis✝:IsFiniteMeasure ρthis:ρ.HasTemperateGrowthL:𝓢(E, ℂ) →L[ℝ] ↥(Lp ℂ 1 ρ) := toLpCLM ℝ ℂ 1 ρtoL1:BoundedContinuousFunction E ℂ →L[ℝ] ↥(Lp ℂ 1 ρ) := BoundedContinuousFunction.toLp 1 ρ ℝS:Set ↥(Lp ℂ 1 ρ) := {u | ∫ (x : E), ↑↑u x ∂μ = ∫ (x : E), ↑↑u x ∂ν}hS_closed:IsClosed Sh_range_subset:Set.range ⇑L ⊆ ShS_univ:Set.univ ⊆ ShfS:∫ (x : E), ↑↑((BoundedContinuousFunction.toLp 1 ρ ℝ) f) x ∂μ =
∫ (x : E), ↑↑((BoundedContinuousFunction.toLp 1 ρ ℝ) f) x ∂νhfρ:↑↑(toL1 f) =ᵐ[ρ] ⇑fhfμ:↑↑(toL1 f) =ᵐ[μ] ⇑fhfν:↑↑(toL1 f) =ᵐ[ν] ⇑f⊢ ∫ (x : E), f x ∂μ = ∫ (x : E), f x ∂ν
calc
∫ x, f x ∂μ = ∫ x, (toL1 f : E → ℂ) x ∂μ := (integral_congr_ae hfμ).symm
_ = ∫ x, (toL1 f : E → ℂ) x ∂ν := hfS
_ = ∫ x, f x ∂ν := integral_congr_ae hfν
private lemma measure_eq_of_forall_schwartz_integral_eq
{E : Type} [NormedAddCommGroup E] [NormedSpace ℝ E] [MeasurableSpace E]
[BorelSpace E] [SecondCountableTopology E] [FiniteDimensional ℝ E]
{μ ν : Measure E} [IsFiniteMeasure μ] [IsFiniteMeasure ν]
(h : ∀ η : 𝓢(E, ℂ), ∫ x, η x ∂μ = ∫ x, η x ∂ν) :
μ = ν := by E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂ν⊢ μ = ν
refine Measure.ext_of_charFunDual (funext fun L => ?_) E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νL:StrongDual ℝ E⊢ charFunDual μ L = charFunDual ν L
rw [charFunDual_apply, E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νL:StrongDual ℝ E⊢ ∫ (v : E), Complex.exp (↑(L v) * Complex.I) ∂μ = charFunDual ν L E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νL:StrongDual ℝ E⊢ ∫ (v : E), Complex.exp (↑(L v) * Complex.I) ∂μ = ∫ (v : E), Complex.exp (↑(L v) * Complex.I) ∂ν charFunDual_apply E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νL:StrongDual ℝ E⊢ ∫ (v : E), Complex.exp (↑(L v) * Complex.I) ∂μ = ∫ (v : E), Complex.exp (↑(L v) * Complex.I) ∂ν E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νL:StrongDual ℝ E⊢ ∫ (v : E), Complex.exp (↑(L v) * Complex.I) ∂μ = ∫ (v : E), Complex.exp (↑(L v) * Complex.I) ∂ν] E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νh:∀ (η : 𝓢(E, ℂ)), ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νL:StrongDual ℝ E⊢ ∫ (v : E), Complex.exp (↑(L v) * Complex.I) ∂μ = ∫ (v : E), Complex.exp (↑(L v) * Complex.I) ∂ν
exact integral_boundedContinuous_eq_of_forall_schwartz_integral_eq h
(BoundedContinuousFunction.probCharDual L) All goals completed! 🐙The complex scalar distribution associated to a finite measure determines the measure.
lemma ofFiniteMeasure_eq_iff
{E : Type} [NormedAddCommGroup E] [NormedSpace ℝ E] [MeasurableSpace E]
[BorelSpace E] [SecondCountableTopology E] [FiniteDimensional ℝ E]
{μ ν : Measure E} [IsFiniteMeasure μ] [IsFiniteMeasure ν] :
ofFiniteMeasure ℂ μ = ofFiniteMeasure ℂ ν ↔ μ = ν := by E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure ν⊢ ofFiniteMeasure ℂ μ = ofFiniteMeasure ℂ ν ↔ μ = ν
refine ⟨fun hdist => measure_eq_of_forall_schwartz_integral_eq fun η => ?_, ?_⟩ refine_1 E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νhdist:ofFiniteMeasure ℂ μ = ofFiniteMeasure ℂ νη:𝓢(E, ℂ)⊢ ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂νrefine_2 E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure ν⊢ μ = ν → ofFiniteMeasure ℂ μ = ofFiniteMeasure ℂ ν
· refine_1 E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νhdist:ofFiniteMeasure ℂ μ = ofFiniteMeasure ℂ νη:𝓢(E, ℂ)⊢ ∫ (x : E), η x ∂μ = ∫ (x : E), η x ∂ν rw [← ofFiniteMeasure_apply (𝕜 := ℂ) μ η, refine_1 E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νhdist:ofFiniteMeasure ℂ μ = ofFiniteMeasure ℂ νη:𝓢(E, ℂ)⊢ (ofFiniteMeasure ℂ μ) η = ∫ (x : E), η x ∂ν All goals completed! 🐙 ← ofFiniteMeasure_apply (𝕜 := ℂ) ν η, refine_1 E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νhdist:ofFiniteMeasure ℂ μ = ofFiniteMeasure ℂ νη:𝓢(E, ℂ)⊢ (ofFiniteMeasure ℂ μ) η = (ofFiniteMeasure ℂ ν) η All goals completed! 🐙 hdist refine_1 E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure νhdist:ofFiniteMeasure ℂ μ = ofFiniteMeasure ℂ νη:𝓢(E, ℂ)⊢ (ofFiniteMeasure ℂ ν) η = (ofFiniteMeasure ℂ ν) η All goals completed! 🐙] All goals completed! 🐙
· refine_2 E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Eν:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure ν⊢ μ = ν → ofFiniteMeasure ℂ μ = ofFiniteMeasure ℂ ν rintro rfl refine_2 E:Typeinst✝⁷:NormedAddCommGroup Einst✝⁶:NormedSpace ℝ Einst✝⁵:MeasurableSpace Einst✝⁴:BorelSpace Einst✝³:SecondCountableTopology Einst✝²:FiniteDimensional ℝ Eμ:Measure Einst✝¹:IsFiniteMeasure μinst✝:IsFiniteMeasure μ⊢ ofFiniteMeasure ℂ μ = ofFiniteMeasure ℂ μ
rfl All goals completed! 🐙E.3. The dirac delta distribution
The dirac delta distribution centered at a : E is the distribution which takes
η to η a. We also define diracDelta' which takes in an element of v of F and
outputs η a • v.
Dirac delta distribution diracDelta 𝕜 a : E →d[𝕜] 𝕜 takes in a test function η : 𝓢(E, 𝕜)
and outputs η a. Intuitively this is an infinite density at a single point a.
def diracDelta (a : E) : E →d[𝕜] 𝕜 :=
toPointwiseConvergenceCLM _ _ _ _ <|
(BoundedContinuousFunction.evalCLM 𝕜 a).comp (toBoundedContinuousFunctionCLM 𝕜 E 𝕜)@[simp] lemma diracDelta_apply (a : E) (η : 𝓢(E, 𝕜)) :
diracDelta 𝕜 a η = η a :=
rfl
Dirac delta in a given direction v : F. diracDelta' 𝕜 a v takes in a test function
η : 𝓢(E, 𝕜) and outputs η a • v. Intuitively this is an infinitely intense vector field
at a single point a pointing at the direction v.
def diracDelta' (a : E) (v : F) : E →d[𝕜] F :=
ContinuousLinearMap.smulRight (diracDelta 𝕜 a) v@[simp] lemma diracDelta'_apply (a : E) (v : F) (η : 𝓢(E, 𝕜)) :
diracDelta' 𝕜 a v η = η a • v :=
rflE.4. The heaviside step function
The heaviside step function on EuclideanSpace ℝ (Fin d.succ) is the distribution
from EuclideanSpace ℝ (Fin d.succ) to ℝ which takes a η to the integral of η in the
upper-half plane (determined by the last coordinate in EuclideanSpace ℝ (Fin d.succ)).
The Heaviside step distribution defined on (EuclideanSpace ℝ (Fin d.succ))
equal to 1 in the positive z-direction and 0 in the negative z-direction.
def heavisideStep (d : ℕ) : (EuclideanSpace ℝ (Fin d.succ)) →d[ℝ] ℝ := by 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕ⊢ (EuclideanSpace ℝ (Fin d.succ))→d[ℝ] ℝ
refine mkCLMtoNormedSpace
(fun η =>
∫ x in {x : EuclideanSpace ℝ (Fin d.succ) | 0 < x (Fin.last d)}, η x ∂MeasureTheory.volume) ?_
?_ ?_ refine_1 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕ⊢ ∀ (f g : 𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)),
∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, (f + g) x =
(∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, f x) +
∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, g xrefine_2 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕ⊢ ∀ (a : ℝ) (f : 𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)),
∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, (a • f) x =
(RingHom.id ℝ) a • ∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, f xrefine_3 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕ⊢ ∃ s C,
0 ≤ C ∧
∀ (f : 𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)),
‖∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, f x‖ ≤
C * (s.sup (schwartzSeminormFamily ℝ (EuclideanSpace ℝ (Fin d.succ)) ℝ)) f
· refine_1 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕ⊢ ∀ (f g : 𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)),
∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, (f + g) x =
(∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, f x) +
∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, g x intro η1 η2 refine_1 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕη1:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)η2:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ ∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, (η1 + η2) x =
(∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, η1 x) +
∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, η2 x
simp only [Nat.succ_eq_add_one, add_apply] refine_1 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕη1:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)η2:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ ∫ (x : EuclideanSpace ℝ (Fin (d + 1))) in {x | 0 < x.ofLp (Fin.last d)}, η1 x + η2 x =
(∫ (x : EuclideanSpace ℝ (Fin (d + 1))) in {x | 0 < x.ofLp (Fin.last d)}, η1 x) +
∫ (x : EuclideanSpace ℝ (Fin (d + 1))) in {x | 0 < x.ofLp (Fin.last d)}, η2 x
rw [MeasureTheory.integral_add refine_1 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕη1:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)η2:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ (∫ (a : EuclideanSpace ℝ (Fin (d + 1))) in {x | 0 < x.ofLp (Fin.last d)}, η1 a) +
∫ (a : EuclideanSpace ℝ (Fin (d + 1))) in {x | 0 < x.ofLp (Fin.last d)}, η2 a =
(∫ (x : EuclideanSpace ℝ (Fin (d + 1))) in {x | 0 < x.ofLp (Fin.last d)}, η1 x) +
∫ (x : EuclideanSpace ℝ (Fin (d + 1))) in {x | 0 < x.ofLp (Fin.last d)}, η2 xrefine_1.hf 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕη1:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)η2:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ Integrable (⇑η1) (volume.restrict {x | 0 < x.ofLp (Fin.last d)})refine_1.hg 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕη1:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)η2:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ Integrable (⇑η2) (volume.restrict {x | 0 < x.ofLp (Fin.last d)}) refine_1.hf 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕη1:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)η2:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ Integrable (⇑η1) (volume.restrict {x | 0 < x.ofLp (Fin.last d)})refine_1.hg 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕη1:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)η2:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ Integrable (⇑η2) (volume.restrict {x | 0 < x.ofLp (Fin.last d)})] refine_1.hf 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕη1:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)η2:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ Integrable (⇑η1) (volume.restrict {x | 0 < x.ofLp (Fin.last d)})refine_1.hg 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕη1:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)η2:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ Integrable (⇑η2) (volume.restrict {x | 0 < x.ofLp (Fin.last d)})
· refine_1.hf 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕη1:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)η2:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ Integrable (⇑η1) (volume.restrict {x | 0 < x.ofLp (Fin.last d)}) apply MeasureTheory.Integrable.restrict refine_1.hf 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕη1:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)η2:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ Integrable (⇑η1) volume
exact integrable η1 All goals completed! 🐙
· refine_1.hg 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕη1:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)η2:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ Integrable (⇑η2) (volume.restrict {x | 0 < x.ofLp (Fin.last d)}) apply MeasureTheory.Integrable.restrict refine_1.hg 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕη1:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)η2:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ Integrable (⇑η2) volume
exact integrable η2 All goals completed! 🐙
· refine_2 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕ⊢ ∀ (a : ℝ) (f : 𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)),
∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, (a • f) x =
(RingHom.id ℝ) a • ∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, f x intro a η refine_2 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕa:ℝη:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ ∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, (a • η) x =
(RingHom.id ℝ) a • ∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, η x
simp only [smul_apply, RingHom.id_apply] refine_2 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕa:ℝη:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ ∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, a • η x =
a • ∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, η x
rw [MeasureTheory.integral_smul refine_2 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕa:ℝη:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ a • ∫ (a : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, η a =
a • ∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, η x All goals completed! 🐙] All goals completed! 🐙
haveI hμ : (volume (α := EuclideanSpace ℝ (Fin d.succ))).HasTemperateGrowth := by 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕ⊢ volume.HasTemperateGrowth
infer_instance All goals completed! 🐙
rcases hμ.exists_integrable with ⟨n, h⟩ refine_3 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volume⊢ ∃ s C,
0 ≤ C ∧
∀ (f : 𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)),
‖∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, f x‖ ≤
C * (s.sup (schwartzSeminormFamily ℝ (EuclideanSpace ℝ (Fin d.succ)) ℝ)) f
let m := (n, 0) refine_3 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)⊢ ∃ s C,
0 ≤ C ∧
∀ (f : 𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)),
‖∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, f x‖ ≤
C * (s.sup (schwartzSeminormFamily ℝ (EuclideanSpace ℝ (Fin d.succ)) ℝ)) f
use Finset.Iic m, 2 ^ n *
∫ x, (1 + ‖x‖) ^ (- (n : ℝ)) ∂(volume (α := EuclideanSpace ℝ (Fin d.succ))) h 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)⊢ 0 ≤ 2 ^ n * ∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n) ∧
∀ (f : 𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)),
‖∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, f x‖ ≤
(2 ^ n * ∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n)) *
((Finset.Iic m).sup (schwartzSeminormFamily ℝ (EuclideanSpace ℝ (Fin d.succ)) ℝ)) f
refine ⟨by 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)⊢ 0 ≤ 2 ^ n * ∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n) positivity All goals completed! 🐙, fun η ↦ (norm_integral_le_integral_norm _).trans ?_⟩
trans ∫ x, ‖η x‖ ∂(volume (α := EuclideanSpace ℝ (Fin d.succ))) 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ ∫ (a : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, ‖η a‖ ≤
∫ (x : EuclideanSpace ℝ (Fin d.succ)), ‖η x‖𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ ∫ (x : EuclideanSpace ℝ (Fin d.succ)), ‖η x‖ ≤
(2 ^ n * ∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n)) *
((Finset.Iic m).sup (schwartzSeminormFamily ℝ (EuclideanSpace ℝ (Fin d.succ)) ℝ)) η
· 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ ∫ (a : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, ‖η a‖ ≤
∫ (x : EuclideanSpace ℝ (Fin d.succ)), ‖η x‖ refine setIntegral_le_integral ?_ ?_ refine_1 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ Integrable (fun a => ‖η a‖) volumerefine_2 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ 0 ≤ᵐ[volume] fun a => ‖η a‖
· refine_1 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ Integrable (fun a => ‖η a‖) volume have hi := integrable η (μ := volume) refine_1 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)hi:Integrable (⇑η) volume⊢ Integrable (fun a => ‖η a‖) volume
fun_prop All goals completed! 🐙
· refine_2 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ 0 ≤ᵐ[volume] fun a => ‖η a‖ filter_upwards with x refine_2 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)x:EuclideanSpace ℝ (Fin d.succ)⊢ 0 x ≤ ‖η x‖
simp All goals completed! 🐙
· 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ ∫ (x : EuclideanSpace ℝ (Fin d.succ)), ‖η x‖ ≤
(2 ^ n * ∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n)) *
((Finset.Iic m).sup (schwartzSeminormFamily ℝ (EuclideanSpace ℝ (Fin d.succ)) ℝ)) η have h' : ∀ x, ‖η x‖ ≤ (1 + ‖x‖) ^ (-(n : ℝ)) *
(2 ^ n * ((Finset.Iic m).sup (fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η)) := by 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕ⊢ (EuclideanSpace ℝ (Fin d.succ))→d[ℝ] ℝ 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)h':∀ (x : EuclideanSpace ℝ (Fin d.succ)),
‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η)⊢ ∫ (x : EuclideanSpace ℝ (Fin d.succ)), ‖η x‖ ≤
(2 ^ n * ∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n)) *
((Finset.Iic m).sup (schwartzSeminormFamily ℝ (EuclideanSpace ℝ (Fin d.succ)) ℝ)) η
intro x 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)x:EuclideanSpace ℝ (Fin d.succ)⊢ ‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η) 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)h':∀ (x : EuclideanSpace ℝ (Fin d.succ)),
‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η)⊢ ∫ (x : EuclideanSpace ℝ (Fin d.succ)), ‖η x‖ ≤
(2 ^ n * ∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n)) *
((Finset.Iic m).sup (schwartzSeminormFamily ℝ (EuclideanSpace ℝ (Fin d.succ)) ℝ)) η
rw [Real.rpow_neg (by 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)x:EuclideanSpace ℝ (Fin d.succ)⊢ 0 ≤ 1 + ‖x‖ 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)x:EuclideanSpace ℝ (Fin d.succ)⊢ (1 + ‖x‖) ^ n * ‖η x‖ ≤ 2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)h':∀ (x : EuclideanSpace ℝ (Fin d.succ)),
‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η)⊢ ∫ (x : EuclideanSpace ℝ (Fin d.succ)), ‖η x‖ ≤
(2 ^ n * ∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n)) *
((Finset.Iic m).sup (schwartzSeminormFamily ℝ (EuclideanSpace ℝ (Fin d.succ)) ℝ)) η positivity All goals completed! 🐙 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)x:EuclideanSpace ℝ (Fin d.succ)⊢ (1 + ‖x‖) ^ n * ‖η x‖ ≤ 2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)h':∀ (x : EuclideanSpace ℝ (Fin d.succ)),
‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η)⊢ ∫ (x : EuclideanSpace ℝ (Fin d.succ)), ‖η x‖ ≤
(2 ^ n * ∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n)) *
((Finset.Iic m).sup (schwartzSeminormFamily ℝ (EuclideanSpace ℝ (Fin d.succ)) ℝ)) η), ← div_eq_inv_mul, 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)x:EuclideanSpace ℝ (Fin d.succ)⊢ ‖η x‖ ≤ 2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η / (1 + ‖x‖) ^ ↑n 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)x:EuclideanSpace ℝ (Fin d.succ)⊢ (1 + ‖x‖) ^ n * ‖η x‖ ≤ 2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)h':∀ (x : EuclideanSpace ℝ (Fin d.succ)),
‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η)⊢ ∫ (x : EuclideanSpace ℝ (Fin d.succ)), ‖η x‖ ≤
(2 ^ n * ∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n)) *
((Finset.Iic m).sup (schwartzSeminormFamily ℝ (EuclideanSpace ℝ (Fin d.succ)) ℝ)) η
le_div_iff₀' (by 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)x:EuclideanSpace ℝ (Fin d.succ)⊢ 0 < (1 + ‖x‖) ^ ↑n 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)x:EuclideanSpace ℝ (Fin d.succ)⊢ (1 + ‖x‖) ^ n * ‖η x‖ ≤ 2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)h':∀ (x : EuclideanSpace ℝ (Fin d.succ)),
‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η)⊢ ∫ (x : EuclideanSpace ℝ (Fin d.succ)), ‖η x‖ ≤
(2 ^ n * ∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n)) *
((Finset.Iic m).sup (schwartzSeminormFamily ℝ (EuclideanSpace ℝ (Fin d.succ)) ℝ)) η positivity All goals completed! 🐙 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)x:EuclideanSpace ℝ (Fin d.succ)⊢ (1 + ‖x‖) ^ n * ‖η x‖ ≤ 2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)h':∀ (x : EuclideanSpace ℝ (Fin d.succ)),
‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η)⊢ ∫ (x : EuclideanSpace ℝ (Fin d.succ)), ‖η x‖ ≤
(2 ^ n * ∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n)) *
((Finset.Iic m).sup (schwartzSeminormFamily ℝ (EuclideanSpace ℝ (Fin d.succ)) ℝ)) η), Real.rpow_natCast 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)x:EuclideanSpace ℝ (Fin d.succ)⊢ (1 + ‖x‖) ^ n * ‖η x‖ ≤ 2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)x:EuclideanSpace ℝ (Fin d.succ)⊢ (1 + ‖x‖) ^ n * ‖η x‖ ≤ 2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)h':∀ (x : EuclideanSpace ℝ (Fin d.succ)),
‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η)⊢ ∫ (x : EuclideanSpace ℝ (Fin d.succ)), ‖η x‖ ≤
(2 ^ n * ∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n)) *
((Finset.Iic m).sup (schwartzSeminormFamily ℝ (EuclideanSpace ℝ (Fin d.succ)) ℝ)) η] 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)x:EuclideanSpace ℝ (Fin d.succ)⊢ (1 + ‖x‖) ^ n * ‖η x‖ ≤ 2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)h':∀ (x : EuclideanSpace ℝ (Fin d.succ)),
‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η)⊢ ∫ (x : EuclideanSpace ℝ (Fin d.succ)), ‖η x‖ ≤
(2 ^ n * ∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n)) *
((Finset.Iic m).sup (schwartzSeminormFamily ℝ (EuclideanSpace ℝ (Fin d.succ)) ℝ)) η
simpa using one_add_le_sup_seminorm_apply (m := m) (k := n) (n := 0) le_rfl le_rfl η x 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)h':∀ (x : EuclideanSpace ℝ (Fin d.succ)),
‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η)⊢ ∫ (x : EuclideanSpace ℝ (Fin d.succ)), ‖η x‖ ≤
(2 ^ n * ∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n)) *
((Finset.Iic m).sup (schwartzSeminormFamily ℝ (EuclideanSpace ℝ (Fin d.succ)) ℝ)) η 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)h':∀ (x : EuclideanSpace ℝ (Fin d.succ)),
‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η)⊢ ∫ (x : EuclideanSpace ℝ (Fin d.succ)), ‖η x‖ ≤
(2 ^ n * ∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n)) *
((Finset.Iic m).sup (schwartzSeminormFamily ℝ (EuclideanSpace ℝ (Fin d.succ)) ℝ)) η
apply (integral_mono (by 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)h':∀ (x : EuclideanSpace ℝ (Fin d.succ)),
‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η)⊢ Integrable (fun i => ‖η i‖) volume simpa using η.integrable_pow_mul ((volume)) 0 All goals completed! 🐙) _ h').trans
· 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)h':∀ (x : EuclideanSpace ℝ (Fin d.succ)),
‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η)⊢ ∫ (x : EuclideanSpace ℝ (Fin d.succ)),
(1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η) ≤
(2 ^ n * ∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n)) *
((Finset.Iic m).sup (schwartzSeminormFamily ℝ (EuclideanSpace ℝ (Fin d.succ)) ℝ)) η unfold schwartzSeminormFamily 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)h':∀ (x : EuclideanSpace ℝ (Fin d.succ)),
‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η)⊢ ∫ (x : EuclideanSpace ℝ (Fin d.succ)),
(1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η) ≤
(2 ^ n * ∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n)) *
((Finset.Iic m).sup fun m => SchwartzMap.seminorm ℝ m.1 m.2) η
rw [integral_mul_const, 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)h':∀ (x : EuclideanSpace ℝ (Fin d.succ)),
‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η)⊢ (∫ (a : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖a‖) ^ (-↑n)) *
(2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η) ≤
(2 ^ n * ∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n)) *
((Finset.Iic m).sup fun m => SchwartzMap.seminorm ℝ m.1 m.2) η All goals completed! 🐙 ← mul_assoc, 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)h':∀ (x : EuclideanSpace ℝ (Fin d.succ)),
‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η)⊢ (∫ (a : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖a‖) ^ (-↑n)) * 2 ^ n *
((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η ≤
(2 ^ n * ∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n)) *
((Finset.Iic m).sup fun m => SchwartzMap.seminorm ℝ m.1 m.2) η All goals completed! 🐙 mul_comm (2 ^ n) 𝕜:TypeE:TypeF:Typeinst✝²:RCLike 𝕜inst✝¹:NormedAddCommGroup Einst✝:NormedAddCommGroup Fd:ℕhμ:volume.HasTemperateGrowthn:ℕh:Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) volumem:ℕ × ℕ := (n, 0)η:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)h':∀ (x : EuclideanSpace ℝ (Fin d.succ)),
‖η x‖ ≤ (1 + ‖x‖) ^ (-↑n) * (2 ^ n * ((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η)⊢ (∫ (a : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖a‖) ^ (-↑n)) * 2 ^ n *
((Finset.Iic m).sup fun m' => SchwartzMap.seminorm ℝ m'.1 m'.2) η ≤
(∫ (x : EuclideanSpace ℝ (Fin d.succ)), (1 + ‖x‖) ^ (-↑n)) * 2 ^ n *
((Finset.Iic m).sup fun m => SchwartzMap.seminorm ℝ m.1 m.2) η All goals completed! 🐙] All goals completed! 🐙
apply h.mul_const All goals completed! 🐙lemma heavisideStep_apply (d : ℕ) (η : 𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)) :
heavisideStep d η = ∫ x in {x : EuclideanSpace ℝ (Fin d.succ) | 0 < x (Fin.last d)},
η x ∂MeasureTheory.volume := by d:ℕη:𝓢(EuclideanSpace ℝ (Fin d.succ), ℝ)⊢ (heavisideStep d) η = ∫ (x : EuclideanSpace ℝ (Fin d.succ)) in {x | 0 < x.ofLp (Fin.last d)}, η x
rfl All goals completed! 🐙