fpvandoorn/carleson
Source indexedlemma Β· leanprover/lean4:v4.32.0
card_π
Carleson.Discrete.ForestComplement Β· Carleson/Discrete/ForestComplement.lean:323 to 371
Mathematical statement
Exact Lean statement
lemma card_π (p' : π X) {l : ββ₯0} (hl : 2 β€ l) : (π p' l).card β€ β2 ^ (4 * a) * l ^ aββComplete declaration
Lean source
Full Lean sourceLean 4
lemma card_π (p' : π X) {l : ββ₯0} (hl : 2 β€ l) : (π p' l).card β€ β2 ^ (4 * a) * l ^ aββ := by have djO : PairwiseDisjoint (SetLike.coe (π p' l)) fun p'' β¦ ball_(p') (π¬ p'') 5β»ΒΉ := fun pβ mpβ pβ mpβ hn β¦ by simp_rw [π, Finset.coe_filter, mem_setOf, Finset.mem_univ, true_and] at mpβ mpβ change Disjoint (ball_{π p'} (π¬ pβ) 5β»ΒΉ) (ball_{π p'} (π¬ pβ) 5β»ΒΉ) conv => enter [1]; rw [β mpβ.1] conv => enter [2]; rw [β mpβ.1] exact cball_disjoint hn (mpβ.1.trans mpβ.1.symm) have tO : β p'' β π p' l, ball_(p') (π¬ p'') 5β»ΒΉ β ball_(p') (π¬ p') (l + 6 / 5) := fun p'' mp'' β¦ by apply ball_subset_ball' simp_rw [π, Finset.mem_filter_univ] at mp'' obtain β¨x, mxβ, mxββ© := not_disjoint_iff.mp mp''.2 replace mxβ := _root_.subset_cball mxβ rw [@mem_ball] at mxβ calc _ β€ 5β»ΒΉ + (dist_{π p'} x (π¬ p'') + dist_{π p'} x (π¬ p')) := add_le_add_right (dist_triangle_left ..) _ _ β€ 5β»ΒΉ + (1 + l) := by gcongr Β· rw [β mp''.1]; exact mxβ.le Β· exact mxβ.le _ = _ := by rw [inv_eq_one_div, β add_assoc, add_comm _ l.toReal]; norm_num have vO : CoveredByBalls (ball_(p') (π¬ p') (l + 6 / 5)) β2 ^ (4 * a) * l ^ aββ 5β»ΒΉ := by apply (ballsCoverBalls_iterate (show 0 < 5β»ΒΉ by positivity) (π¬ p')).mono_nat calc _ β€ (defaultA a) ^ β4 + Real.logb 2 lββ := pow_le_pow_rightβ Nat.one_le_two_pow (ceil_log2_le_floor_four_add_log2 hl) _ β€ β(defaultA a : β) ^ (4 + Real.logb 2 l)ββ := by apply Nat.le_floor; rw [Nat.cast_pow, β Real.rpow_natCast] refine Real.rpow_le_rpow_of_exponent_le (by exact_mod_cast Nat.one_le_two_pow) (Nat.floor_le ?_) calc _ β₯ 4 + Real.logb 2 2 := add_le_add_right (Real.logb_le_logb_of_le one_lt_two zero_lt_two hl) _ _ β₯ _ := by rw [Real.logb_self_eq_one one_lt_two]; norm_num _ = _ := by rw [Nat.cast_pow, Nat.cast_ofNat, β Real.rpow_natCast, β Real.rpow_mul zero_le_two, mul_comm, add_mul, Real.rpow_add zero_lt_two, show (4 : β) * a = (4 * a : β) by simp, Real.rpow_natCast, Real.rpow_mul zero_le_two, Real.rpow_natCast, Real.rpow_logb zero_lt_two one_lt_two.ne' (by positivity)] rfl obtain β¨(T : Finset (Ξ X)), cT, uTβ© := vO refine (Finset.card_le_card_of_forall_subsingleton (fun p'' t β¦ π¬ p'' β ball_(p') t 5β»ΒΉ) (fun p'' mp'' β¦ ?_) (fun t _ oβ moβ oβ moβ β¦ ?_)).trans cT Β· have := (tO _ mp'').trans uT (mem_ball_self (by positivity)) rwa [mem_iUnionβ, bex_def] at this Β· simp_rw [mem_setOf_eq] at moβ moβ exact djO.elim moβ.1 moβ.1 (not_disjoint_iff.mpr β¨t, mem_ball_comm.mp moβ.2, mem_ball_comm.mp moβ.2β©)