Skip to main content
fpvandoorn/carleson
Source indexedlemma Β· leanprover/lean4:v4.32.0

adjointCarleson_adjoint

Carleson.Operators Β· Carleson/Operators.lean:337 to 400

Source documentation

adjointCarleson is the adjoint of carlesonOn.

Exact Lean statement

lemma adjointCarleson_adjoint
    (hf : BoundedCompactSupport f) (hg : BoundedCompactSupport g) (p : 𝔓 X) :
    ∫ x, conj (g x) * carlesonOn p f x = ∫ y, conj (adjointCarleson p g y) * f y

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma adjointCarleson_adjoint    (hf : BoundedCompactSupport f) (hg : BoundedCompactSupport g) (p : 𝔓 X) :    ∫ x, conj (g x) * carlesonOn p f x = ∫ y, conj (adjointCarleson p g y) * f y := by  let H := fun x ↦ fun y ↦ conj (g x) * (E p).indicator 1 x * MKD (𝔰 p) x y * f y  have hH : Integrable (uncurry H) := by    let Hβ‚€ := fun x y ↦ β€–g xβ€– * β€–f yβ€–    obtain ⟨Mβ‚€, hMβ‚€nn, hMβ‚€βŸ© := hg.hasCompactSupport.isBounded.exists_bound_of_norm_Ks (𝔰 p)    have hHleHβ‚€ x y : β€–H x yβ€– ≀ Mβ‚€ * β€–g xβ€– * β€–f yβ€– := by      by_cases h : x ∈ tsupport g      Β· unfold H        rw [norm_mul, norm_mul, norm_mul, norm_conj]        nth_rw 2 [mul_assoc, mul_comm]        gcongr        apply mul_le_mul (norm_indicator_one_le ..) norm_MKD_le_norm_Ks (by simp) (by simp) |>.trans        linarith [hMβ‚€ x y h]      Β· suffices hz : H x y = 0 by rw [hz]; simp only [norm_zero, ge_iff_le]; positivity        unfold H; simp [image_eq_zero_of_notMem_tsupport h]    have : Integrable (fun z : X Γ— X ↦ Mβ‚€ * β€–g z.1β€– * β€–f z.2β€–) :=      (hg.norm.const_mul _).integrable.mul_prod hf.norm.integrable    apply this.mono    Β· refine .mul ?_ hf.aestronglyMeasurable.comp_snd      refine .mul ?_ ?_      Β· refine .mul ?_ ?_        Β· exact RCLike.continuous_conj.comp_aestronglyMeasurable hg.aestronglyMeasurable.comp_fst        Β· exact aestronglyMeasurable_const.indicator measurableSet_E |>.comp_fst      Β· unfold MKD        fun_prop    Β· apply ae_of_all      exact fun z ↦ (hHleHβ‚€ z.1 z.2).trans <| Real.le_norm_self _  calc    _ = ∫ x, conj (g x) * ∫ y, (E p).indicator 1 x * MKD (𝔰 p) x y * f y := by      congr 1; ext x; congr 1      rw [carlesonOn, indicator_eq_indicator_one_mul, ← smul_eq_mul, ← integral_smul]      congr 1; ext y; unfold MKD; simp [smul_eq_mul]; ring    _ = ∫ x, ∫ y, H x y := by      unfold H; congr 1; ext x      calc conj (g x) * ∫ y, (E p).indicator 1 x * MKD (𝔰 p) x y * f y          = ∫ y, conj (g x) * ((E p).indicator 1 x * MKD (𝔰 p) x y * f y) :=            (integral_const_mul _ _).symm        _ = ∫ y, conj (g x) * (E p).indicator 1 x * MKD (𝔰 p) x y * f y := by            congr 1; ext y; ring    _ = ∫ y, ∫ x, H x y := integral_integral_swap hH    _ = ∫ y, (∫ x, conj (g x) * (E p).indicator 1 x * MKD (𝔰 p) x y) * f y := by      simp_rw [H]; congr 1; ext y      exact integral_mul_const _ _    _ = ∫ y, conj (∫ x, g x * (E p).indicator 1 x * conj (MKD (𝔰 p) x y)) * f y := by      congr 1; ext y; congr 1      have h : βˆ€ x, conj (g x) * (E p).indicator 1 x * MKD (𝔰 p) x y =          conj (g x * (E p).indicator 1 x * conj (MKD (𝔰 p) x y)) :=        fun x => by rw [map_mul, conj_conj, map_mul, conj_indicator, map_one]      simp_rw [h]      exact integral_conj    _ = _ := by      congr! with y      simp_rw [mul_comm (g _) _]      calc        _ = ∫ x, (E p).indicator (fun x ↦ g x * conj (MKD (𝔰 p) x y)) x := by          congr with x; simp only [indicator]; split_ifs <;> simp        _ = ∫ x in E p, g x * conj (MKD (𝔰 p) x y) := integral_indicator measurableSet_E        _ = ∫ x in E p, conj (MKD (𝔰 p) x y) * g x := by congr; funext; rw [mul_comm]        _ = _ := by          unfold adjointCarleson MKD          congr; funext; rw [map_mul, ← exp_conj, mul_comm (cexp _)]          congr; simp; ring