Theorem: MonotoneOn.integrableOn_of_measure_ne_top
File: Mathlib/MeasureTheory/Function/LocallyIntegrable.lean

tactic: borelize E
state_before: X : Type u_1
Y : Type ?u.1757356
E : Type u_2
R : Type ?u.1757362
inst✝¹⁰ : MeasurableSpace X
inst✝⁹ : TopologicalSpace X
inst✝⁸ : MeasurableSpace Y
inst✝⁷ : TopologicalSpace Y
inst✝⁶ : NormedAddCommGroup E
f : X → E
μ : MeasureTheory.Measure X
s : Set X
inst✝⁵ : BorelSpace X
inst✝⁴ : ConditionallyCompleteLinearOrder X
inst✝³ : ConditionallyCompleteLinearOrder E
inst✝² : OrderTopology X
inst✝¹ : OrderTopology E
inst✝ : SecondCountableTopology E
hmono : MonotoneOn f s
a b : X
ha : IsLeast s a
hb : IsGreatest s b
hs : ↑↑μ s ≠ ⊤
h's : MeasurableSet s
⊢ IntegrableOn f s

tactic: obtain rfl | _ := s.eq_empty_or_nonempty
state_before: X : Type u_1
Y : Type ?u.1757356
E : Type u_2
R : Type ?u.1757362
inst✝¹⁰ : MeasurableSpace X
inst✝⁹ : TopologicalSpace X
inst✝⁸ : MeasurableSpace Y
inst✝⁷ : TopologicalSpace Y
inst✝⁶ : NormedAddCommGroup E
f : X → E
μ : MeasureTheory.Measure X
s : Set X
inst✝⁵ : BorelSpace X
inst✝⁴ : ConditionallyCompleteLinearOrder X
inst✝³ : ConditionallyCompleteLinearOrder E
inst✝² : OrderTopology X
inst✝¹ : OrderTopology E
inst✝ : SecondCountableTopology E
hmono : MonotoneOn f s
a b : X
ha : IsLeast s a
hb : IsGreatest s b
hs : ↑↑μ s ≠ ⊤
h's : MeasurableSet s
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
⊢ IntegrableOn f s

tactic: have hbelow : BddBelow (f '' s) := ⟨f a, fun x ⟨y, hy, hyx⟩ => hyx ▸ hmono ha.1 hy (ha.2 hy)⟩
state_before: case inr
X : Type u_1
Y : Type ?u.1757356
E : Type u_2
R : Type ?u.1757362
inst✝¹⁰ : MeasurableSpace X
inst✝⁹ : TopologicalSpace X
inst✝⁸ : MeasurableSpace Y
inst✝⁷ : TopologicalSpace Y
inst✝⁶ : NormedAddCommGroup E
f : X → E
μ : MeasureTheory.Measure X
s : Set X
inst✝⁵ : BorelSpace X
inst✝⁴ : ConditionallyCompleteLinearOrder X
inst✝³ : ConditionallyCompleteLinearOrder E
inst✝² : OrderTopology X
inst✝¹ : OrderTopology E
inst✝ : SecondCountableTopology E
hmono : MonotoneOn f s
a b : X
ha : IsLeast s a
hb : IsGreatest s b
hs : ↑↑μ s ≠ ⊤
h's : MeasurableSet s
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
h✝ : Set.Nonempty s
⊢ IntegrableOn f s

tactic: have habove : BddAbove (f '' s) := ⟨f b, fun x ⟨y, hy, hyx⟩ => hyx ▸ hmono hy hb.1 (hb.2 hy)⟩
state_before: case inr
X : Type u_1
Y : Type ?u.1757356
E : Type u_2
R : Type ?u.1757362
inst✝¹⁰ : MeasurableSpace X
inst✝⁹ : TopologicalSpace X
inst✝⁸ : MeasurableSpace Y
inst✝⁷ : TopologicalSpace Y
inst✝⁶ : NormedAddCommGroup E
f : X → E
μ : MeasureTheory.Measure X
s : Set X
inst✝⁵ : BorelSpace X
inst✝⁴ : ConditionallyCompleteLinearOrder X
inst✝³ : ConditionallyCompleteLinearOrder E
inst✝² : OrderTopology X
inst✝¹ : OrderTopology E
inst✝ : SecondCountableTopology E
hmono : MonotoneOn f s
a b : X
ha : IsLeast s a
hb : IsGreatest s b
hs : ↑↑μ s ≠ ⊤
h's : MeasurableSet s
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
h✝ : Set.Nonempty s
hbelow : BddBelow (f '' s)
⊢ IntegrableOn f s

tactic: have : Metric.Bounded (f '' s) := Metric.bounded_of_bddAbove_of_bddBelow habove hbelow
state_before: case inr
X : Type u_1
Y : Type ?u.1757356
E : Type u_2
R : Type ?u.1757362
inst✝¹⁰ : MeasurableSpace X
inst✝⁹ : TopologicalSpace X
inst✝⁸ : MeasurableSpace Y
inst✝⁷ : TopologicalSpace Y
inst✝⁶ : NormedAddCommGroup E
f : X → E
μ : MeasureTheory.Measure X
s : Set X
inst✝⁵ : BorelSpace X
inst✝⁴ : ConditionallyCompleteLinearOrder X
inst✝³ : ConditionallyCompleteLinearOrder E
inst✝² : OrderTopology X
inst✝¹ : OrderTopology E
inst✝ : SecondCountableTopology E
hmono : MonotoneOn f s
a b : X
ha : IsLeast s a
hb : IsGreatest s b
hs : ↑↑μ s ≠ ⊤
h's : MeasurableSet s
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
h✝ : Set.Nonempty s
hbelow : BddBelow (f '' s)
habove : BddAbove (f '' s)
⊢ IntegrableOn f s

tactic: rcases bounded_iff_forall_norm_le.mp this with ⟨C, hC⟩
state_before: case inr
X : Type u_1
Y : Type ?u.1757356
E : Type u_2
R : Type ?u.1757362
inst✝¹⁰ : MeasurableSpace X
inst✝⁹ : TopologicalSpace X
inst✝⁸ : MeasurableSpace Y
inst✝⁷ : TopologicalSpace Y
inst✝⁶ : NormedAddCommGroup E
f : X → E
μ : MeasureTheory.Measure X
s : Set X
inst✝⁵ : BorelSpace X
inst✝⁴ : ConditionallyCompleteLinearOrder X
inst✝³ : ConditionallyCompleteLinearOrder E
inst✝² : OrderTopology X
inst✝¹ : OrderTopology E
inst✝ : SecondCountableTopology E
hmono : MonotoneOn f s
a b : X
ha : IsLeast s a
hb : IsGreatest s b
hs : ↑↑μ s ≠ ⊤
h's : MeasurableSet s
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
h✝ : Set.Nonempty s
hbelow : BddBelow (f '' s)
habove : BddAbove (f '' s)
this : Metric.Bounded (f '' s)
⊢ IntegrableOn f s

tactic: have A : IntegrableOn (fun _ => C) s μ := by
  simp only [hs.lt_top, integrableOn_const, or_true_iff]
state_before: case inr.intro
X : Type u_1
Y : Type ?u.1757356
E : Type u_2
R : Type ?u.1757362
inst✝¹⁰ : MeasurableSpace X
inst✝⁹ : TopologicalSpace X
inst✝⁸ : MeasurableSpace Y
inst✝⁷ : TopologicalSpace Y
inst✝⁶ : NormedAddCommGroup E
f : X → E
μ : MeasureTheory.Measure X
s : Set X
inst✝⁵ : BorelSpace X
inst✝⁴ : ConditionallyCompleteLinearOrder X
inst✝³ : ConditionallyCompleteLinearOrder E
inst✝² : OrderTopology X
inst✝¹ : OrderTopology E
inst✝ : SecondCountableTopology E
hmono : MonotoneOn f s
a b : X
ha : IsLeast s a
hb : IsGreatest s b
hs : ↑↑μ s ≠ ⊤
h's : MeasurableSet s
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
h✝ : Set.Nonempty s
hbelow : BddBelow (f '' s)
habove : BddAbove (f '' s)
this : Metric.Bounded (f '' s)
C : ℝ
hC : ∀ (x : E), x ∈ f '' s → ‖x‖ ≤ C
⊢ IntegrableOn f s

tactic: refine'
  Integrable.mono' A (aemeasurable_restrict_of_monotoneOn h's hmono).aestronglyMeasurable
    ((ae_restrict_iff' h's).mpr <| ae_of_all _ fun y hy => hC (f y) (mem_image_of_mem f hy))
state_before: case inr.intro
X : Type u_1
Y : Type ?u.1757356
E : Type u_2
R : Type ?u.1757362
inst✝¹⁰ : MeasurableSpace X
inst✝⁹ : TopologicalSpace X
inst✝⁸ : MeasurableSpace Y
inst✝⁷ : TopologicalSpace Y
inst✝⁶ : NormedAddCommGroup E
f : X → E
μ : MeasureTheory.Measure X
s : Set X
inst✝⁵ : BorelSpace X
inst✝⁴ : ConditionallyCompleteLinearOrder X
inst✝³ : ConditionallyCompleteLinearOrder E
inst✝² : OrderTopology X
inst✝¹ : OrderTopology E
inst✝ : SecondCountableTopology E
hmono : MonotoneOn f s
a b : X
ha : IsLeast s a
hb : IsGreatest s b
hs : ↑↑μ s ≠ ⊤
h's : MeasurableSet s
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
h✝ : Set.Nonempty s
hbelow : BddBelow (f '' s)
habove : BddAbove (f '' s)
this : Metric.Bounded (f '' s)
C : ℝ
hC : ∀ (x : E), x ∈ f '' s → ‖x‖ ≤ C
A : IntegrableOn (fun x => C) s
⊢ IntegrableOn f s

tactic: exact integrableOn_empty
state_before: case inl
X : Type u_1
Y : Type ?u.1757356
E : Type u_2
R : Type ?u.1757362
inst✝¹⁰ : MeasurableSpace X
inst✝⁹ : TopologicalSpace X
inst✝⁸ : MeasurableSpace Y
inst✝⁷ : TopologicalSpace Y
inst✝⁶ : NormedAddCommGroup E
f : X → E
μ : MeasureTheory.Measure X
inst✝⁵ : BorelSpace X
inst✝⁴ : ConditionallyCompleteLinearOrder X
inst✝³ : ConditionallyCompleteLinearOrder E
inst✝² : OrderTopology X
inst✝¹ : OrderTopology E
inst✝ : SecondCountableTopology E
a b : X
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
hmono : MonotoneOn f ∅
ha : IsLeast ∅ a
hb : IsGreatest ∅ b
hs : ↑↑μ ∅ ≠ ⊤
h's : MeasurableSet ∅
⊢ IntegrableOn f ∅

tactic: simp only [hs.lt_top, integrableOn_const, or_true_iff]
state_before: X : Type u_1
Y : Type ?u.1757356
E : Type u_2
R : Type ?u.1757362
inst✝¹⁰ : MeasurableSpace X
inst✝⁹ : TopologicalSpace X
inst✝⁸ : MeasurableSpace Y
inst✝⁷ : TopologicalSpace Y
inst✝⁶ : NormedAddCommGroup E
f : X → E
μ : MeasureTheory.Measure X
s : Set X
inst✝⁵ : BorelSpace X
inst✝⁴ : ConditionallyCompleteLinearOrder X
inst✝³ : ConditionallyCompleteLinearOrder E
inst✝² : OrderTopology X
inst✝¹ : OrderTopology E
inst✝ : SecondCountableTopology E
hmono : MonotoneOn f s
a b : X
ha : IsLeast s a
hb : IsGreatest s b
hs : ↑↑μ s ≠ ⊤
h's : MeasurableSet s
this✝¹ : MeasurableSpace E := borel E
this✝ : BorelSpace E
h✝ : Set.Nonempty s
hbelow : BddBelow (f '' s)
habove : BddAbove (f '' s)
this : Metric.Bounded (f '' s)
C : ℝ
hC : ∀ (x : E), x ∈ f '' s → ‖x‖ ≤ C
⊢ IntegrableOn (fun x => C) s