On complemented subspaces of L1[0,1]L_1[0,1]

PL1/KFunctionalNormLaws.lean

All source files · Download exact source

SHA-256: 23aa82464ff958ef57929a1743f42dab0b73d7256b8cfd87c80e2d6084b5ff66

1import PL1.KFunctionalIntegralMeasurable2import PL1.KFunctionalProperties34/-! Norm laws for the actual extended continuous interpolation integral. -/56noncomputable section7open MeasureTheory Set Filter8open scoped ENNReal NNReal910namespace PL1.KFunctional11open Noise Walsh1213variable (K : Type*) [RCLike K] (rates : ℕ → ℝ≥0)1415@[simp] theorem continuousNorm_zero : continuousNorm K rates 0 = 0 := by16  unfold continuousNorm17  calc18    _ = ∫⁻ _t in Ioi (0 : ℝ), (0 : ℝ≥0∞) := by19      apply setLIntegral_congr_fun measurableSet_Ioi20      intro t ht21      dsimp only22      rw [value_zero K rates (Set.mem_Ioi.mp ht).le, mul_zero, ENNReal.ofReal_zero]23    _ = 0 := by simp2425theorem continuousNorm_smul (a : K) (f : Lp K 1 haar) :26    continuousNorm K rates (a • f) = ENNReal.ofReal ‖a‖ * continuousNorm K rates f := by27  unfold continuousNorm28  calc29    _ = ∫⁻ t in Ioi (0 : ℝ), ENNReal.ofReal ‖a‖ *30        ENNReal.ofReal (t ^ (-3 / 2 : ℝ) * value K rates t f) := by31      apply setLIntegral_congr_fun measurableSet_Ioi32      intro t ht33      dsimp only34      rw [value_smul K rates (Set.mem_Ioi.mp ht).le]35      rw [show t ^ (-3 / 2 : ℝ) * (‖a‖ * value K rates t f) =36        ‖a‖ * (t ^ (-3 / 2 : ℝ) * value K rates t f) by ring,37        ENNReal.ofReal_mul (norm_nonneg a)]38    _ = _ := lintegral_const_mul' _ _ ENNReal.ofReal_ne_top3940theorem continuousNorm_add_le (f g : Lp K 1 haar) :41    continuousNorm K rates (f + g) ≤ continuousNorm K rates f + continuousNorm K rates g := by42  have h : (fun t : ℝ => ENNReal.ofReal (t ^ (-3 / 2 : ℝ) * value K rates t (f + g)))43      ≤ᵐ[volume.restrict (Ioi (0 : ℝ))]44      (fun t => ENNReal.ofReal (t ^ (-3 / 2 : ℝ) * value K rates t f) +45        ENNReal.ofReal (t ^ (-3 / 2 : ℝ) * value K rates t g)) := by46    filter_upwards [ae_restrict_mem measurableSet_Ioi] with t ht47    have ht0 : 0 ≤ t := (Set.mem_Ioi.mp ht).le48    have hp := Real.rpow_nonneg ht0 (-3 / 2 : ℝ)49    rw [← ENNReal.ofReal_add (mul_nonneg hp (value_nonneg K rates ht0 f))50      (mul_nonneg hp (value_nonneg K rates ht0 g)), ← mul_add]51    exact ENNReal.ofReal_le_ofReal52      (mul_le_mul_of_nonneg_left (value_add_le K rates ht0 f g) hp)53  have hi := lintegral_mono_ae h54  rw [lintegral_add_left' (interpolationDensity_aemeasurable K rates f)] at hi55  exact hi5657theorem two_norm_le_continuousNorm (f : Lp K 1 haar) :58    ENNReal.ofReal (2 * ‖f‖) ≤ continuousNorm K rates f := by59  change ENNReal.ofReal (2 * ‖f‖) ≤60    DyadicInterpolation.fullIntegral (fun t => value K rates t f)61  rw [DyadicInterpolation.fullIntegral_eq (norm_nonneg f)62    (fun _ ht => value_eq_norm_of_one_le K rates ht f)]63  exact le_add_self6465@[simp] theorem continuousNorm_eq_zero_iff (f : Lp K 1 haar) :66    continuousNorm K rates f = 0 ↔ f = 0 := by67  constructor68  · intro hf69    have h := two_norm_le_continuousNorm K rates f70    rw [hf] at h71    have hn := ENNReal.ofReal_eq_zero.mp (le_antisymm h bot_le)72    apply norm_eq_zero.mp73    linarith [norm_nonneg f]74  · rintro rfl75    exact continuousNorm_zero K rates7677end PL1.KFunctional78