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

czOperatorBound_inner_le

Carleson.TwoSidedCarleson.WeakCalderonZygmund · Carleson/TwoSidedCarleson/WeakCalderonZygmund.lean:1511 to 1588

Mathematical statement

Exact Lean statement

lemma czOperatorBound_inner_le (ha : 4 ≤ a) (hX : GeneralCase f (α' a α)) {i : ℕ} :
    ∫⁻ x in (Ω f (α' a α))ᶜ, ((3 * czRadius hX i).toNNReal / edist x (czCenter hX i)) ^ (a : ℝ)⁻¹ /
      volume (ball x (dist x (czCenter hX i))) ≤ 2 ^ (3 * a)

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma czOperatorBound_inner_le (ha : 4  a) (hX : GeneralCase f (α' a α)) {i : } :    ∫⁻ x in (Ω f (α' a α))ᶜ, ((3 * czRadius hX i).toNNReal / edist x (czCenter hX i)) ^ (a : )⁻¹ /      volume (ball x (dist x (czCenter hX i)))  2 ^ (3 * a) := by  set r := 3 * czRadius hX i  set c := czCenter hX i  rcases le_or_gt r 0 with hr | hr  · simp_rw [Real.toNNReal_of_nonpos hr, coe_zero, ENNReal.zero_div]    rw [ENNReal.zero_rpow_of_pos (by rw [inv_pos, Nat.cast_pos]; exact zero_lt_four.trans_le ha)]    simp_rw [ENNReal.zero_div, lintegral_zero]; exact zero_le  calc    _  ∫⁻ x in (czBall6 hX i)ᶜ,        (r.toNNReal / edist x c) ^ (a : )⁻¹ / volume (ball x (dist x c)) := by      apply lintegral_mono_set; simp_rw [compl_subset_compl, Ω, hX, dite_true]      exact subset_iUnion ..    _  ∫⁻ x in (czBall6 hX i)ᶜ,        (r.toNNReal / edist x c) ^ (a : )⁻¹ / (volume (ball c (dist x c)) / 2 ^ a) := by      gcongr with x; apply div_le_of_le_mul      calc        _  volume (ball x (2 * dist x c)) :=          measure_mono (ball_subset_ball' (by rw [dist_comm, two_mul]))        _  _ := by          rw [mul_comm _ (2 ^ a)]          convert measure_ball_two_le_same (μ := volume) x (dist x c)          unfold defaultA; norm_cast    _ = 2 ^ a * ∫⁻ x in (czBall6 hX i)ᶜ,        (r.toNNReal / edist x c) ^ (a : )⁻¹ / volume (ball c (dist x c)) := by      rw [ lintegral_const_mul' _ _ (by finiteness)]; congr! 2 with x      rw [ENNReal.div_eq_inv_mul, ENNReal.inv_div (.inl (by finiteness)) (.inl (by positivity)),        ENNReal.mul_comm_div]    _  2 ^ a * ∫⁻ x in ⋃ n, ball c (2 ^ (n + 1) * r) \ ball c (2 ^ n * r),        (r.toNNReal / edist x c) ^ (a : )⁻¹ / volume (ball c (dist x c)) := by      gcongr _ * ?_; refine lintegral_mono_set fun x mx  ?_      rw [czBall6, mem_compl_iff, mem_ball, not_lt, show (6 : ) = 2 * 3 by norm_num,        mul_assoc] at mx      change 2 * r  dist x c at mx      rw [mem_iUnion]; useReal.logb 2 (dist x c / r)⌋₊; simp_rw [Set.mem_sdiff, mem_ball, not_lt]      have dxcpos : 0 < dist x c := lt_of_lt_of_le (by positivity) mx      have dxceq : dist x c = 2 ^ (Real.logb 2 (dist x c / r)) * r := by        rw [Real.rpow_logb zero_lt_two (by norm_num) (by positivity), div_mul_cancel₀ _ hr.ne']      constructor      · nth_rw 1 [dxceq,  Real.rpow_natCast]; push_cast; gcongr        exact Real.rpow_lt_rpow_of_exponent_lt one_lt_two (Nat.lt_floor_add_one _)      · nth_rw 2 [dxceq]; rw [ Real.rpow_natCast]; gcongr        · exact one_le_two        · refine Nat.floor_le (Real.logb_nonneg one_lt_two ((one_le_div₀ hr).mpr ?_))          linarith only [hr, mx]    _  2 ^ a * ∑' n, ∫⁻ x in ball c (2 ^ (n + 1) * r) \ ball c (2 ^ n * r),        (r.toNNReal / edist x c) ^ (a : )⁻¹ / volume (ball c (dist x c)) := by      gcongr; exact lintegral_iUnion_le _ _    _  2 ^ a * ∑' n, ∫⁻ x in ball c (2 ^ (n + 1) * r) \ ball c (2 ^ n * r),        (2 ^ n)⁻¹ ^ (a : )⁻¹ / volume (ball c (2 ^ n * r)) := by      gcongr 2 ^ a * ∑' n, ?_ with n      refine setLIntegral_mono' (measurableSet_ball.diff measurableSet_ball) fun x mx  ?_      simp_rw [Set.mem_sdiff, mem_ball, not_lt] at mx      gcongr      · change ENNReal.ofReal r / _  _        have dxcpos : 0 < dist x c := lt_of_lt_of_le (by positivity) mx.2        rw [le_inv_iff_mul_le, mul_comm,  mul_div_assoc, show 2 = ENNReal.ofReal 2 by simp,           ofReal_pow zero_le_two,  ofReal_mul (by positivity), edist_dist,           ofReal_div_of_pos dxcpos,  ofReal_one]        apply ofReal_le_ofReal; rw [div_le_one dxcpos]; exact mx.2      · exact mx.2    _ = 2 ^ a * ∑' n : , 2 ^ (-n / a : ) *        (volume (ball c (2 ^ (n + 1) * r) \ ball c (2 ^ n * r)) / volume (ball c (2 ^ n * r))) := by      congr! 3 with n; rw [setLIntegral_const,  ENNReal.mul_div_right_comm,  mul_div_assoc]      congr 2; rw [ rpow_natCast,  rpow_neg,  rpow_mul,  div_eq_mul_inv]    _  2 ^ a * ∑' n : , 2 ^ (-n / a : ) * 2 ^ a := by      gcongr with n; apply div_le_of_le_mul      calc        _  volume (ball c (2 * (2 ^ n * r))) := by          rw [ mul_assoc 2,  pow_succ']; exact measure_mono sdiff_subset        _  _ := by          convert measure_ball_two_le_same (μ := volume) c (2 ^ n * r)          unfold defaultA; norm_cast    _  2 ^ a * 2 ^ a * 2 ^ a := by      rw [ENNReal.tsum_mul_right,  mul_assoc]; gcongr      rw [ rpow_natCast]; exact geometric_series_estimate (by norm_cast; lia)    _ = _ := by norm_cast; ring