Imports
/-
Copyright (c) 2026 Gregory J. Loges. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Gregory J. Loges
-/
module
public import Physlib.QuantumMechanics.Operators.Unbounded
public import Physlib.QuantumMechanics.HilbertSpaces.SpaceD.SchwartzSubmodule
Multiplication operators on SpaceDHilbertSpace
i. Overview
In this module we define and develop the properties of multiplication operators.
Given a measure μ on Space d and any function f : Space d → ℂ, the multiplication operator
𝓜 μ f is the partial linear map on SpaceDHilbertSpace d μ with domain
{ψ : SpaceDHilbertSpace d μ | MemHS (f • ψ) μ} and mapping ψ to f • ψ.
Prime examples of multiplication operators are the position operators which multiply by xᵢ and
the potential operators which multiply by the potential function V(x) of a quantum system.
Although the domain of 𝓜 μ f is defined implicitly through MemHS, simple assumptions on f
allow one to nail down some of its properties. For example, when f is μ-a.e. strongly measurable
then the corresponding multiplication operator is densely defined, if f is μ-a.e. bounded then
the domain is ⊤ and if f has temperate growth then the domain contains the Schwartz submodule.
Multiplication operators also form the backbone for derivative operators, which are defined
through multiplication in the Fourier domain: see Operators/Derivative.lean.
ii. Key results
mulOperator μ f (notation 𝓜 μ f) : The operator defined by ψ ↦ f • ψ
with maximal domain {ψ : SpaceDHilbertSpace d μ | MemHS (f • ψ) μ}.
mulOperator_adjoint_eq_conj : The adjoint of 𝓜 μ f is the multiplication operator
defined by the conjugate of f.
mulOperator_isSelfAdjoint : The multiplication operator of a real function is self-adjoint.
mulOperator_isUnbounded : Multiplication operators with maximal domain are unbounded
(i.e. densely defined and closable).
mulOperator_isClosed : Multiplication operators with maximal domain are closed.
mulOperator_const_smul_eq : 𝓜 μ (c • f) = c • 𝓜 μ f for non-zero c.
mulOperator_add_ge / mulOperator_sub_ge : 𝓜 μ (f ± g) is an extension of 𝓜 μ f ± 𝓜 μ g.
mulOperator_smul_ge : 𝓜 μ (f • g) is an extension of 𝓜 μ f * 𝓜 μ g.
iii. Table of contents
A. Definition
B. Domain
C. Adjoint
C.1. Self-adjoint
D. Closed & unbounded
E. Basic properties
E.1. Smul & neg
E.2. Add & sub
E.3. Composition
F. Spectrum
iv. References
See examples 1.3 and 3.8 in
[Konrad Schmüdgen, Unbounded Self-Adjoint Operators on Hilbert Space][Schmudgen2012]
@[expose] public sectionA. Definition
The multiplication operator which maps ψ to the equivalence class of f • ψ
with maximal domain {ψ : SpaceDHilbertspace d μ | MemHS (f • ψ) μ}.
d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂψ:↥{ carrier := {ψ | MemHS (f • ↑↑ψ) μ}, add_mem' := ⋯, zero_mem' := ⋯, smul_mem' := ⋯ }⊢ f • ↑↑↑(c • ψ) =ᵐ[μ] (RingHom.id ℂ) c • f • ↑↑↑ψ
filter_upwards [coeFn_smul c ψ] d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂψ:↥{ carrier := {ψ | MemHS (f • ↑↑ψ) μ}, add_mem' := ⋯, zero_mem' := ⋯, smul_mem' := ⋯ }⊢ ∀ (a : Space d), ↑↑(c • ↑ψ) a = (c • ↑↑↑ψ) a → (f • ↑↑↑(c • ψ)) a = ((RingHom.id ℂ) c • f • ↑↑↑ψ) a
simp_all [mul_left_comm] All goals completed! 🐙
}@[inherit_doc mulOperator]
notation "𝓜" => mulOperator
The multiplication operator 𝓜 μ f has maximal domain: ψ is in the domain exactly
when multiplying by f gives an element of the Hilbert space.
lemma mem_mulOperator_domain_iff
{μ : Measure (Space d)} {f : Space d → ℂ} {ψ : SpaceDHilbertSpace d μ} :
ψ ∈ (𝓜 μ f).domain ↔ MemHS (f • ⇑ψ) μ :=
Iff.rfl
The defining property of a multiplication operator: ψ is mapped to f • ψ.
lemma mulOperator_apply_ae {μ : Measure (Space d)} {f : Space d → ℂ} (ψ : (𝓜 μ f).domain) :
𝓜 μ f ψ =ᵐ[μ] f • ψ :=
coeFn_mk ψ.propB. Domain
The multiplication operator of a μ-a.e. bounded function has full domain.
lemma mulOperator_domain_eq_top {μ : Measure (Space d)}
{f : Space d → ℂ} (hf : AEStronglyMeasurable f μ) {c : ℝ} (hfc : ∀ᵐ x ∂μ, ‖f x‖ ≤ c) :
(𝓜 μ f).domain = ⊤ := by d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μc:ℝhfc:∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c⊢ (𝓜 μ f).domain = ⊤
refine Submodule.eq_top_iff'.mpr fun ψ ↦ ?_ d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μc:ℝhfc:∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ cψ:↥(SpaceDHilbertSpace d μ)⊢ ψ ∈ (𝓜 μ f).domain
refine ((memHS_coe ψ).const_smul c).mono (by d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μc:ℝhfc:∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ cψ:↥(SpaceDHilbertSpace d μ)⊢ AEStronglyMeasurable (f • ↑↑ψ) μ fun_prop All goals completed! 🐙) ?_
filter_upwards [hfc] with x h d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μc:ℝhfc:∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ cψ:↥(SpaceDHilbertSpace d μ)x:Space dh:‖f x‖ ≤ c⊢ ‖(f • ↑↑ψ) x‖ ≤ ‖(↑c • ↑↑ψ) x‖
simp only [smul_eq_mul, norm_mul, Pi.smul_apply, Pi.smul_apply'] d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μc:ℝhfc:∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ cψ:↥(SpaceDHilbertSpace d μ)x:Space dh:‖f x‖ ≤ c⊢ ‖f x‖ * ‖↑↑ψ x‖ ≤ ‖↑c‖ * ‖↑↑ψ x‖
exact mul_le_mul_of_nonneg_right (h.trans <| by d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μc:ℝhfc:∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ cψ:↥(SpaceDHilbertSpace d μ)x:Space dh:‖f x‖ ≤ c⊢ c ≤ ‖↑c‖ simp [le_abs_self] All goals completed! 🐙) (norm_nonneg _)The domains of multiplication operators shrink with increasing function norm.
lemma mulOperator_domain_antitone {μ : Measure (Space d)}
{f g : Space d → ℂ} (hg : AEStronglyMeasurable g μ) (h : ∀ᵐ x ∂μ, ‖g x‖ ≤ ‖f x‖) :
(𝓜 μ f).domain ≤ (𝓜 μ g).domain := by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhg:AEStronglyMeasurable g μh:∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ ‖f x‖⊢ (𝓜 μ f).domain ≤ (𝓜 μ g).domain
intro ψ hψ d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhg:AEStronglyMeasurable g μh:∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ ‖f x‖ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ f).domain⊢ ψ ∈ (𝓜 μ g).domain
refine hψ.mono (by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhg:AEStronglyMeasurable g μh:∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ ‖f x‖ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ f).domain⊢ AEStronglyMeasurable (g • ↑↑ψ) μ fun_prop All goals completed! 🐙) ?_
filter_upwards [h] d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhg:AEStronglyMeasurable g μh:∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ ‖f x‖ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ f).domain⊢ ∀ (a : Space d), ‖g a‖ ≤ ‖f a‖ → ‖(g • ↑↑ψ) a‖ ≤ ‖(f • ↑↑ψ) a‖
simp_all [mul_le_mul_of_nonneg_right] All goals completed! 🐙
The multiplication operators corresponding to functions
of μ-a.e. equal norm have the same domain.
lemma mulOperator_domain_eq_of_congr_norm {μ : Measure (Space d)} {f g : Space d → ℂ}
(hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ) (h : ∀ᵐ x ∂μ, ‖f x‖ = ‖g x‖) :
(𝓜 μ f).domain = (𝓜 μ g).domain := by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μh:∀ᵐ (x : Space d) ∂μ, ‖f x‖ = ‖g x‖⊢ (𝓜 μ f).domain = (𝓜 μ g).domain
ext ψ d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μh:∀ᵐ (x : Space d) ∂μ, ‖f x‖ = ‖g x‖ψ:↥(SpaceDHilbertSpace d μ)⊢ ψ ∈ (𝓜 μ f).domain ↔ ψ ∈ (𝓜 μ g).domain
refine memHS_congr_norm (by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μh:∀ᵐ (x : Space d) ∂μ, ‖f x‖ = ‖g x‖ψ:↥(SpaceDHilbertSpace d μ)⊢ AEStronglyMeasurable (f • ↑↑ψ) μ fun_prop All goals completed! 🐙) (by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μh:∀ᵐ (x : Space d) ∂μ, ‖f x‖ = ‖g x‖ψ:↥(SpaceDHilbertSpace d μ)⊢ AEStronglyMeasurable (g • ↑↑ψ) μ fun_prop All goals completed! 🐙) ?_
filter_upwards [h] d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μh:∀ᵐ (x : Space d) ∂μ, ‖f x‖ = ‖g x‖ψ:↥(SpaceDHilbertSpace d μ)⊢ ∀ (a : Space d), ‖f a‖ = ‖g a‖ → ‖(f • ↑↑ψ) a‖ = ‖(g • ↑↑ψ) a‖
simp_all All goals completed! 🐙The multiplication operators corresponding to a function and its conjugate have the same domain.
lemma mulOperator_conj_domain
{μ : Measure (Space d)} {f : Space d → ℂ} (hf : AEStronglyMeasurable f μ) :
(𝓜 μ (conj ∘ f)).domain = (𝓜 μ f).domain :=
mulOperator_domain_eq_of_congr_norm (by d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μ⊢ AEStronglyMeasurable (⇑(starRingEnd ℂ) ∘ f) μ fun_prop All goals completed! 🐙) hf (by d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μ⊢ ∀ᵐ (x : Space d) ∂μ, ‖(⇑(starRingEnd ℂ) ∘ f) x‖ = ‖f x‖ simp All goals completed! 🐙)
The multiplication operator corresponding to a μ-a.e. strongly measurable function
is densely defined.
lemma mulOperator_hasDenseDomain
{μ : Measure (Space d)} {f : Space d → ℂ} (hf : AEStronglyMeasurable f μ) :
(𝓜 μ f).HasDenseDomain := by d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μ⊢ (𝓜 μ f).HasDenseDomain
intro ψ d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)⊢ ψ ∈ _root_.closure ↑(𝓜 μ f).domain
apply mem_closure_iff_seq_limit.mpr d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)⊢ ∃ x, (∀ (n : ℕ), x n ∈ ↑(𝓜 μ f).domain) ∧ Tendsto x atTop (nhds ψ)
obtain ⟨u, hu, hfu⟩ := hf.aemeasurable d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] u⊢ ∃ x, (∀ (n : ℕ), x n ∈ ↑(𝓜 μ f).domain) ∧ Tendsto x atTop (nhds ψ)
let s : ℕ → Set (Space d) := fun n ↦ u ⁻¹' (Metric.closedBall 0 n) d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑n⊢ ∃ x, (∀ (n : ℕ), x n ∈ ↑(𝓜 μ f).domain) ∧ Tendsto x atTop (nhds ψ)
let φ : ℕ → SpaceDHilbertSpace d μ := fun n ↦
mk ((memHS_coe ψ).indicator (Ω := s n) (by d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nn:ℕ⊢ MeasurableSet (s n) d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯⊢ ∃ x, (∀ (n : ℕ), x n ∈ ↑(𝓜 μ f).domain) ∧ Tendsto x atTop (nhds ψ) measurability All goals completed! 🐙 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯⊢ ∃ x, (∀ (n : ℕ), x n ∈ ↑(𝓜 μ f).domain) ∧ Tendsto x atTop (nhds ψ))) d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯⊢ ∃ x, (∀ (n : ℕ), x n ∈ ↑(𝓜 μ f).domain) ∧ Tendsto x atTop (nhds ψ)
have hφ : ∀ n, φ n =ᵐ[μ] (s n).indicator ψ := fun n ↦ coeFn_mk _ d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψ⊢ ∃ x, (∀ (n : ℕ), x n ∈ ↑(𝓜 μ f).domain) ∧ Tendsto x atTop (nhds ψ)
use φ h d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψ⊢ (∀ (n : ℕ), φ n ∈ ↑(𝓜 μ f).domain) ∧ Tendsto φ atTop (nhds ψ)
constructor h.left d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψ⊢ ∀ (n : ℕ), φ n ∈ ↑(𝓜 μ f).domainh.right d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψ⊢ Tendsto φ atTop (nhds ψ)
· h.left d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψ⊢ ∀ (n : ℕ), φ n ∈ ↑(𝓜 μ f).domain intro n h.left d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕ⊢ φ n ∈ ↑(𝓜 μ f).domain
refine memHS_iff.mpr ⟨by d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕ⊢ AEStronglyMeasurable (f • ↑↑(φ n)) μ measurability All goals completed! 🐙, by d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕ⊢ AEStronglyMeasurable (fun x => ‖(f • ↑↑(φ n)) x‖ ^ 2) μ measurability All goals completed! 🐙, ?_⟩
refine HasFiniteIntegral.mono (memHS_iff.mp <| memHS_coe (n • φ n)).2.2 ?_ h.left d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕ⊢ ∀ᵐ (a : Space d) ∂μ, ‖‖(f • ↑↑(φ n)) a‖ ^ 2‖ ≤ ‖‖↑↑(n • φ n) a‖ ^ 2‖
filter_upwards [hfu, coeFn_smul n (φ n), hφ n] with x h₁ d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:f x = u x⊢ ↑↑(↑n • φ n) x = (↑n • ↑↑(φ n)) x →
↑↑(φ n) x = (s n).indicator (↑↑ψ) x → ‖‖(f • ↑↑(φ n)) x‖ ^ 2‖ ≤ ‖‖↑↑(n • φ n) x‖ ^ 2‖ h₂ d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:f x = u xh₂:↑↑(↑n • φ n) x = (↑n • ↑↑(φ n)) x⊢ ↑↑(φ n) x = (s n).indicator (↑↑ψ) x → ‖‖(f • ↑↑(φ n)) x‖ ^ 2‖ ≤ ‖‖↑↑(n • φ n) x‖ ^ 2‖ h₃ d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:f x = u xh₂:↑↑(↑n • φ n) x = (↑n • ↑↑(φ n)) xh₃:↑↑(φ n) x = (s n).indicator (↑↑ψ) x⊢ ‖‖(f • ↑↑(φ n)) x‖ ^ 2‖ ≤ ‖‖↑↑(n • φ n) x‖ ^ 2‖
by_cases hx : x ∈ s n pos d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:f x = u xh₂:↑↑(↑n • φ n) x = (↑n • ↑↑(φ n)) xh₃:↑↑(φ n) x = (s n).indicator (↑↑ψ) xhx:x ∈ s n⊢ ‖‖(f • ↑↑(φ n)) x‖ ^ 2‖ ≤ ‖‖↑↑(n • φ n) x‖ ^ 2‖neg d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:f x = u xh₂:↑↑(↑n • φ n) x = (↑n • ↑↑(φ n)) xh₃:↑↑(φ n) x = (s n).indicator (↑↑ψ) xhx:x ∉ s n⊢ ‖‖(f • ↑↑(φ n)) x‖ ^ 2‖ ≤ ‖‖↑↑(n • φ n) x‖ ^ 2‖
· pos d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:f x = u xh₂:↑↑(↑n • φ n) x = (↑n • ↑↑(φ n)) xh₃:↑↑(φ n) x = (s n).indicator (↑↑ψ) xhx:x ∈ s n⊢ ‖‖(f • ↑↑(φ n)) x‖ ^ 2‖ ≤ ‖‖↑↑(n • φ n) x‖ ^ 2‖ simp_rw [ pos d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:f x = u xh₂:↑↑(↑n • φ n) x = (↑n • ↑↑(φ n)) xh₃:↑↑(φ n) x = (s n).indicator (↑↑ψ) xhx:x ∈ s n⊢ ‖‖(f • ↑↑(φ n)) x‖ ^ 2‖ ≤ ‖‖↑↑(n • φ n) x‖ ^ 2‖norm_pow, pos d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:f x = u xh₂:↑↑(↑n • φ n) x = (↑n • ↑↑(φ n)) xh₃:↑↑(φ n) x = (s n).indicator (↑↑ψ) xhx:x ∈ s n⊢ ‖‖(f • ↑↑(φ n)) x‖‖ ^ 2 ≤ ‖‖↑↑(n • φ n) x‖‖ ^ 2 norm_norm, pos d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:f x = u xh₂:↑↑(↑n • φ n) x = (↑n • ↑↑(φ n)) xh₃:↑↑(φ n) x = (s n).indicator (↑↑ψ) xhx:x ∈ s n⊢ ‖(f • ↑↑(φ n)) x‖ ^ 2 ≤ ‖↑↑(n • φ n) x‖ ^ 2 sq_le_sq, pos d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:f x = u xh₂:↑↑(↑n • φ n) x = (↑n • ↑↑(φ n)) xh₃:↑↑(φ n) x = (s n).indicator (↑↑ψ) xhx:x ∈ s n⊢ |‖(f • ↑↑(φ n)) x‖| ≤ |‖↑↑(n • φ n) x‖| abs_norm pos d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:f x = u xh₂:↑↑(↑n • φ n) x = (↑n • ↑↑(φ n)) xh₃:↑↑(φ n) x = (s n).indicator (↑↑ψ) xhx:x ∈ s n⊢ ‖(f • ↑↑(φ n)) x‖ ≤ ‖↑↑(n • φ n) x‖]
calc
_ = ‖u x‖ * ‖φ n x‖ := by d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:f x = u xh₂:↑↑(↑n • φ n) x = (↑n • ↑↑(φ n)) xh₃:↑↑(φ n) x = (s n).indicator (↑↑ψ) xhx:x ∈ s n⊢ ‖(f • ↑↑(φ n)) x‖ = ‖u x‖ * ‖↑↑(φ n) x‖ simp [h₁] All goals completed! 🐙
_ ≤ n * ‖φ n x‖ := mul_le_mul_of_nonneg_right (by d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:f x = u xh₂:↑↑(↑n • φ n) x = (↑n • ↑↑(φ n)) xh₃:↑↑(φ n) x = (s n).indicator (↑↑ψ) xhx:x ∈ s n⊢ ‖u x‖ ≤ ↑n simp_all [s] All goals completed! 🐙) (norm_nonneg _)
_ = ‖(n • φ n) x‖ := by d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:f x = u xh₂:↑↑(↑n • φ n) x = (↑n • ↑↑(φ n)) xh₃:↑↑(φ n) x = (s n).indicator (↑↑ψ) xhx:x ∈ s n⊢ ↑n * ‖↑↑(φ n) x‖ = ‖↑↑(n • φ n) x‖ simp [h₂, ← Nat.cast_smul_eq_nsmul ℂ] All goals completed! 🐙
· neg d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:f x = u xh₂:↑↑(↑n • φ n) x = (↑n • ↑↑(φ n)) xh₃:↑↑(φ n) x = (s n).indicator (↑↑ψ) xhx:x ∉ s n⊢ ‖‖(f • ↑↑(φ n)) x‖ ^ 2‖ ≤ ‖‖↑↑(n • φ n) x‖ ^ 2‖ simp [h₃, hx] All goals completed! 🐙
· h.right d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψ⊢ Tendsto φ atTop (nhds ψ) apply tendsto_sub_nhds_zero_iff.mp h.right d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψ⊢ Tendsto (fun x => φ x - ψ) atTop (nhds 0)
apply tendsto_zero_iff_tendsto_zero_lintegral_enorm_sq.mpr h.right d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψ⊢ Tendsto (fun a => ∫⁻ (x : Space d), ‖↑↑(φ a - ψ) x‖ₑ ^ 2 ∂μ) atTop (nhds 0)
have h : ∀ n, ∫⁻ x, ‖(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ x, ‖(s n)ᶜ.indicator ψ x‖ₑ ^ 2 ∂μ := by d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μ⊢ (𝓜 μ f).HasDenseDomain h.right d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ Tendsto (fun a => ∫⁻ (x : Space d), ‖↑↑(φ a - ψ) x‖ₑ ^ 2 ∂μ) atTop (nhds 0)
intro n d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕ⊢ ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μh.right d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ Tendsto (fun a => ∫⁻ (x : Space d), ‖↑↑(φ a - ψ) x‖ₑ ^ 2 ∂μ) atTop (nhds 0)
refine lintegral_congr_ae ?_ d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕ⊢ (fun x => ‖↑↑(φ n - ψ) x‖ₑ ^ 2) =ᵐ[μ] fun x => ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2h.right d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ Tendsto (fun a => ∫⁻ (x : Space d), ‖↑↑(φ a - ψ) x‖ₑ ^ 2 ∂μ) atTop (nhds 0)
filter_upwards [coeFn_sub (φ n) ψ, hφ n] with x h₁ d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:↑(↑(φ n) - ↑ψ) x = (↑↑(φ n) - ↑↑ψ) x⊢ ↑↑(φ n) x = (s n).indicator (↑↑ψ) x → ‖↑↑(φ n - ψ) x‖ₑ ^ 2 = ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2h.right d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ Tendsto (fun a => ∫⁻ (x : Space d), ‖↑↑(φ a - ψ) x‖ₑ ^ 2 ∂μ) atTop (nhds 0) h₂ d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:↑(↑(φ n) - ↑ψ) x = (↑↑(φ n) - ↑↑ψ) xh₂:↑↑(φ n) x = (s n).indicator (↑↑ψ) x⊢ ‖↑↑(φ n - ψ) x‖ₑ ^ 2 = ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2h.right d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ Tendsto (fun a => ∫⁻ (x : Space d), ‖↑↑(φ a - ψ) x‖ₑ ^ 2 ∂μ) atTop (nhds 0)
by_cases hx : x ∈ s n pos d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:↑(↑(φ n) - ↑ψ) x = (↑↑(φ n) - ↑↑ψ) xh₂:↑↑(φ n) x = (s n).indicator (↑↑ψ) xhx:x ∈ s n⊢ ‖↑↑(φ n - ψ) x‖ₑ ^ 2 = ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2neg d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:↑(↑(φ n) - ↑ψ) x = (↑↑(φ n) - ↑↑ψ) xh₂:↑↑(φ n) x = (s n).indicator (↑↑ψ) xhx:x ∉ s n⊢ ‖↑↑(φ n - ψ) x‖ₑ ^ 2 = ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2h.right d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ Tendsto (fun a => ∫⁻ (x : Space d), ‖↑↑(φ a - ψ) x‖ₑ ^ 2 ∂μ) atTop (nhds 0) <;> pos d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:↑(↑(φ n) - ↑ψ) x = (↑↑(φ n) - ↑↑ψ) xh₂:↑↑(φ n) x = (s n).indicator (↑↑ψ) xhx:x ∈ s n⊢ ‖↑↑(φ n - ψ) x‖ₑ ^ 2 = ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2neg d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψn:ℕx:Space dh₁:↑(↑(φ n) - ↑ψ) x = (↑↑(φ n) - ↑↑ψ) xh₂:↑↑(φ n) x = (s n).indicator (↑↑ψ) xhx:x ∉ s n⊢ ‖↑↑(φ n - ψ) x‖ₑ ^ 2 = ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2h.right d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ Tendsto (fun a => ∫⁻ (x : Space d), ‖↑↑(φ a - ψ) x‖ₑ ^ 2 ∂μ) atTop (nhds 0) simp [hx, h₁, h₂]h.right d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ Tendsto (fun a => ∫⁻ (x : Space d), ‖↑↑(φ a - ψ) x‖ₑ ^ 2 ∂μ) atTop (nhds 0)h.right d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ Tendsto (fun a => ∫⁻ (x : Space d), ‖↑↑(φ a - ψ) x‖ₑ ^ 2 ∂μ) atTop (nhds 0)
simp_rw [ h.right d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ Tendsto (fun a => ∫⁻ (x : Space d), ‖↑↑(φ a - ψ) x‖ₑ ^ 2 ∂μ) atTop (nhds 0)h h.right d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ Tendsto (fun a => ∫⁻ (x : Space d), ‖(s a)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ) atTop (nhds 0)]
rw [← MeasureTheory.lintegral_zero (α := Space d) (μ := μ) h.right d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ Tendsto (fun a => ∫⁻ (x : Space d), ‖(s a)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ) atTop (nhds (∫⁻ (x : Space d), 0 ∂μ)) h.right d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ Tendsto (fun a => ∫⁻ (x : Space d), ‖(s a)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ) atTop (nhds (∫⁻ (x : Space d), 0 ∂μ))]h.right d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ Tendsto (fun a => ∫⁻ (x : Space d), ‖(s a)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ) atTop (nhds (∫⁻ (x : Space d), 0 ∂μ))
refine tendsto_lintegral_of_dominated_convergence' (fun x ↦ ‖ψ x‖ₑ ^ 2) ?_ ?_ ?_ ?_ h.right.refine_1 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ ∀ (n : ℕ), AEMeasurable (fun x => ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2) μh.right.refine_2 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ ∀ (n : ℕ), (fun x => ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2) ≤ᵐ[μ] fun x => ‖↑↑ψ x‖ₑ ^ 2h.right.refine_3 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ ∫⁻ (a : Space d), ‖↑↑ψ a‖ₑ ^ 2 ∂μ ≠ ⊤h.right.refine_4 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ ∀ᵐ (a : Space d) ∂μ, Tendsto (fun n => ‖(s n)ᶜ.indicator (↑↑ψ) a‖ₑ ^ 2) atTop (nhds 0)
· h.right.refine_1 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ ∀ (n : ℕ), AEMeasurable (fun x => ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2) μ measurability All goals completed! 🐙
· h.right.refine_2 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ ∀ (n : ℕ), (fun x => ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2) ≤ᵐ[μ] fun x => ‖↑↑ψ x‖ₑ ^ 2 intro n h.right.refine_2 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μn:ℕ⊢ (fun x => ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2) ≤ᵐ[μ] fun x => ‖↑↑ψ x‖ₑ ^ 2
filter_upwards with x h.right.refine_2 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μn:ℕx:Space d⊢ ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ≤ ‖↑↑ψ x‖ₑ ^ 2
by_cases hx : x ∈ s n pos d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μn:ℕx:Space dhx:x ∈ s n⊢ ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ≤ ‖↑↑ψ x‖ₑ ^ 2neg d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μn:ℕx:Space dhx:x ∉ s n⊢ ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ≤ ‖↑↑ψ x‖ₑ ^ 2 <;> pos d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μn:ℕx:Space dhx:x ∈ s n⊢ ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ≤ ‖↑↑ψ x‖ₑ ^ 2neg d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μn:ℕx:Space dhx:x ∉ s n⊢ ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ≤ ‖↑↑ψ x‖ₑ ^ 2 simp [hx] All goals completed! 🐙
· h.right.refine_3 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ ∫⁻ (a : Space d), ‖↑↑ψ a‖ₑ ^ 2 ∂μ ≠ ⊤ have : ∫⁻ x, ‖‖ψ x‖ ^ 2‖ₑ ∂μ ≠ ⊤ := (memHS_iff.mp <| memHS_coe ψ).2.2.ne h.right.refine_3 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μthis:∫⁻ (x : Space d), ‖‖↑↑ψ x‖ ^ 2‖ₑ ∂μ ≠ ⊤⊢ ∫⁻ (a : Space d), ‖↑↑ψ a‖ₑ ^ 2 ∂μ ≠ ⊤
simp_all All goals completed! 🐙
· h.right.refine_4 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μ⊢ ∀ᵐ (a : Space d) ∂μ, Tendsto (fun n => ‖(s n)ᶜ.indicator (↑↑ψ) a‖ₑ ^ 2) atTop (nhds 0) filter_upwards with x h.right.refine_4 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μx:Space d⊢ Tendsto (fun n => ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2) atTop (nhds 0)
rw [← zero_pow two_ne_zero, h.right.refine_4 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μx:Space d⊢ Tendsto (fun n => ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2) atTop (nhds (0 ^ 2)) h.right.refine_4 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μx:Space d⊢ Tendsto (fun n => ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2) atTop (nhds (‖0‖ₑ ^ 2)) ← enorm_zero (E := ℂ) h.right.refine_4 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μx:Space d⊢ Tendsto (fun n => ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2) atTop (nhds (‖0‖ₑ ^ 2))h.right.refine_4 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μx:Space d⊢ Tendsto (fun n => ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2) atTop (nhds (‖0‖ₑ ^ 2))]h.right.refine_4 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μx:Space d⊢ Tendsto (fun n => ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2) atTop (nhds (‖0‖ₑ ^ 2))
refine ENNReal.Tendsto.pow (Tendsto.enorm (tendsto_nhds_of_eventually_eq ?_)) h.right.refine_4 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μx:Space d⊢ ∀ᶠ (x' : ℕ) in atTop, (s x')ᶜ.indicator (↑↑ψ) x = 0
refine eventually_atTop.mpr ⟨⌈‖u x‖⌉₊, fun n hn ↦ ?_⟩ h.right.refine_4 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μx:Space dn:ℕhn:⌈‖u x‖⌉₊ ≤ n⊢ (s n)ᶜ.indicator (↑↑ψ) x = 0
suffices ‖u x‖ ≤ n by d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μx:Space dn:ℕhn:⌈‖u x‖⌉₊ ≤ nthis:‖u x‖ ≤ ↑n⊢ (s n)ᶜ.indicator (↑↑ψ) x = 0 h.right.refine_4 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μx:Space dn:ℕhn:⌈‖u x‖⌉₊ ≤ n⊢ ‖u x‖ ≤ ↑n simp [s, this]h.right.refine_4 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μx:Space dn:ℕhn:⌈‖u x‖⌉₊ ≤ n⊢ ‖u x‖ ≤ ↑nh.right.refine_4 d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μx:Space dn:ℕhn:⌈‖u x‖⌉₊ ≤ n⊢ ‖u x‖ ≤ ↑n
exact (Nat.le_ceil _).trans (by d:ℕμ:Measure (Space d)f:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(SpaceDHilbertSpace d μ)u:Space d → ℂhu:Measurable uhfu:f =ᵐ[μ] us:ℕ → Set (Space d) := fun n => u ⁻¹' Metric.closedBall 0 ↑nφ:ℕ → ↥(SpaceDHilbertSpace d μ) := fun n => mk ⋯hφ:∀ (n : ℕ), ↑↑(φ n) =ᵐ[μ] (s n).indicator ↑↑ψh:∀ (n : ℕ), ∫⁻ (x : Space d), ‖↑↑(φ n - ψ) x‖ₑ ^ 2 ∂μ = ∫⁻ (x : Space d), ‖(s n)ᶜ.indicator (↑↑ψ) x‖ₑ ^ 2 ∂μx:Space dn:ℕhn:⌈‖u x‖⌉₊ ≤ n⊢ ↑⌈‖u x‖⌉₊ ≤ ↑n exact_mod_cast hn All goals completed! 🐙)C. Adjoint
private lemma exists_monotone_sets_hasFiniteIntegral
{μ : Measure (Space d)} [IsFiniteMeasureOnCompacts μ]
(f g : Space d → ℂ) (hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ) :
∃ s : ℕ → Set (Space d), Monotone s ∧ ⋃ n, s n = Set.univ ∧ (∀ n, MeasurableSet (s n))
∧ ∀ k, k = 1 ∨ k = 2 →
∀ n, HasFiniteIntegral (fun x ↦ ‖f x ^ k * g x‖ ^ 2) (μ.restrict (s n)) := by d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μ⊢ ∃ s,
Monotone s ∧
⋃ n, s n = Set.univ ∧
(∀ (n : ℕ), MeasurableSet (s n)) ∧
∀ (k : ℕ), k = 1 ∨ k = 2 → ∀ (n : ℕ), HasFiniteIntegral (fun x => ‖f x ^ k * g x‖ ^ 2) (μ.restrict (s n))
obtain ⟨w₁, hw₁, hw₁'⟩ : AEStronglyMeasurable (fun x ↦ f x * g x) μ := by d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μ⊢ AEStronglyMeasurable (fun x => f x * g x) μ d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁⊢ ∃ s,
Monotone s ∧
⋃ n, s n = Set.univ ∧
(∀ (n : ℕ), MeasurableSet (s n)) ∧
∀ (k : ℕ), k = 1 ∨ k = 2 → ∀ (n : ℕ), HasFiniteIntegral (fun x => ‖f x ^ k * g x‖ ^ 2) (μ.restrict (s n)) measurability d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁⊢ ∃ s,
Monotone s ∧
⋃ n, s n = Set.univ ∧
(∀ (n : ℕ), MeasurableSet (s n)) ∧
∀ (k : ℕ), k = 1 ∨ k = 2 → ∀ (n : ℕ), HasFiniteIntegral (fun x => ‖f x ^ k * g x‖ ^ 2) (μ.restrict (s n)) d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁⊢ ∃ s,
Monotone s ∧
⋃ n, s n = Set.univ ∧
(∀ (n : ℕ), MeasurableSet (s n)) ∧
∀ (k : ℕ), k = 1 ∨ k = 2 → ∀ (n : ℕ), HasFiniteIntegral (fun x => ‖f x ^ k * g x‖ ^ 2) (μ.restrict (s n))
obtain ⟨w₂, hw₂, hw₂'⟩ : AEStronglyMeasurable (fun x ↦ f x ^ 2 * g x) μ := by d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁⊢ AEStronglyMeasurable (fun x => f x ^ 2 * g x) μ d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂⊢ ∃ s,
Monotone s ∧
⋃ n, s n = Set.univ ∧
(∀ (n : ℕ), MeasurableSet (s n)) ∧
∀ (k : ℕ), k = 1 ∨ k = 2 → ∀ (n : ℕ), HasFiniteIntegral (fun x => ‖f x ^ k * g x‖ ^ 2) (μ.restrict (s n)) measurability d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂⊢ ∃ s,
Monotone s ∧
⋃ n, s n = Set.univ ∧
(∀ (n : ℕ), MeasurableSet (s n)) ∧
∀ (k : ℕ), k = 1 ∨ k = 2 → ∀ (n : ℕ), HasFiniteIntegral (fun x => ‖f x ^ k * g x‖ ^ 2) (μ.restrict (s n)) d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂⊢ ∃ s,
Monotone s ∧
⋃ n, s n = Set.univ ∧
(∀ (n : ℕ), MeasurableSet (s n)) ∧
∀ (k : ℕ), k = 1 ∨ k = 2 → ∀ (n : ℕ), HasFiniteIntegral (fun x => ‖f x ^ k * g x‖ ^ 2) (μ.restrict (s n))
let s : ℕ → Set (Space d) :=
fun n ↦ Metric.closedBall 0 n ∩ (w₁ ⁻¹' Metric.closedBall 0 n ∩ w₂ ⁻¹' Metric.closedBall 0 n) d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)⊢ ∃ s,
Monotone s ∧
⋃ n, s n = Set.univ ∧
(∀ (n : ℕ), MeasurableSet (s n)) ∧
∀ (k : ℕ), k = 1 ∨ k = 2 → ∀ (n : ℕ), HasFiniteIntegral (fun x => ‖f x ^ k * g x‖ ^ 2) (μ.restrict (s n))
refine ⟨s, ?_, ?_, by d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)⊢ ∀ (n : ℕ), MeasurableSet (s n) measurability All goals completed! 🐙, ?_⟩
· refine_1 d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)⊢ Monotone s exact fun _ _ hmn _ hx ↦
⟨Metric.closedBall_subset_closedBall (Nat.cast_le.mpr hmn) hx.1,
Metric.closedBall_subset_closedBall (Nat.cast_le.mpr hmn) hx.2.1,
Metric.closedBall_subset_closedBall (Nat.cast_le.mpr hmn) hx.2.2⟩ All goals completed! 🐙
· refine_2 d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)⊢ ⋃ n, s n = Set.univ ext x refine_2 d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)x:Space d⊢ x ∈ ⋃ n, s n ↔ x ∈ Set.univ
simp only [Set.mem_iUnion, Set.mem_univ, iff_true] refine_2 d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)x:Space d⊢ ∃ i, x ∈ s i
use max ⌈‖x‖⌉.toNat (max ⌈‖w₁ x‖⌉.toNat ⌈‖w₂ x‖⌉.toNat) h d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)x:Space d⊢ x ∈ s (max ⌈‖x‖⌉.toNat (max ⌈‖w₁ x‖⌉.toNat ⌈‖w₂ x‖⌉.toNat))
suffices ∀ r : ℝ, r ≤ ⌈r⌉.toNat by d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)x:Space dthis:∀ (r : ℝ), r ≤ ↑⌈r⌉.toNat⊢ x ∈ s (max ⌈‖x‖⌉.toNat (max ⌈‖w₁ x‖⌉.toNat ⌈‖w₂ x‖⌉.toNat)) h d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)x:Space d⊢ ∀ (r : ℝ), r ≤ ↑⌈r⌉.toNat simp [s, this]h d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)x:Space d⊢ ∀ (r : ℝ), r ≤ ↑⌈r⌉.toNath d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)x:Space d⊢ ∀ (r : ℝ), r ≤ ↑⌈r⌉.toNat
exact fun r ↦ (Int.le_ceil r).trans (by d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)x:Space dr:ℝ⊢ ↑⌈r⌉ ≤ ↑⌈r⌉.toNat exact_mod_cast Int.self_le_toNat _ All goals completed! 🐙)
· refine_3 d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)⊢ ∀ (k : ℕ), k = 1 ∨ k = 2 → ∀ (n : ℕ), HasFiniteIntegral (fun x => ‖f x ^ k * g x‖ ^ 2) (μ.restrict (s n)) intro k hk n refine_3 d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕhk:k = 1 ∨ k = 2n:ℕ⊢ HasFiniteIntegral (fun x => ‖f x ^ k * g x‖ ^ 2) (μ.restrict (s n))
refine lt_of_le_of_lt (b := ‖(n : ℝ) ^ 2‖ₑ * μ (s n)) ?_ ?_ refine_3.refine_1 d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕhk:k = 1 ∨ k = 2n:ℕ⊢ ∫⁻ (a : Space d) in s n, ‖(fun x => ‖f x ^ k * g x‖ ^ 2) a‖ₑ ∂μ ≤ ‖↑n ^ 2‖ₑ * μ (s n)refine_3.refine_2 d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕhk:k = 1 ∨ k = 2n:ℕ⊢ ‖↑n ^ 2‖ₑ * μ (s n) < ⊤
· refine_3.refine_1 d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕhk:k = 1 ∨ k = 2n:ℕ⊢ ∫⁻ (a : Space d) in s n, ‖(fun x => ‖f x ^ k * g x‖ ^ 2) a‖ₑ ∂μ ≤ ‖↑n ^ 2‖ₑ * μ (s n) rw [← setLIntegral_const refine_3.refine_1 d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕhk:k = 1 ∨ k = 2n:ℕ⊢ ∫⁻ (a : Space d) in s n, ‖(fun x => ‖f x ^ k * g x‖ ^ 2) a‖ₑ ∂μ ≤ ∫⁻ (x : Space d) in s n, ‖↑n ^ 2‖ₑ ∂μ refine_3.refine_1 d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕhk:k = 1 ∨ k = 2n:ℕ⊢ ∫⁻ (a : Space d) in s n, ‖(fun x => ‖f x ^ k * g x‖ ^ 2) a‖ₑ ∂μ ≤ ∫⁻ (x : Space d) in s n, ‖↑n ^ 2‖ₑ ∂μ]refine_3.refine_1 d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕhk:k = 1 ∨ k = 2n:ℕ⊢ ∫⁻ (a : Space d) in s n, ‖(fun x => ‖f x ^ k * g x‖ ^ 2) a‖ₑ ∂μ ≤ ∫⁻ (x : Space d) in s n, ‖↑n ^ 2‖ₑ ∂μ
refine setLIntegral_mono_ae' (by d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕhk:k = 1 ∨ k = 2n:ℕ⊢ MeasurableSet (s n) measurability All goals completed! 🐙) ?_
filter_upwards [hw₁', hw₂'] with x h₁ d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕhk:k = 1 ∨ k = 2n:ℕx:Space dh₁:f x * g x = w₁ x⊢ f x ^ 2 * g x = w₂ x → x ∈ s n → ‖‖f x ^ k * g x‖ ^ 2‖ₑ ≤ ‖↑n ^ 2‖ₑ h₂ d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕhk:k = 1 ∨ k = 2n:ℕx:Space dh₁:f x * g x = w₁ xh₂:f x ^ 2 * g x = w₂ x⊢ x ∈ s n → ‖‖f x ^ k * g x‖ ^ 2‖ₑ ≤ ‖↑n ^ 2‖ₑ ⟨h₃, h₃'⟩ d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕhk:k = 1 ∨ k = 2n:ℕx:Space dh₁:f x * g x = w₁ xh₂:f x ^ 2 * g x = w₂ xh₃:x ∈ Metric.closedBall 0 ↑nh₃':x ∈ w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n⊢ ‖‖f x ^ k * g x‖ ^ 2‖ₑ ≤ ‖↑n ^ 2‖ₑ
apply enorm_le_iff_norm_le.mpr d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕhk:k = 1 ∨ k = 2n:ℕx:Space dh₁:f x * g x = w₁ xh₂:f x ^ 2 * g x = w₂ xh₃:x ∈ Metric.closedBall 0 ↑nh₃':x ∈ w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n⊢ ‖‖f x ^ k * g x‖ ^ 2‖ ≤ ‖↑n ^ 2‖
simp_rw [ d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕhk:k = 1 ∨ k = 2n:ℕx:Space dh₁:f x * g x = w₁ xh₂:f x ^ 2 * g x = w₂ xh₃:x ∈ Metric.closedBall 0 ↑nh₃':x ∈ w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n⊢ ‖‖f x ^ k * g x‖ ^ 2‖ ≤ ‖↑n ^ 2‖norm_pow, d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕhk:k = 1 ∨ k = 2n:ℕx:Space dh₁:f x * g x = w₁ xh₂:f x ^ 2 * g x = w₂ xh₃:x ∈ Metric.closedBall 0 ↑nh₃':x ∈ w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n⊢ ‖‖f x ^ k * g x‖‖ ^ 2 ≤ ‖↑n‖ ^ 2 norm_norm, d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕhk:k = 1 ∨ k = 2n:ℕx:Space dh₁:f x * g x = w₁ xh₂:f x ^ 2 * g x = w₂ xh₃:x ∈ Metric.closedBall 0 ↑nh₃':x ∈ w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n⊢ ‖f x ^ k * g x‖ ^ 2 ≤ ‖↑n‖ ^ 2 RCLike.norm_natCast d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕhk:k = 1 ∨ k = 2n:ℕx:Space dh₁:f x * g x = w₁ xh₂:f x ^ 2 * g x = w₂ xh₃:x ∈ Metric.closedBall 0 ↑nh₃':x ∈ w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n⊢ ‖f x ^ k * g x‖ ^ 2 ≤ ↑n ^ 2]
refine pow_le_pow_left₀ (norm_nonneg _) ?_ 2 d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕhk:k = 1 ∨ k = 2n:ℕx:Space dh₁:f x * g x = w₁ xh₂:f x ^ 2 * g x = w₂ xh₃:x ∈ Metric.closedBall 0 ↑nh₃':x ∈ w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n⊢ ‖f x ^ k * g x‖ ≤ ↑n
rcases hk inl d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕn:ℕx:Space dh₁:f x * g x = w₁ xh₂:f x ^ 2 * g x = w₂ xh₃:x ∈ Metric.closedBall 0 ↑nh₃':x ∈ w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑nh✝:k = 1⊢ ‖f x ^ k * g x‖ ≤ ↑ninr d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕn:ℕx:Space dh₁:f x * g x = w₁ xh₂:f x ^ 2 * g x = w₂ xh₃:x ∈ Metric.closedBall 0 ↑nh₃':x ∈ w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑nh✝:k = 2⊢ ‖f x ^ k * g x‖ ≤ ↑n <;> inl d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕn:ℕx:Space dh₁:f x * g x = w₁ xh₂:f x ^ 2 * g x = w₂ xh₃:x ∈ Metric.closedBall 0 ↑nh₃':x ∈ w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑nh✝:k = 1⊢ ‖f x ^ k * g x‖ ≤ ↑ninr d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕn:ℕx:Space dh₁:f x * g x = w₁ xh₂:f x ^ 2 * g x = w₂ xh₃:x ∈ Metric.closedBall 0 ↑nh₃':x ∈ w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑nh✝:k = 2⊢ ‖f x ^ k * g x‖ ≤ ↑n simp_all All goals completed! 🐙
· refine_3.refine_2 d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕhk:k = 1 ∨ k = 2n:ℕ⊢ ‖↑n ^ 2‖ₑ * μ (s n) < ⊤ refine ENNReal.mul_lt_top (by d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μw₁:Space d → ℂhw₁:StronglyMeasurable w₁hw₁':(fun x => f x * g x) =ᵐ[μ] w₁w₂:Space d → ℂhw₂:StronglyMeasurable w₂hw₂':(fun x => f x ^ 2 * g x) =ᵐ[μ] w₂s:ℕ → Set (Space d) := fun n => Metric.closedBall 0 ↑n ∩ (w₁ ⁻¹' Metric.closedBall 0 ↑n ∩ w₂ ⁻¹' Metric.closedBall 0 ↑n)k:ℕhk:k = 1 ∨ k = 2n:ℕ⊢ ‖↑n ^ 2‖ₑ < ⊤ norm_num All goals completed! 🐙) ?_
exact measure_inter_lt_top_of_left_ne_top measure_closedBall_lt_top.ne All goals completed! 🐙The adjoint of a multiplication operator is again a multiplication operator.
lemma mulOperator_adjoint_eq_conj {μ : Measure (Space d)} [IsFiniteMeasureOnCompacts μ]
{f : Space d → ℂ} (hf : AEStronglyMeasurable f μ) :
(𝓜 μ f)† = 𝓜 μ (conj ∘ f) := by d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μ⊢ (𝓜 μ f)† = 𝓜 μ (⇑(starRingEnd ℂ) ∘ f)
have hFA : (𝓜 μ f).IsFormalAdjoint (𝓜 μ (conj ∘ f)) := by
intro ψ φ d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(𝓜 μ f).domainφ:↥(𝓜 μ (⇑(starRingEnd ℂ) ∘ f)).domain⊢ inner ℂ (↑(𝓜 μ f) ψ) ↑φ = inner ℂ (↑ψ) (↑(𝓜 μ (⇑(starRingEnd ℂ) ∘ f)) φ) d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μhFA:(𝓜 μ f).IsFormalAdjoint (𝓜 μ (⇑(starRingEnd ℂ) ∘ f))⊢ (𝓜 μ f)† = 𝓜 μ (⇑(starRingEnd ℂ) ∘ f)
refine integral_congr_ae ?_ d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(𝓜 μ f).domainφ:↥(𝓜 μ (⇑(starRingEnd ℂ) ∘ f)).domain⊢ (fun a => inner ℂ (↑↑(↑(𝓜 μ f) ψ) a) (↑↑↑φ a)) =ᵐ[μ] fun a => inner ℂ (↑↑↑ψ a) (↑↑(↑(𝓜 μ (⇑(starRingEnd ℂ) ∘ f)) φ) a) d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μhFA:(𝓜 μ f).IsFormalAdjoint (𝓜 μ (⇑(starRingEnd ℂ) ∘ f))⊢ (𝓜 μ f)† = 𝓜 μ (⇑(starRingEnd ℂ) ∘ f)
filter_upwards [mulOperator_apply_ae ψ, mulOperator_apply_ae φ] with x h₁ d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(𝓜 μ f).domainφ:↥(𝓜 μ (⇑(starRingEnd ℂ) ∘ f)).domainx:Space dh₁:↑↑(↑(𝓜 μ f) ψ) x = (f • ↑↑↑ψ) x⊢ ↑↑(↑(𝓜 μ (⇑(starRingEnd ℂ) ∘ f)) φ) x = (⇑(starRingEnd ℂ) ∘ f • ↑↑↑φ) x →
inner ℂ (↑↑(↑(𝓜 μ f) ψ) x) (↑↑↑φ x) = inner ℂ (↑↑↑ψ x) (↑↑(↑(𝓜 μ (⇑(starRingEnd ℂ) ∘ f)) φ) x) d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μhFA:(𝓜 μ f).IsFormalAdjoint (𝓜 μ (⇑(starRingEnd ℂ) ∘ f))⊢ (𝓜 μ f)† = 𝓜 μ (⇑(starRingEnd ℂ) ∘ f) h₂ d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μψ:↥(𝓜 μ f).domainφ:↥(𝓜 μ (⇑(starRingEnd ℂ) ∘ f)).domainx:Space dh₁:↑↑(↑(𝓜 μ f) ψ) x = (f • ↑↑↑ψ) xh₂:↑↑(↑(𝓜 μ (⇑(starRingEnd ℂ) ∘ f)) φ) x = (⇑(starRingEnd ℂ) ∘ f • ↑↑↑φ) x⊢ inner ℂ (↑↑(↑(𝓜 μ f) ψ) x) (↑↑↑φ x) = inner ℂ (↑↑↑ψ x) (↑↑(↑(𝓜 μ (⇑(starRingEnd ℂ) ∘ f)) φ) x) d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μhFA:(𝓜 μ f).IsFormalAdjoint (𝓜 μ (⇑(starRingEnd ℂ) ∘ f))⊢ (𝓜 μ f)† = 𝓜 μ (⇑(starRingEnd ℂ) ∘ f)
simp [h₁, h₂, mul_assoc, mul_left_comm] d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μhFA:(𝓜 μ f).IsFormalAdjoint (𝓜 μ (⇑(starRingEnd ℂ) ∘ f))⊢ (𝓜 μ f)† = 𝓜 μ (⇑(starRingEnd ℂ) ∘ f) d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μhFA:(𝓜 μ f).IsFormalAdjoint (𝓜 μ (⇑(starRingEnd ℂ) ∘ f))⊢ (𝓜 μ f)† = 𝓜 μ (⇑(starRingEnd ℂ) ∘ f)
refine eq_of_le_of_ge ?_ (hFA.le_adjoint <| mulOperator_hasDenseDomain hf) d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μhFA:(𝓜 μ f).IsFormalAdjoint (𝓜 μ (⇑(starRingEnd ℂ) ∘ f))⊢ (𝓜 μ f)† ≤ 𝓜 μ (⇑(starRingEnd ℂ) ∘ f)
refine ⟨mulOperator_adjoint_domain_le hf, fun ψ ψ' hψ ↦ ?_⟩ d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μhFA:(𝓜 μ f).IsFormalAdjoint (𝓜 μ (⇑(starRingEnd ℂ) ∘ f))ψ:↥(𝓜 μ f)†.domainψ':↥(𝓜 μ (⇑(starRingEnd ℂ) ∘ f)).domainhψ:↑ψ = ↑ψ'⊢ ↑(𝓜 μ f)† ψ = ↑(𝓜 μ (⇑(starRingEnd ℂ) ∘ f)) ψ'
refine adjoint_apply_eq (mulOperator_hasDenseDomain hf) ψ fun φ ↦ ?_ d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μhFA:(𝓜 μ f).IsFormalAdjoint (𝓜 μ (⇑(starRingEnd ℂ) ∘ f))ψ:↥(𝓜 μ f)†.domainψ':↥(𝓜 μ (⇑(starRingEnd ℂ) ∘ f)).domainhψ:↑ψ = ↑ψ'φ:↥(𝓜 μ f).domain⊢ inner ℂ (↑(𝓜 μ (⇑(starRingEnd ℂ) ∘ f)) ψ') ↑φ = inner ℂ (↑ψ) (↑(𝓜 μ f) φ)
rw [← inner_conj_symm, d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μhFA:(𝓜 μ f).IsFormalAdjoint (𝓜 μ (⇑(starRingEnd ℂ) ∘ f))ψ:↥(𝓜 μ f)†.domainψ':↥(𝓜 μ (⇑(starRingEnd ℂ) ∘ f)).domainhψ:↑ψ = ↑ψ'φ:↥(𝓜 μ f).domain⊢ (starRingEnd ℂ) (inner ℂ (↑φ) (↑(𝓜 μ (⇑(starRingEnd ℂ) ∘ f)) ψ')) = inner ℂ (↑ψ) (↑(𝓜 μ f) φ) All goals completed! 🐙 hψ, d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μhFA:(𝓜 μ f).IsFormalAdjoint (𝓜 μ (⇑(starRingEnd ℂ) ∘ f))ψ:↥(𝓜 μ f)†.domainψ':↥(𝓜 μ (⇑(starRingEnd ℂ) ∘ f)).domainhψ:↑ψ = ↑ψ'φ:↥(𝓜 μ f).domain⊢ (starRingEnd ℂ) (inner ℂ (↑φ) (↑(𝓜 μ (⇑(starRingEnd ℂ) ∘ f)) ψ')) = inner ℂ (↑ψ') (↑(𝓜 μ f) φ) All goals completed! 🐙 (hFA φ ψ').symm, d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μhFA:(𝓜 μ f).IsFormalAdjoint (𝓜 μ (⇑(starRingEnd ℂ) ∘ f))ψ:↥(𝓜 μ f)†.domainψ':↥(𝓜 μ (⇑(starRingEnd ℂ) ∘ f)).domainhψ:↑ψ = ↑ψ'φ:↥(𝓜 μ f).domain⊢ (starRingEnd ℂ) (inner ℂ (↑(𝓜 μ f) φ) ↑ψ') = inner ℂ (↑ψ') (↑(𝓜 μ f) φ) All goals completed! 🐙 inner_conj_symm d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μhFA:(𝓜 μ f).IsFormalAdjoint (𝓜 μ (⇑(starRingEnd ℂ) ∘ f))ψ:↥(𝓜 μ f)†.domainψ':↥(𝓜 μ (⇑(starRingEnd ℂ) ∘ f)).domainhψ:↑ψ = ↑ψ'φ:↥(𝓜 μ f).domain⊢ inner ℂ (↑ψ') (↑(𝓜 μ f) φ) = inner ℂ (↑ψ') (↑(𝓜 μ f) φ) All goals completed! 🐙] All goals completed! 🐙C.1. Self-adjoint
The multiplication operator corresponding to a real function is self-adjoint.
lemma mulOperator_isSelfAdjoint_ofReal {μ : Measure (Space d)} [IsFiniteMeasureOnCompacts μ]
{f : Space d → ℂ} (hf : AEStronglyMeasurable f μ) (hf' : conj ∘ f = f) :
IsSelfAdjoint (𝓜 μ f) := by d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μhf':⇑(starRingEnd ℂ) ∘ f = f⊢ IsSelfAdjoint (𝓜 μ f)
rw [isSelfAdjoint_def, d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μhf':⇑(starRingEnd ℂ) ∘ f = f⊢ (𝓜 μ f)† = 𝓜 μ f All goals completed! 🐙 mulOperator_adjoint_eq_conj hf, d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μhf':⇑(starRingEnd ℂ) ∘ f = f⊢ 𝓜 μ (⇑(starRingEnd ℂ) ∘ f) = 𝓜 μ f All goals completed! 🐙 hf' d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μhf':⇑(starRingEnd ℂ) ∘ f = f⊢ 𝓜 μ f = 𝓜 μ f All goals completed! 🐙] All goals completed! 🐙D. Closed & unbounded
Multiplication operators of μ-a.e. strongly measurable functions are closable.
lemma mulOperator_isClosable {μ : Measure (Space d)} [IsFiniteMeasureOnCompacts μ]
{f : Space d → ℂ} (hf : AEStronglyMeasurable f μ) :
(𝓜 μ f).IsClosable := by d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μ⊢ (𝓜 μ f).IsClosable
refine isClosable_of_exists_dense_formalAdjoint (mulOperator_hasDenseDomain hf) ?_ d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μ⊢ ∃ U', U'.HasDenseDomain ∧ U'.IsFormalAdjoint (𝓜 μ f)
exact ⟨𝓜 μ (conj ∘ f), mulOperator_hasDenseDomain (by d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μ⊢ AEStronglyMeasurable (⇑(starRingEnd ℂ) ∘ f) μ measurability All goals completed! 🐙),
mulOperator_adjoint_eq_conj hf ▸ adjoint_isFormalAdjoint (mulOperator_hasDenseDomain hf)⟩
Multiplication operators of μ-a.e. strongly measurable functions are unbounded.
lemma mulOperator_isUnbounded {μ : Measure (Space d)} [IsFiniteMeasureOnCompacts μ]
{f : Space d → ℂ} (hf : AEStronglyMeasurable f μ) :
(𝓜 μ f).IsUnbounded :=
⟨mulOperator_hasDenseDomain hf, mulOperator_isClosable hf⟩
Multiplication operators of μ-a.e. strongly measurable functions are closed.
lemma mulOperator_isClosed {μ : Measure (Space d)} [IsFiniteMeasureOnCompacts μ]
{f : Space d → ℂ} (hf : AEStronglyMeasurable f μ) :
(𝓜 μ f).IsClosed := by d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μ⊢ (𝓜 μ f).IsClosed
apply (mulOperator_isUnbounded hf).isClosed_iff.mpr d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μ⊢ (𝓜 μ f)†† = 𝓜 μ f
rw [mulOperator_adjoint_eq_conj hf, d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μ⊢ (𝓜 μ (⇑(starRingEnd ℂ) ∘ f))† = 𝓜 μ f d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μ⊢ 𝓜 μ (⇑(starRingEnd ℂ) ∘ ⇑(starRingEnd ℂ) ∘ f) = 𝓜 μ f mulOperator_adjoint_eq_conj (by d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μ⊢ AEStronglyMeasurable (⇑(starRingEnd ℂ) ∘ f) μ d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μ⊢ 𝓜 μ (⇑(starRingEnd ℂ) ∘ ⇑(starRingEnd ℂ) ∘ f) = 𝓜 μ f fun_prop All goals completed! 🐙 d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μ⊢ 𝓜 μ (⇑(starRingEnd ℂ) ∘ ⇑(starRingEnd ℂ) ∘ f) = 𝓜 μ f)] d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μ⊢ 𝓜 μ (⇑(starRingEnd ℂ) ∘ ⇑(starRingEnd ℂ) ∘ f) = 𝓜 μ f
congr 1 d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μ⊢ ⇑(starRingEnd ℂ) ∘ ⇑(starRingEnd ℂ) ∘ f = f; ext d:ℕμ:Measure (Space d)inst✝:IsFiniteMeasureOnCompacts μf:Space d → ℂhf:AEStronglyMeasurable f μx✝:Space d⊢ (⇑(starRingEnd ℂ) ∘ ⇑(starRingEnd ℂ) ∘ f) x✝ = f x✝; simp All goals completed! 🐙E. Basic properties
The multiplication operator of the zero function is the zero operator (domain ⊤).
@[simp]
lemma mulOperator_zero (μ : Measure (Space d)) : 𝓜 μ 0 = 0 := by d:ℕμ:Measure (Space d)⊢ 𝓜 μ 0 = 0
ext ψ hψ hψ' h d:ℕμ:Measure (Space d)ψ:↥(SpaceDHilbertSpace d μ)⊢ ψ ∈ (𝓜 μ 0).domain ↔ ψ ∈ domain 0h' d:ℕμ:Measure (Space d)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ 0).domainhψ':ψ ∈ domain 0⊢ ↑↑(↑(𝓜 μ 0) ⟨ψ, hψ⟩) =ᵐ[μ] ↑↑(↑0 ⟨ψ, hψ'⟩)
· h d:ℕμ:Measure (Space d)ψ:↥(SpaceDHilbertSpace d μ)⊢ ψ ∈ (𝓜 μ 0).domain ↔ ψ ∈ domain 0 simp [mem_mulOperator_domain_iff] All goals completed! 🐙
· h' d:ℕμ:Measure (Space d)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ 0).domainhψ':ψ ∈ domain 0⊢ ↑↑(↑(𝓜 μ 0) ⟨ψ, hψ⟩) =ᵐ[μ] ↑↑(↑0 ⟨ψ, hψ'⟩) refine (mulOperator_apply_ae ⟨ψ, hψ⟩).trans ?_ h' d:ℕμ:Measure (Space d)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ 0).domainhψ':ψ ∈ domain 0⊢ 0 • ↑↑↑⟨ψ, hψ⟩ =ᵐ[μ] ↑↑(↑0 ⟨ψ, hψ'⟩)
simpa using coeFn_zero.symm All goals completed! 🐙
μ-a.e. equal functions give rise to the same multiplication operator.
lemma mulOperator_eq_of_congr_ae {μ : Measure (Space d)} {f g : Space d → ℂ} (h : f =ᵐ[μ] g) :
𝓜 μ f = 𝓜 μ g := by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:f =ᵐ[μ] g⊢ 𝓜 μ f = 𝓜 μ g
ext ψ hψ hψ' h d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:f =ᵐ[μ] gψ:↥(SpaceDHilbertSpace d μ)⊢ ψ ∈ (𝓜 μ f).domain ↔ ψ ∈ (𝓜 μ g).domainh' d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:f =ᵐ[μ] gψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ f).domainhψ':ψ ∈ (𝓜 μ g).domain⊢ ↑↑(↑(𝓜 μ f) ⟨ψ, hψ⟩) =ᵐ[μ] ↑↑(↑(𝓜 μ g) ⟨ψ, hψ'⟩)
· h d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:f =ᵐ[μ] gψ:↥(SpaceDHilbertSpace d μ)⊢ ψ ∈ (𝓜 μ f).domain ↔ ψ ∈ (𝓜 μ g).domain exact memHS_congr_ae <| h.smul (ext_iff.mp rfl) All goals completed! 🐙
· h' d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:f =ᵐ[μ] gψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ f).domainhψ':ψ ∈ (𝓜 μ g).domain⊢ ↑↑(↑(𝓜 μ f) ⟨ψ, hψ⟩) =ᵐ[μ] ↑↑(↑(𝓜 μ g) ⟨ψ, hψ'⟩) filter_upwards [h, mulOperator_apply_ae ⟨ψ, hψ⟩, mulOperator_apply_ae ⟨ψ, hψ'⟩] d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:f =ᵐ[μ] gψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ f).domainhψ':ψ ∈ (𝓜 μ g).domain⊢ ∀ (a : Space d),
f a = g a →
↑↑(↑(𝓜 μ f) ⟨ψ, hψ⟩) a = (f • ↑↑ψ) a →
↑↑(↑(𝓜 μ g) ⟨ψ, hψ'⟩) a = (g • ↑↑ψ) a → ↑↑(↑(𝓜 μ f) ⟨ψ, hψ⟩) a = ↑↑(↑(𝓜 μ g) ⟨ψ, hψ'⟩) a
simp_all All goals completed! 🐙TODO "Upgrade mulOperator_eq_of_congr_ae to an iff : 𝓜 μ f = 𝓜 μ g ↔ f =ᵐ[μ] g."E.1. Smul & neg
Scalar multiplication and mulOperator commute except possibly for c = 0
where the domains of 0 • 𝓜 μ f and 𝓜 μ 0 = 0 may not agree.
See mulOperator_const_smul_eq for equality when c ≠ 0.
lemma mulOperator_const_smul_ge (μ : Measure (Space d)) (f : Space d → ℂ) (c : ℂ) :
c • 𝓜 μ f ≤ 𝓜 μ (c • f) := by d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂ⊢ c • 𝓜 μ f ≤ 𝓜 μ (c • f)
refine le_of_le_graph fun u h ↦ ?_ d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)h:u ∈ (c • 𝓜 μ f).graph⊢ u ∈ (𝓜 μ (c • f)).graph
rw [mem_graph_iff d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)h:∃ y, ↑y = u.1 ∧ ↑(c • 𝓜 μ f) y = u.2⊢ ∃ y, ↑y = u.1 ∧ ↑(𝓜 μ (c • f)) y = u.2 d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)h:∃ y, ↑y = u.1 ∧ ↑(c • 𝓜 μ f) y = u.2⊢ ∃ y, ↑y = u.1 ∧ ↑(𝓜 μ (c • f)) y = u.2] at * d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)h:∃ y, ↑y = u.1 ∧ ↑(c • 𝓜 μ f) y = u.2⊢ ∃ y, ↑y = u.1 ∧ ↑(𝓜 μ (c • f)) y = u.2
obtain ⟨⟨v, hv⟩, hvu, hvu'⟩ := h d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (c • 𝓜 μ f).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(c • 𝓜 μ f) ⟨v, hv⟩ = u.2⊢ ∃ y, ↑y = u.1 ∧ ↑(𝓜 μ (c • f)) y = u.2
have hv' : v ∈ (𝓜 μ (c • f)).domain := by d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂ⊢ c • 𝓜 μ f ≤ 𝓜 μ (c • f) d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (c • 𝓜 μ f).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(c • 𝓜 μ f) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (c • f)).domain⊢ ∃ y, ↑y = u.1 ∧ ↑(𝓜 μ (c • f)) y = u.2
rw [smul_domain, d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv✝:v ∈ (c • 𝓜 μ f).domainhv:v ∈ (𝓜 μ f).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(c • 𝓜 μ f) ⟨v, hv⟩ = u.2⊢ v ∈ (𝓜 μ (c • f)).domain d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv✝:v ∈ (c • 𝓜 μ f).domainhv:MemHS (f • ↑↑v) μhvu:↑⟨v, hv⟩ = u.1hvu':↑(c • 𝓜 μ f) ⟨v, hv⟩ = u.2⊢ MemHS ((c • f) • ↑↑v) μ d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (c • 𝓜 μ f).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(c • 𝓜 μ f) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (c • f)).domain⊢ ∃ y, ↑y = u.1 ∧ ↑(𝓜 μ (c • f)) y = u.2 mem_mulOperator_domain_iff d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv✝:v ∈ (c • 𝓜 μ f).domainhv:MemHS (f • ↑↑v) μhvu:↑⟨v, hv⟩ = u.1hvu':↑(c • 𝓜 μ f) ⟨v, hv⟩ = u.2⊢ MemHS ((c • f) • ↑↑v) μ d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv✝:v ∈ (c • 𝓜 μ f).domainhv:MemHS (f • ↑↑v) μhvu:↑⟨v, hv⟩ = u.1hvu':↑(c • 𝓜 μ f) ⟨v, hv⟩ = u.2⊢ MemHS ((c • f) • ↑↑v) μ d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (c • 𝓜 μ f).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(c • 𝓜 μ f) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (c • f)).domain⊢ ∃ y, ↑y = u.1 ∧ ↑(𝓜 μ (c • f)) y = u.2] at * d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv✝:v ∈ (c • 𝓜 μ f).domainhv:MemHS (f • ↑↑v) μhvu:↑⟨v, hv⟩ = u.1hvu':↑(c • 𝓜 μ f) ⟨v, hv⟩ = u.2⊢ MemHS ((c • f) • ↑↑v) μ d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (c • 𝓜 μ f).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(c • 𝓜 μ f) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (c • f)).domain⊢ ∃ y, ↑y = u.1 ∧ ↑(𝓜 μ (c • f)) y = u.2
simpa using hv.const_smul c d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (c • 𝓜 μ f).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(c • 𝓜 μ f) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (c • f)).domain⊢ ∃ y, ↑y = u.1 ∧ ↑(𝓜 μ (c • f)) y = u.2 d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (c • 𝓜 μ f).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(c • 𝓜 μ f) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (c • f)).domain⊢ ∃ y, ↑y = u.1 ∧ ↑(𝓜 μ (c • f)) y = u.2
refine ⟨⟨v, hv'⟩, hvu, ?_⟩ d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (c • 𝓜 μ f).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(c • 𝓜 μ f) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (c • f)).domain⊢ ↑(𝓜 μ (c • f)) ⟨v, hv'⟩ = u.2
rw [← hvu', d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (c • 𝓜 μ f).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(c • 𝓜 μ f) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (c • f)).domain⊢ ↑(𝓜 μ (c • f)) ⟨v, hv'⟩ = ↑(c • 𝓜 μ f) ⟨v, hv⟩ d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (c • 𝓜 μ f).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(c • 𝓜 μ f) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (c • f)).domain⊢ ↑↑(↑(𝓜 μ (c • f)) ⟨v, hv'⟩) =ᵐ[μ] ↑↑(↑(c • 𝓜 μ f) ⟨v, hv⟩) ext_iff d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (c • 𝓜 μ f).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(c • 𝓜 μ f) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (c • f)).domain⊢ ↑↑(↑(𝓜 μ (c • f)) ⟨v, hv'⟩) =ᵐ[μ] ↑↑(↑(c • 𝓜 μ f) ⟨v, hv⟩) d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (c • 𝓜 μ f).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(c • 𝓜 μ f) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (c • f)).domain⊢ ↑↑(↑(𝓜 μ (c • f)) ⟨v, hv'⟩) =ᵐ[μ] ↑↑(↑(c • 𝓜 μ f) ⟨v, hv⟩)] d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (c • 𝓜 μ f).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(c • 𝓜 μ f) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (c • f)).domain⊢ ↑↑(↑(𝓜 μ (c • f)) ⟨v, hv'⟩) =ᵐ[μ] ↑↑(↑(c • 𝓜 μ f) ⟨v, hv⟩)
filter_upwards [mulOperator_apply_ae ⟨v, hv⟩, mulOperator_apply_ae ⟨v, hv'⟩,
coeFn_smul c (𝓜 μ f ⟨v, hv⟩)] d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (c • 𝓜 μ f).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(c • 𝓜 μ f) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (c • f)).domain⊢ ∀ (a : Space d),
↑↑(↑(𝓜 μ f) ⟨v, hv⟩) a = (f • ↑↑v) a →
↑↑(↑(𝓜 μ (c • f)) ⟨v, hv'⟩) a = ((c • f) • ↑↑v) a →
↑↑(c • ↑(𝓜 μ f) ⟨v, hv⟩) a = (c • ↑↑(↑(𝓜 μ f) ⟨v, hv⟩)) a →
↑↑(↑(𝓜 μ (c • f)) ⟨v, hv'⟩) a = ↑↑(↑(c • 𝓜 μ f) ⟨v, hv⟩) a
simp_all [mul_assoc] All goals completed! 🐙
Scalar multiplication and mulOperator commute for c ≠ 0.
@[simp]
lemma mulOperator_const_smul_eq (μ : Measure (Space d)) (f : Space d → ℂ) {c : ℂ} (hc : c ≠ 0) :
𝓜 μ (c • f) = c • 𝓜 μ f := by d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂhc:c ≠ 0⊢ 𝓜 μ (c • f) = c • 𝓜 μ f
refine (eq_of_le_of_domain_eq (mulOperator_const_smul_ge μ f c) ?_).symm d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂhc:c ≠ 0⊢ (c • 𝓜 μ f).domain = (𝓜 μ (c • f)).domain
ext d:ℕμ:Measure (Space d)f:Space d → ℂc:ℂhc:c ≠ 0x✝:↥(SpaceDHilbertSpace d μ)⊢ x✝ ∈ (c • 𝓜 μ f).domain ↔ x✝ ∈ (𝓜 μ (c • f)).domain
simp [mem_mulOperator_domain_iff, memHS_const_smul_iff hc] All goals completed! 🐙
Negation and mulOperator commute.
@[simp]
lemma mulOperator_neg (μ : Measure (Space d)) (f : Space d → ℂ) : 𝓜 μ (-f) = -𝓜 μ f := by d:ℕμ:Measure (Space d)f:Space d → ℂ⊢ 𝓜 μ (-f) = -𝓜 μ f
rw [← neg_one_smul ℂ f, d:ℕμ:Measure (Space d)f:Space d → ℂ⊢ 𝓜 μ (-1 • f) = -𝓜 μ f All goals completed! 🐙 mulOperator_const_smul_eq μ f (by d:ℕμ:Measure (Space d)f:Space d → ℂ⊢ -1 ≠ 0 All goals completed! 🐙 norm_num All goals completed! 🐙 All goals completed! 🐙), neg_eq_neg_one_smul d:ℕμ:Measure (Space d)f:Space d → ℂ⊢ -1 • 𝓜 μ f = -1 • 𝓜 μ f All goals completed! 🐙] All goals completed! 🐙E.2. Add & sub
𝓜 μ (f + g) extends 𝓜 μ f + 𝓜 μ g.
In general the domains do not match: ψ ∈ (𝓜 μ f + 𝓜 μ g).domain amounts to MemHS (f • ψ) μ
and MemHS (g • ψ) μ whereas ψ ∈ (𝓜 μ (f + g)).domain is equivalent to the weaker condition
MemHS ((f + g) • ψ) μ.
See mulOperator_add_eq and mulOperator_add_eq' for sufficient conditions
to ensure equality.
lemma mulOperator_add_ge (μ : Measure (Space d)) (f g : Space d → ℂ) :
𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g) := by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂ⊢ 𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)
refine le_of_le_graph fun u h ↦ ?_ d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)h:u ∈ (𝓜 μ f + 𝓜 μ g).graph⊢ u ∈ (𝓜 μ (f + g)).graph
rw [mem_graph_iff d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)h:∃ y, ↑y = u.1 ∧ ↑(𝓜 μ f + 𝓜 μ g) y = u.2⊢ ∃ y, ↑y = u.1 ∧ ↑(𝓜 μ (f + g)) y = u.2 d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)h:∃ y, ↑y = u.1 ∧ ↑(𝓜 μ f + 𝓜 μ g) y = u.2⊢ ∃ y, ↑y = u.1 ∧ ↑(𝓜 μ (f + g)) y = u.2] at * d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)h:∃ y, ↑y = u.1 ∧ ↑(𝓜 μ f + 𝓜 μ g) y = u.2⊢ ∃ y, ↑y = u.1 ∧ ↑(𝓜 μ (f + g)) y = u.2
obtain ⟨⟨v, hv⟩, hvu, hvu'⟩ := h d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (𝓜 μ f + 𝓜 μ g).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ = u.2⊢ ∃ y, ↑y = u.1 ∧ ↑(𝓜 μ (f + g)) y = u.2
have hv' : v ∈ (𝓜 μ (f + g)).domain := by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂ⊢ 𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g) d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (𝓜 μ f + 𝓜 μ g).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (f + g)).domain⊢ ∃ y, ↑y = u.1 ∧ ↑(𝓜 μ (f + g)) y = u.2
rw [add_domain, d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv✝:v ∈ (𝓜 μ f + 𝓜 μ g).domainhv:v ∈ (𝓜 μ f).domain ⊓ (𝓜 μ g).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ = u.2⊢ v ∈ (𝓜 μ (f + g)).domain d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv✝:v ∈ (𝓜 μ f + 𝓜 μ g).domainhv:v ∈ (𝓜 μ f).domain ∧ v ∈ (𝓜 μ g).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ = u.2⊢ v ∈ (𝓜 μ (f + g)).domain d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (𝓜 μ f + 𝓜 μ g).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (f + g)).domain⊢ ∃ y, ↑y = u.1 ∧ ↑(𝓜 μ (f + g)) y = u.2 Submodule.mem_inf d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv✝:v ∈ (𝓜 μ f + 𝓜 μ g).domainhv:v ∈ (𝓜 μ f).domain ∧ v ∈ (𝓜 μ g).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ = u.2⊢ v ∈ (𝓜 μ (f + g)).domain d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv✝:v ∈ (𝓜 μ f + 𝓜 μ g).domainhv:v ∈ (𝓜 μ f).domain ∧ v ∈ (𝓜 μ g).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ = u.2⊢ v ∈ (𝓜 μ (f + g)).domain d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (𝓜 μ f + 𝓜 μ g).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (f + g)).domain⊢ ∃ y, ↑y = u.1 ∧ ↑(𝓜 μ (f + g)) y = u.2] at hv d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv✝:v ∈ (𝓜 μ f + 𝓜 μ g).domainhv:v ∈ (𝓜 μ f).domain ∧ v ∈ (𝓜 μ g).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ = u.2⊢ v ∈ (𝓜 μ (f + g)).domain d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (𝓜 μ f + 𝓜 μ g).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (f + g)).domain⊢ ∃ y, ↑y = u.1 ∧ ↑(𝓜 μ (f + g)) y = u.2
simpa [add_mul, mem_mulOperator_domain_iff] using hv.1.add hv.2 d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (𝓜 μ f + 𝓜 μ g).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (f + g)).domain⊢ ∃ y, ↑y = u.1 ∧ ↑(𝓜 μ (f + g)) y = u.2 d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (𝓜 μ f + 𝓜 μ g).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (f + g)).domain⊢ ∃ y, ↑y = u.1 ∧ ↑(𝓜 μ (f + g)) y = u.2
refine ⟨⟨v, hv'⟩, hvu, ?_⟩ d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (𝓜 μ f + 𝓜 μ g).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (f + g)).domain⊢ ↑(𝓜 μ (f + g)) ⟨v, hv'⟩ = u.2
rw [← hvu', d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (𝓜 μ f + 𝓜 μ g).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (f + g)).domain⊢ ↑(𝓜 μ (f + g)) ⟨v, hv'⟩ = ↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (𝓜 μ f + 𝓜 μ g).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (f + g)).domain⊢ ↑↑(↑(𝓜 μ (f + g)) ⟨v, hv'⟩) =ᵐ[μ] ↑↑(↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩) ext_iff d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (𝓜 μ f + 𝓜 μ g).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (f + g)).domain⊢ ↑↑(↑(𝓜 μ (f + g)) ⟨v, hv'⟩) =ᵐ[μ] ↑↑(↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩) d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (𝓜 μ f + 𝓜 μ g).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (f + g)).domain⊢ ↑↑(↑(𝓜 μ (f + g)) ⟨v, hv'⟩) =ᵐ[μ] ↑↑(↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩)] d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (𝓜 μ f + 𝓜 μ g).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (f + g)).domain⊢ ↑↑(↑(𝓜 μ (f + g)) ⟨v, hv'⟩) =ᵐ[μ] ↑↑(↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩)
change _ =ᵐ[μ] 𝓜 μ f ⟨v, hv.1⟩ + 𝓜 μ g ⟨v, hv.2⟩ d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (𝓜 μ f + 𝓜 μ g).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (f + g)).domain⊢ ↑↑(↑(𝓜 μ (f + g)) ⟨v, hv'⟩) =ᵐ[μ] ↑↑(↑(𝓜 μ f) ⟨v, ⋯⟩ + ↑(𝓜 μ g) ⟨v, ⋯⟩)
filter_upwards [mulOperator_apply_ae ⟨v, hv.1⟩, mulOperator_apply_ae ⟨v, hv.2⟩,
mulOperator_apply_ae ⟨v, hv'⟩, coeFn_add (𝓜 μ f ⟨v, hv.1⟩) (𝓜 μ g ⟨v, hv.2⟩)] d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂu:↥(SpaceDHilbertSpace d μ) × ↥(SpaceDHilbertSpace d μ)v:↥(SpaceDHilbertSpace d μ)hv:v ∈ (𝓜 μ f + 𝓜 μ g).domainhvu:↑⟨v, hv⟩ = u.1hvu':↑(𝓜 μ f + 𝓜 μ g) ⟨v, hv⟩ = u.2hv':v ∈ (𝓜 μ (f + g)).domain⊢ ∀ (a : Space d),
↑↑(↑(𝓜 μ f) ⟨v, ⋯⟩) a = (f • ↑↑v) a →
↑↑(↑(𝓜 μ g) ⟨v, ⋯⟩) a = (g • ↑↑v) a →
↑↑(↑(𝓜 μ (f + g)) ⟨v, hv'⟩) a = ((f + g) • ↑↑v) a →
↑(↑(↑(𝓜 μ f) ⟨v, ⋯⟩) + ↑(↑(𝓜 μ g) ⟨v, ⋯⟩)) a = (↑↑(↑(𝓜 μ f) ⟨v, ⋯⟩) + ↑↑(↑(𝓜 μ g) ⟨v, ⋯⟩)) a →
↑↑(↑(𝓜 μ (f + g)) ⟨v, hv'⟩) a = ↑↑(↑(𝓜 μ f) ⟨v, ⋯⟩ + ↑(𝓜 μ g) ⟨v, ⋯⟩) a
simp_all [add_mul] All goals completed! 🐙
(𝓜 μ g).domain = ⊤ is a sufficient condition to ensure equality in mulOperator_add_ge.
@[simp]
lemma mulOperator_add_eq
{μ : Measure (Space d)} (f : Space d → ℂ) {g : Space d → ℂ} (h : (𝓜 μ g).domain = ⊤) :
𝓜 μ (f + g) = 𝓜 μ f + 𝓜 μ g := by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:(𝓜 μ g).domain = ⊤⊢ 𝓜 μ (f + g) = 𝓜 μ f + 𝓜 μ g
have hle := mulOperator_add_ge μ f g d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:(𝓜 μ g).domain = ⊤hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)⊢ 𝓜 μ (f + g) = 𝓜 μ f + 𝓜 μ g
refine (eq_of_le_of_domain_eq hle ?_).symm d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:(𝓜 μ g).domain = ⊤hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)⊢ (𝓜 μ f + 𝓜 μ g).domain = (𝓜 μ (f + g)).domain
refine eq_of_le_of_ge hle.1 fun ψ hψ ↦ ?_ d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:(𝓜 μ g).domain = ⊤hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domain⊢ ψ ∈ (𝓜 μ f + 𝓜 μ g).domain
have hg : ψ ∈ (𝓜 μ g).domain := by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:(𝓜 μ g).domain = ⊤⊢ 𝓜 μ (f + g) = 𝓜 μ f + 𝓜 μ g d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:(𝓜 μ g).domain = ⊤hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domainhg:ψ ∈ (𝓜 μ g).domain⊢ ψ ∈ (𝓜 μ f + 𝓜 μ g).domain simp [h] d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:(𝓜 μ g).domain = ⊤hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domainhg:ψ ∈ (𝓜 μ g).domain⊢ ψ ∈ (𝓜 μ f + 𝓜 μ g).domain d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:(𝓜 μ g).domain = ⊤hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domainhg:ψ ∈ (𝓜 μ g).domain⊢ ψ ∈ (𝓜 μ f + 𝓜 μ g).domain
simp only [add_domain, Submodule.mem_inf, mem_mulOperator_domain_iff] at * d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:(𝓜 μ g).domain = ⊤hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:MemHS ((f + g) • ↑↑ψ) μhg:MemHS (g • ↑↑ψ) μ⊢ MemHS (f • ↑↑ψ) μ ∧ MemHS (g • ↑↑ψ) μ
exact ⟨by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:(𝓜 μ g).domain = ⊤hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:MemHS ((f + g) • ↑↑ψ) μhg:MemHS (g • ↑↑ψ) μ⊢ MemHS (f • ↑↑ψ) μ simpa [add_mul] using hψ.sub hg All goals completed! 🐙, hg⟩
Having both ‖f x‖ ≤ c * ‖f x + g x‖ and ‖g x‖ ≤ c' * ‖f x + g x‖ μ-a.e. is a sufficient
condition to ensure equality in mulOperator_add_ge.
lemma mulOperator_add_eq' {μ : Measure (Space d)}
{f g : Space d → ℂ} (hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ)
(c c' : ℝ) (hf' : ∀ᵐ x ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖) (hg' : ∀ᵐ x ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖) :
𝓜 μ (f + g) = 𝓜 μ f + 𝓜 μ g := by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖⊢ 𝓜 μ (f + g) = 𝓜 μ f + 𝓜 μ g
have hle := mulOperator_add_ge μ f g d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)⊢ 𝓜 μ (f + g) = 𝓜 μ f + 𝓜 μ g
refine (eq_of_le_of_domain_eq hle ?_).symm d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)⊢ (𝓜 μ f + 𝓜 μ g).domain = (𝓜 μ (f + g)).domain
refine eq_of_le_of_ge hle.1 fun ψ hψ ↦ ⟨?_, ?_⟩ refine_1 d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domain⊢ ψ ∈ ↑(𝓜 μ f).domainrefine_2 d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domain⊢ ψ ∈ ↑(𝓜 μ g).domain
· refine_1 d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domain⊢ ψ ∈ ↑(𝓜 μ f).domain refine (hψ.const_smul c).mono (by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domain⊢ AEStronglyMeasurable (f • ↑↑ψ) μ fun_prop All goals completed! 🐙) ?_
filter_upwards [hf'] with x h d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domainx:Space dh:‖f x‖ ≤ c * ‖f x + g x‖⊢ ‖(f • ↑↑ψ) x‖ ≤ ‖(↑c • (f + g) • ↑↑ψ) x‖
refine le_trans (b := c * (‖f x + g x‖ * ‖ψ x‖)) ?_ ?_ refine_1 d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domainx:Space dh:‖f x‖ ≤ c * ‖f x + g x‖⊢ ‖(f • ↑↑ψ) x‖ ≤ c * (‖f x + g x‖ * ‖↑↑ψ x‖)refine_2 d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domainx:Space dh:‖f x‖ ≤ c * ‖f x + g x‖⊢ c * (‖f x + g x‖ * ‖↑↑ψ x‖) ≤ ‖(↑c • (f + g) • ↑↑ψ) x‖
· refine_1 d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domainx:Space dh:‖f x‖ ≤ c * ‖f x + g x‖⊢ ‖(f • ↑↑ψ) x‖ ≤ c * (‖f x + g x‖ * ‖↑↑ψ x‖) simp [← mul_assoc, mul_le_mul_of_nonneg_right h] All goals completed! 🐙
· refine_2 d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domainx:Space dh:‖f x‖ ≤ c * ‖f x + g x‖⊢ c * (‖f x + g x‖ * ‖↑↑ψ x‖) ≤ ‖(↑c • (f + g) • ↑↑ψ) x‖ exact le_of_le_of_eq (mul_le_mul_of_nonneg_right (le_abs_self c) (by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domainx:Space dh:‖f x‖ ≤ c * ‖f x + g x‖⊢ 0 ≤ ‖f x + g x‖ * ‖↑↑ψ x‖ positivity All goals completed! 🐙)) (by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domainx:Space dh:‖f x‖ ≤ c * ‖f x + g x‖⊢ |c| * (‖f x + g x‖ * ‖↑↑ψ x‖) = ‖(↑c • (f + g) • ↑↑ψ) x‖ simp All goals completed! 🐙)
· refine_2 d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domain⊢ ψ ∈ ↑(𝓜 μ g).domain refine (hψ.const_smul c').mono (by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domain⊢ AEStronglyMeasurable (g • ↑↑ψ) μ fun_prop All goals completed! 🐙) ?_
filter_upwards [hg'] with x h d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domainx:Space dh:‖g x‖ ≤ c' * ‖f x + g x‖⊢ ‖(g • ↑↑ψ) x‖ ≤ ‖(↑c' • (f + g) • ↑↑ψ) x‖
refine le_trans (b := c' * (‖f x + g x‖ * ‖ψ x‖)) ?_ ?_ refine_1 d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domainx:Space dh:‖g x‖ ≤ c' * ‖f x + g x‖⊢ ‖(g • ↑↑ψ) x‖ ≤ c' * (‖f x + g x‖ * ‖↑↑ψ x‖)refine_2 d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domainx:Space dh:‖g x‖ ≤ c' * ‖f x + g x‖⊢ c' * (‖f x + g x‖ * ‖↑↑ψ x‖) ≤ ‖(↑c' • (f + g) • ↑↑ψ) x‖
· refine_1 d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domainx:Space dh:‖g x‖ ≤ c' * ‖f x + g x‖⊢ ‖(g • ↑↑ψ) x‖ ≤ c' * (‖f x + g x‖ * ‖↑↑ψ x‖) simp [← mul_assoc, mul_le_mul_of_nonneg_right h] All goals completed! 🐙
· refine_2 d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domainx:Space dh:‖g x‖ ≤ c' * ‖f x + g x‖⊢ c' * (‖f x + g x‖ * ‖↑↑ψ x‖) ≤ ‖(↑c' • (f + g) • ↑↑ψ) x‖ exact le_of_le_of_eq (mul_le_mul_of_nonneg_right (le_abs_self c') (by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domainx:Space dh:‖g x‖ ≤ c' * ‖f x + g x‖⊢ 0 ≤ ‖f x + g x‖ * ‖↑↑ψ x‖ positivity All goals completed! 🐙)) (by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x + g x‖hle:𝓜 μ f + 𝓜 μ g ≤ 𝓜 μ (f + g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f + g)).domainx:Space dh:‖g x‖ ≤ c' * ‖f x + g x‖⊢ |c'| * (‖f x + g x‖ * ‖↑↑ψ x‖) = ‖(↑c' • (f + g) • ↑↑ψ) x‖ simp All goals completed! 🐙)
𝓜 μ (f - g) extends 𝓜 μ f - 𝓜 μ g.
In general the domains do not match: ψ ∈ (𝓜 μ f - 𝓜 μ g).domain amounts to MemHS (f • ψ) μ
and MemHS (g • ψ) μ whereas ψ ∈ (𝓜 μ (f - g)).domain is equivalent to the weaker condition
MemHS ((f - g) • ψ) μ.
See mulOperator_sub_eq and mulOperator_sub_eq' for sufficient conditions
to ensure equality.
lemma mulOperator_sub_ge (μ : Measure (Space d)) (f g : Space d → ℂ) :
𝓜 μ f - 𝓜 μ g ≤ 𝓜 μ (f - g) :=
le_of_eq_of_le (by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂ⊢ 𝓜 μ f - 𝓜 μ g = 𝓜 μ f + 𝓜 μ (-g) simp [sub_eq_add_neg] All goals completed! 🐙) (mulOperator_add_ge μ f (-g))
(𝓜 μ g).domain = ⊤ is a sufficient condition to ensure equality in mulOperator_sub_ge.
@[simp]
lemma mulOperator_sub_eq
{μ : Measure (Space d)} (f : Space d → ℂ) {g : Space d → ℂ} (h : (𝓜 μ g).domain = ⊤) :
𝓜 μ (f - g) = 𝓜 μ f - 𝓜 μ g := by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:(𝓜 μ g).domain = ⊤⊢ 𝓜 μ (f - g) = 𝓜 μ f - 𝓜 μ g
simp [sub_eq_add_neg, mulOperator_add_eq, h] All goals completed! 🐙
Having both ‖f x‖ ≤ c * ‖f x - g x‖ and ‖g x‖ ≤ c' * ‖f x - g x‖ μ-a.e. is a sufficient
condition to ensure equality in mulOperator_sub_ge.
lemma mulOperator_sub_eq' {μ : Measure (Space d)}
{f g : Space d → ℂ} (hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ)
(c c' : ℝ) (hf' : ∀ᵐ x ∂μ, ‖f x‖ ≤ c * ‖f x - g x‖) (hg' : ∀ᵐ x ∂μ, ‖g x‖ ≤ c' * ‖f x - g x‖) :
𝓜 μ (f - g) = 𝓜 μ f - 𝓜 μ g := by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x - g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x - g x‖⊢ 𝓜 μ (f - g) = 𝓜 μ f - 𝓜 μ g
simp only [sub_eq_add_neg, ← mulOperator_neg] d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x - g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x - g x‖⊢ 𝓜 μ (f + -g) = 𝓜 μ f + 𝓜 μ (-g)
exact mulOperator_add_eq' hf hg.neg c c' (by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x - g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x - g x‖⊢ ∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x + (-g) x‖ simpa All goals completed! 🐙) (by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂhf:AEStronglyMeasurable f μhg:AEStronglyMeasurable g μc:ℝc':ℝhf':∀ᵐ (x : Space d) ∂μ, ‖f x‖ ≤ c * ‖f x - g x‖hg':∀ᵐ (x : Space d) ∂μ, ‖g x‖ ≤ c' * ‖f x - g x‖⊢ ∀ᵐ (x : Space d) ∂μ, ‖(-g) x‖ ≤ c' * ‖f x + (-g) x‖ simpa All goals completed! 🐙)TODO "Add to the sufficient conditions which ensure `𝓜 μ (f ± g) = 𝓜 μ f ± 𝓜 μ g`."E.3. Composition
𝓜 μ (f • g) extends 𝓜 μ f * 𝓜 μ g.
In general the domains do not match: ψ ∈ (𝓜 μ f * 𝓜 μ g).domain
amounts to MemHS (g • ψ) μ and MemHS (f • g • ψ) μ whereas
ψ ∈ (𝓜 μ (f • g)).domain only requires MemHS (f • g • ψ) μ.
See mulOperator_smul_eq for a sufficient condition to ensure equality.
lemma mulOperator_smul_ge (μ : Measure (Space d)) (f g : Space d → ℂ) :
𝓜 μ f ∘ᵣ 𝓜 μ g ≤ 𝓜 μ (f • g) := by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂ⊢ 𝓜 μ f ∘ᵣ 𝓜 μ g ≤ 𝓜 μ (f • g)
constructor left d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂ⊢ (𝓜 μ f ∘ᵣ 𝓜 μ g).domain ≤ (𝓜 μ (f • g)).domainright d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂ⊢ ∀ ⦃x : ↥(𝓜 μ f ∘ᵣ 𝓜 μ g).domain⦄ ⦃y : ↥(𝓜 μ (f • g)).domain⦄, ↑x = ↑y → ↑(𝓜 μ f ∘ᵣ 𝓜 μ g) x = ↑(𝓜 μ (f • g)) y
· left d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂ⊢ (𝓜 μ f ∘ᵣ 𝓜 μ g).domain ≤ (𝓜 μ (f • g)).domain intro ψ hψ left d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ f ∘ᵣ 𝓜 μ g).domain⊢ ψ ∈ (𝓜 μ (f • g)).domain
obtain ⟨hψ, hgψ⟩ := mem_compRestricted_domain_iff.mp hψ left d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂψ:↥(SpaceDHilbertSpace d μ)hψ✝:ψ ∈ (𝓜 μ f ∘ᵣ 𝓜 μ g).domainhψ:ψ ∈ (𝓜 μ g).domainhgψ:↑(𝓜 μ g) ⟨ψ, hψ⟩ ∈ (𝓜 μ f).domain⊢ ψ ∈ (𝓜 μ (f • g)).domain
refine (mem_mulOperator_domain_iff.mp hgψ).ae_eq ?_ left d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂψ:↥(SpaceDHilbertSpace d μ)hψ✝:ψ ∈ (𝓜 μ f ∘ᵣ 𝓜 μ g).domainhψ:ψ ∈ (𝓜 μ g).domainhgψ:↑(𝓜 μ g) ⟨ψ, hψ⟩ ∈ (𝓜 μ f).domain⊢ f • ↑↑(↑(𝓜 μ g) ⟨ψ, hψ⟩) =ᵐ[μ] (f • g) • ↑↑ψ
filter_upwards [mulOperator_apply_ae ⟨ψ, hψ⟩] d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂψ:↥(SpaceDHilbertSpace d μ)hψ✝:ψ ∈ (𝓜 μ f ∘ᵣ 𝓜 μ g).domainhψ:ψ ∈ (𝓜 μ g).domainhgψ:↑(𝓜 μ g) ⟨ψ, hψ⟩ ∈ (𝓜 μ f).domain⊢ ∀ (a : Space d), ↑↑(↑(𝓜 μ g) ⟨ψ, hψ⟩) a = (g • ↑↑ψ) a → (f • ↑↑(↑(𝓜 μ g) ⟨ψ, hψ⟩)) a = ((f • g) • ↑↑ψ) a
simp_all [mul_assoc] All goals completed! 🐙
· right d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂ⊢ ∀ ⦃x : ↥(𝓜 μ f ∘ᵣ 𝓜 μ g).domain⦄ ⦃y : ↥(𝓜 μ (f • g)).domain⦄, ↑x = ↑y → ↑(𝓜 μ f ∘ᵣ 𝓜 μ g) x = ↑(𝓜 μ (f • g)) y intro ψ φ hψφ right d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂψ:↥(𝓜 μ f ∘ᵣ 𝓜 μ g).domainφ:↥(𝓜 μ (f • g)).domainhψφ:↑ψ = ↑φ⊢ ↑(𝓜 μ f ∘ᵣ 𝓜 μ g) ψ = ↑(𝓜 μ (f • g)) φ
apply ext_iff.mpr right d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂψ:↥(𝓜 μ f ∘ᵣ 𝓜 μ g).domainφ:↥(𝓜 μ (f • g)).domainhψφ:↑ψ = ↑φ⊢ ↑↑(↑(𝓜 μ f ∘ᵣ 𝓜 μ g) ψ) =ᵐ[μ] ↑↑(↑(𝓜 μ (f • g)) φ)
obtain ⟨hψ, hgψ⟩ := mem_compRestricted_domain_iff.mp ψ.2 right d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂψ:↥(𝓜 μ f ∘ᵣ 𝓜 μ g).domainφ:↥(𝓜 μ (f • g)).domainhψφ:↑ψ = ↑φhψ:↑ψ ∈ (𝓜 μ g).domainhgψ:↑(𝓜 μ g) ⟨↑ψ, hψ⟩ ∈ (𝓜 μ f).domain⊢ ↑↑(↑(𝓜 μ f ∘ᵣ 𝓜 μ g) ψ) =ᵐ[μ] ↑↑(↑(𝓜 μ (f • g)) φ)
filter_upwards [mulOperator_apply_ae φ, mulOperator_apply_ae ⟨ψ, hψ⟩,
mulOperator_apply_ae ⟨𝓜 μ g ⟨ψ, hψ⟩, hgψ⟩] d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂψ:↥(𝓜 μ f ∘ᵣ 𝓜 μ g).domainφ:↥(𝓜 μ (f • g)).domainhψφ:↑ψ = ↑φhψ:↑ψ ∈ (𝓜 μ g).domainhgψ:↑(𝓜 μ g) ⟨↑ψ, hψ⟩ ∈ (𝓜 μ f).domain⊢ ∀ (a : Space d),
↑↑(↑(𝓜 μ (f • g)) φ) a = ((f • g) • ↑↑↑φ) a →
↑↑(↑(𝓜 μ g) ⟨↑ψ, hψ⟩) a = (g • ↑↑↑ψ) a →
↑↑(↑(𝓜 μ f) ⟨↑(𝓜 μ g) ⟨↑ψ, hψ⟩, hgψ⟩) a = (f • ↑↑(↑(𝓜 μ g) ⟨↑ψ, hψ⟩)) a →
↑↑(↑(𝓜 μ f ∘ᵣ 𝓜 μ g) ψ) a = ↑↑(↑(𝓜 μ (f • g)) φ) a
simp_all [mul_assoc] All goals completed! 🐙
(𝓜 μ g).domain = ⊤ is a sufficient condition to ensure equality in mulOperator_smul_ge.
lemma mulOperator_smul_eq
{μ : Measure (Space d)} (f : Space d → ℂ) {g : Space d → ℂ} (h : (𝓜 μ g).domain = ⊤) :
𝓜 μ f ∘ᵣ 𝓜 μ g = 𝓜 μ (f • g) := by d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:(𝓜 μ g).domain = ⊤⊢ 𝓜 μ f ∘ᵣ 𝓜 μ g = 𝓜 μ (f • g)
have hle := mulOperator_smul_ge μ f g d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:(𝓜 μ g).domain = ⊤hle:𝓜 μ f ∘ᵣ 𝓜 μ g ≤ 𝓜 μ (f • g)⊢ 𝓜 μ f ∘ᵣ 𝓜 μ g = 𝓜 μ (f • g)
refine eq_of_le_of_domain_eq hle ?_ d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:(𝓜 μ g).domain = ⊤hle:𝓜 μ f ∘ᵣ 𝓜 μ g ≤ 𝓜 μ (f • g)⊢ (𝓜 μ f ∘ᵣ 𝓜 μ g).domain = (𝓜 μ (f • g)).domain
refine eq_of_le_of_ge hle.1 fun ψ hψ ↦ ?_ d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:(𝓜 μ g).domain = ⊤hle:𝓜 μ f ∘ᵣ 𝓜 μ g ≤ 𝓜 μ (f • g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f • g)).domain⊢ ψ ∈ (𝓜 μ f ∘ᵣ 𝓜 μ g).domain
refine mem_compRestricted_domain_iff.mpr ⟨h ▸ Submodule.mem_top, ?_⟩ d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:(𝓜 μ g).domain = ⊤hle:𝓜 μ f ∘ᵣ 𝓜 μ g ≤ 𝓜 μ (f • g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f • g)).domain⊢ ↑(𝓜 μ g) ⟨ψ, ⋯⟩ ∈ (𝓜 μ f).domain
refine (mem_mulOperator_domain_iff.mp hψ).ae_eq ?_ d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:(𝓜 μ g).domain = ⊤hle:𝓜 μ f ∘ᵣ 𝓜 μ g ≤ 𝓜 μ (f • g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f • g)).domain⊢ (f • g) • ↑↑ψ =ᵐ[μ] f • ↑↑(↑(𝓜 μ g) ⟨ψ, ⋯⟩)
filter_upwards [mulOperator_apply_ae ⟨ψ, h ▸ Submodule.mem_top⟩] d:ℕμ:Measure (Space d)f:Space d → ℂg:Space d → ℂh:(𝓜 μ g).domain = ⊤hle:𝓜 μ f ∘ᵣ 𝓜 μ g ≤ 𝓜 μ (f • g)ψ:↥(SpaceDHilbertSpace d μ)hψ:ψ ∈ (𝓜 μ (f • g)).domain⊢ ∀ (a : Space d), ↑↑(↑(𝓜 μ g) ⟨ψ, ⋯⟩) a = (g • ↑↑ψ) a → ((f • g) • ↑↑ψ) a = (f • ↑↑(↑(𝓜 μ g) ⟨ψ, ⋯⟩)) a
simp_all [mul_assoc] All goals completed! 🐙TODO "`mulOperator_smul_eq` has the strong assumption `(𝓜 μ g).domain = ⊤`. Weaken this assumption
and/or find other sufficient conditions to ensure the equality `𝓜 μ (f • g) = 𝓜 μ f * 𝓜 μ g`."F. Spectrum
TODO "Prove that the spectrum of the multiplication operator `𝓜 μ f`
is the 'μ-essential range' of `f`."TODO "Prove that the spectrum of the multiplication operator `𝓜 μ f`
is the closure of `f.range` for continuous `f`."