fpvandoorn/carleson
Source indexedlemma · leanprover/lean4:v4.32.0
MeasureTheory.SimpleFunc.Antitone.support_eq
Carleson.ToMathlib.MeasureTheory.Function.SimpleFunc · Carleson/ToMathlib/MeasureTheory/Function/SimpleFunc.lean:218 to 274
Mathematical statement
Exact Lean statement
lemma Antitone.support_eq [ConditionallyCompleteLinearOrderBot α] [AddMonoid β] [LinearOrder β] [CanonicallyOrderedAdd β] [OrderBot β]
{f : α → β} (hf : Antitone f) :
f.support = if (BddAbove f.support) then
if (sSup f.support ∈ f.support)
then Set.Iic (sSup f.support)
else Set.Iio (sSup f.support)
else Set.univComplete declaration
Lean source
Full Lean sourceLean 4
lemma Antitone.support_eq [ConditionallyCompleteLinearOrderBot α] [AddMonoid β] [LinearOrder β] [CanonicallyOrderedAdd β] [OrderBot β] {f : α → β} (hf : Antitone f) : f.support = if (BddAbove f.support) then if (sSup f.support ∈ f.support) then Set.Iic (sSup f.support) else Set.Iio (sSup f.support) else Set.univ := by ext x simp only [Function.mem_support, ne_eq, ite_not] split_ifs with h h' · contrapose simp only [mem_Iio, not_lt] constructor · intro h'' apply csSup_le' rw [mem_upperBounds] intro y hy contrapose! hy simp only [Function.mem_support, ne_eq, Decidable.not_not] rw [← bot_eq_zero', ← le_bot_iff] convert (hf hy.le).trans_eq h'' exact bot_eq_zero' · intro h'' rw [← bot_eq_zero', ← le_bot_iff] convert (hf h'').trans_eq h' exact bot_eq_zero' · contrapose simp only [mem_Iic, not_le] constructor · intro h'' apply lt_of_le_of_ne · apply csSup_le' rw [mem_upperBounds] intro y hy contrapose! hy simp only [Function.mem_support, ne_eq, Decidable.not_not] rw [← bot_eq_zero', ← le_bot_iff] convert (hf hy.le).trans_eq h'' exact bot_eq_zero' · contrapose! h' rwa [h'] · intro h'' contrapose! h'' rw [le_csSup_iff' h] intro y hy rw [mem_upperBounds] at hy apply hy simpa · simp only [mem_univ, iff_true] contrapose! h use x intro y hy rw [Function.mem_support, ← bot_eq_zero', ← bot_lt_iff_ne_bot, bot_eq_zero'] at hy have := h.trans_lt hy contrapose! this exact hf this.le