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

stackSize_๐”˜โ‚„_le

Carleson.Discrete.ForestUnion ยท Carleson/Discrete/ForestUnion.lean:635 to 656

Mathematical statement

Exact Lean statement

lemma stackSize_๐”˜โ‚„_le (x : X) : stackSize (๐”˜โ‚„ (X := X) k n j l) x โ‰ค 2 ^ n

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma stackSize_๐”˜โ‚„_le (x : X) : stackSize (๐”˜โ‚„ (X := X) k n j l) x โ‰ค 2 ^ n := by classical calc  stackSize (๐”˜โ‚„ (X := X) k n j l) x  _ = โˆ‘ i โˆˆ Finset.Ico (l * 2 ^ n) ((l + 1) * 2 ^ n),        stackSize (iteratedMaximalSubfamily (๐”˜โ‚ƒ k n j) i) x := by    simp only [stackSize, ๐”˜โ‚„]    rw [โ† Finset.sum_biUnion]; swap    ยท intro a ha b hb hab      apply Finset.disjoint_coe.1      apply disjoint_iff_forall_ne.2 (fun p hp q hq โ†ฆ ?_)      simp only [Finset.coe_filter, Finset.mem_univ, true_and, setOf_mem_eq] at hp hq      have := pairwiseDisjoint_iteratedMaximalSubfamily (๐”˜โ‚ƒ (X := X) k n j)        (mem_univ a) (mem_univ b) hab      exact disjoint_iff_forall_ne.1 this hp hq    congr    ext p    simp_rw [Finset.mem_biUnion, Finset.mem_filter_univ, mem_Ico, Finset.mem_Ico, mem_iUnion,      exists_prop]  _ โ‰ค โˆ‘ i โˆˆ Finset.Ico (l * 2 ^ n) ((l + 1) * 2 ^ n), 1 := by    gcongr with i hi    apply stackSize_le_one_of_pairwiseDisjoint    apply pairwiseDisjoint_iteratedMaximalSubfamily_image  _ = 2 ^ n := by simp [add_mul]