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

Set.iUnion_lt_minLayer_iff_bounded_series

Carleson.ToMathlib.MinLayer · Carleson/ToMathlib/MinLayer.lean:158 to 183

Mathematical statement

Exact Lean statement

lemma iUnion_lt_minLayer_iff_bounded_series :
    ⋃ (k < n), A.minLayer k = A ↔ ∀ p : LTSeries A, p.length < n

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma iUnion_lt_minLayer_iff_bounded_series :    ⋃ (k < n), A.minLayer k = A   p : LTSeries A, p.length < n := by  refine fun h p  ?_, fun hlength  ?_  · have hx : p.last.1  ⋃ (k < n), A.minLayer k := h.symmp.last.2    simp only [minLayer_eq_setOf_height] at hx    push _  _ at hx    simp only [Subtype.coe_eta, Subtype.coe_prop, exists_const] at hx    obtain i, hix, hi := hx    have hh := length_le_height_last (p := p)    rw [hi, Nat.cast_le] at hh    exact hh.trans_lt hix  · ext x    simp only [minLayer_eq_setOf_height]; push _  _    wlog hxs : x  A; · simp [hxs]    simp only [hxs, exists_true_left, iff_true]    suffices height (x, hxs : A) < n by      revert this      cases height (x, hxs : A) <;> simp    cases n with    | zero =>      specialize hlength (RelSeries.singleton _ x, hxs)      simp at hlength    | succ n =>      simp only [Nat.lt_succ_iff] at hlength      apply lt_of_le_of_lt (b := ↑n) _ (mod_cast lt_add_one n)      exact iSup_le fun _  by simp [hlength]