fpvandoorn/carleson
Source indexedlemma Β· leanprover/lean4:v4.32.0
URel.not_disjoint
Carleson.Discrete.ForestUnion Β· Carleson/Discrete/ForestUnion.lean:151 to 193
Source documentation
Lemma 5.4.1, part 2.
Exact Lean statement
lemma URel.not_disjoint (hu : u β πβ k n j) (hu' : u' β πβ k n j) (huu' : URel k n j u u') :
Β¬Disjoint (ball_(u) (π¬ u) 100) (ball_(u') (π¬ u') 100)Complete declaration
Lean source
Full Lean sourceLean 4
lemma URel.not_disjoint (hu : u β πβ k n j) (hu' : u' β πβ k n j) (huu' : URel k n j u u') : Β¬Disjoint (ball_(u) (π¬ u) 100) (ball_(u') (π¬ u') 100) := by classical by_cases e : u = u' Β· rw [e] exact not_disjoint_iff.mpr β¨π¬ u', mem_ball_self (by positivity), mem_ball_self (by positivity)β© simp_rw [URel, e, false_or] at huu'; obtain β¨p, β¨mp, np, slββ©, slββ© := huu' by_cases e' : π p = π u' Β· refine not_disjoint_iff.mpr β¨π¬ u, mem_ball_self (by positivity), ?_β© have i1 : ball_{π u} (π¬ u) 1 β ball_{π p} (π¬ p) 2 := slβ.2 have i2 : ball_{π u'} (π¬ u') 1 β ball_{π p} (π¬ p) 10 := slβ.2 replace i1 : π¬ u β ball_{π p} (π¬ p) 2 := i1 (mem_ball_self zero_lt_one) replace i2 : π¬ u' β ball_{π p} (π¬ p) 10 := i2 (mem_ball_self zero_lt_one) rw [e'] at i1 i2 calc _ β€ dist_{π u'} (π¬ u) (π¬ p) + dist_{π u'} (π¬ u') (π¬ p) := dist_triangle_right .. _ < 2 + 10 := add_lt_add i1 i2 _ < 100 := by norm_num have plu : smul 100 p β€ smul 100 u := wiggle_order_100 (smul_mono slβ le_rfl (by norm_num)) np have plu' : smul 100 p β€ smul 100 u' := wiggle_order_100 slβ e' by_contra h have π
dj : Disjoint (π
k n u) (π
k n u') := by simp_rw [π
, disjoint_left, mem_setOf, not_and]; intro q β¨_, slβ© _ simp_rw [TileLike.le_def, smul_fst, smul_snd, not_and_or] at sl β’; right have := disjoint_left.mp (h.mono_left sl.2) (mem_ball_self zero_lt_one) rw [not_subset]; use π¬ q, mem_ball_self zero_lt_one have usp : π
k n u β π
k n p := fun q mq β¦ by rw [π
, mem_setOf] at mq β’; exact β¨mq.1, plu.trans mq.2β© have u'sp : π
k n u' β π
k n p := fun q mq β¦ by rw [π
, mem_setOf] at mq β’; exact β¨mq.1, plu'.trans mq.2β© rw [πβ, mem_setOf, πβ, mem_setOf] at hu hu' apply absurd (card_π
_of_mem_ββ mp).2; rw [not_lt] calc _ = 2 ^ j + 2 ^ j := Nat.two_pow_succ j _ β€ (π
k n u).toFinset.card + (π
k n u').toFinset.card := add_le_add (card_π
_of_mem_ββ hu.1.1).1 (card_π
_of_mem_ββ hu'.1.1).1 _ = (π
k n u βͺ π
k n u').toFinset.card := by rw [toFinset_union]; refine (Finset.card_union_of_disjoint ?_).symm rwa [Set.disjoint_toFinset] _ β€ _ := by apply Finset.card_le_card simp_rw [toFinset_union, subset_toFinset, Finset.coe_union, coe_toFinset, union_subset_iff] exact β¨usp, u'spβ©