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

MeasureTheory.lintegral_trunc_mul₀

Carleson.ToMathlib.RealInterpolation.Misc · Carleson/ToMathlib/RealInterpolation/Misc.lean:1001 to 1050

Mathematical statement

Exact Lean statement

lemma lintegral_trunc_mul₀ {g : ℝ → ℝ≥0∞} {j : Bool} {x : α} {tc : ToneCouple} {p : ℝ} (hp : 0 < p)
    :
    ∫⁻ s : ℝ in Ioi 0, (g s) * ‖trnc j f (tc.ton (ENNReal.ofReal s)) x‖ₑ ^ p =
    ∫⁻ s : ℝ in res' (xor j tc.mon) (tc.inv ‖f x‖ₑ), (g s) *
        ‖trnc j f (tc.ton (ENNReal.ofReal s)) x‖ₑ ^ p

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma lintegral_trunc_mul₀ {g :   0∞} {j : Bool} {x : α} {tc : ToneCouple} {p : } (hp : 0 < p)    :    ∫⁻ s :  in Ioi 0, (g s) * ‖trnc j f (tc.ton (ENNReal.ofReal s)) x‖ₑ ^ p =    ∫⁻ s :  in res' (xor j tc.mon) (tc.inv ‖f x‖ₑ), (g s) *        ‖trnc j f (tc.ton (ENNReal.ofReal s)) x‖ₑ ^ p := by  rw [lintegral_double_restrict_set (B := res' (xor j tc.mon) (tc.inv ‖f x‖ₑ))      measurableSet_Ioi measurableSet_res', inter_eq_self_of_subset_right res'subset_Ioi]  filter_upwards  rw [res'comp]  intro s  unfold res trnc trunc truncCompl  have mon_pf := tc.inv_pf  split_ifs at mon_pf with mon  · rw [mon]    rcases j    · simp only [Bool.bne_true, Bool.not_false, not_true_eq_false, decide_false,      Bool.false_eq_true, ↓reduceIte]      split_ifs with h <;> intro hs      · simp [hp]      · simp at hs      · simp [hp]      · have := (mon_pf (ENNReal.ofReal s) ‖f x‖ₑ).2.mpr ((lt_ofReal_iff_toReal_lt h).mpr hs)        order    · simp only [bne_self_eq_false, Bool.false_eq_true, not_false_eq_true, decide_true]      split_ifs with h <;> intro hs      · have := (mon_pf (.ofReal s) ‖f x‖ₑ).1.mpr (by rw [h]; exact coe_lt_top)        order      · simp [hp]      · have := (mon_pf (.ofReal s) ‖f x‖ₑ).1.mpr <| (ofReal_lt_iff_lt_toReal hs.1.le h).mpr hs.2        order      · simp [hp]  · rw [Bool.not_eq_true] at mon    rw [mon]    rcases j    · simp only [bne_self_eq_false, Bool.false_eq_true, not_false_eq_true, decide_true,      ↓reduceIte]      split_ifs with h <;> intro hs      · simp [hp]      · have := (mon_pf (.ofReal s) ‖f x‖ₑ).2.mpr (by rw [h]; exact coe_lt_top)        order      · simp [hp]      · have := (mon_pf (.ofReal s) ‖f x‖ₑ).2.mpr <| (ofReal_lt_iff_lt_toReal hs.1.le h).mpr hs.2        order    · simp only [Bool.bne_false, not_true_eq_false, decide_false, Bool.false_eq_true, ↓reduceIte]      split_ifs with h <;> intro hs      · simp at hs      · simp [hp]      · have := (mon_pf (.ofReal s) ‖f x‖ₑ).1.mpr <| (lt_ofReal_iff_toReal_lt h).mpr hs        order      · simp [hp]