Theorem: MeasureTheory.setLIntegral_lt_top_of_bddAbove
File: Mathlib/MeasureTheory/Integral/Lebesgue.lean

tactic: obtain ⟨M, hM⟩ := hbdd
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
s : Set α
hs : μ s ≠ ⊤
f : α → ℝ≥0
hf : Measurable f
hbdd : BddAbove (f '' s)
⊢ ∫⁻ (x : α) in s, ↑(f x) ∂μ < ⊤
state_after: case intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
s : Set α
hs : μ s ≠ ⊤
f : α → ℝ≥0
hf : Measurable f
M : ℝ≥0
hM : M ∈ upperBounds (f '' s)
⊢ ∫⁻ (x : α) in s, ↑(f x) ∂μ < ⊤

tactic: rw [mem_upperBounds] at hM
state_before: case intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
s : Set α
hs : μ s ≠ ⊤
f : α → ℝ≥0
hf : Measurable f
M : ℝ≥0
hM : M ∈ upperBounds (f '' s)
⊢ ∫⁻ (x : α) in s, ↑(f x) ∂μ < ⊤
state_after: case intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
s : Set α
hs : μ s ≠ ⊤
f : α → ℝ≥0
hf : Measurable f
M : ℝ≥0
hM : ∀ x ∈ f '' s, x ≤ M
⊢ ∫⁻ (x : α) in s, ↑(f x) ∂μ < ⊤

tactic: refine
  lt_of_le_of_lt (setLIntegral_mono hf.coe_nnreal_ennreal (@measurable_const _ _ _ _ ↑M) ?_) ?_
state_before: case intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
s : Set α
hs : μ s ≠ ⊤
f : α → ℝ≥0
hf : Measurable f
M : ℝ≥0
hM : ∀ x ∈ f '' s, x ≤ M
⊢ ∫⁻ (x : α) in s, ↑(f x) ∂μ < ⊤
state_after: case intro.refine_1
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
s : Set α
hs : μ s ≠ ⊤
f : α → ℝ≥0
hf : Measurable f
M : ℝ≥0
hM : ∀ x ∈ f '' s, x ≤ M
⊢ ∀ x ∈ s, ↑(f x) ≤ ↑M

case intro.refine_2
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
s : Set α
hs : μ s ≠ ⊤
f : α → ℝ≥0
hf : Measurable f
M : ℝ≥0
hM : ∀ x ∈ f '' s, x ≤ M
⊢ ∫⁻ (x : α) in s, ↑M ∂μ < ⊤

tactic: simpa using hM
state_before: case intro.refine_1
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
s : Set α
hs : μ s ≠ ⊤
f : α → ℝ≥0
hf : Measurable f
M : ℝ≥0
hM : ∀ x ∈ f '' s, x ≤ M
⊢ ∀ x ∈ s, ↑(f x) ≤ ↑M
state_after: no goals

tactic: rw [lintegral_const]
state_before: case intro.refine_2
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
s : Set α
hs : μ s ≠ ⊤
f : α → ℝ≥0
hf : Measurable f
M : ℝ≥0
hM : ∀ x ∈ f '' s, x ≤ M
⊢ ∫⁻ (x : α) in s, ↑M ∂μ < ⊤
state_after: case intro.refine_2
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
s : Set α
hs : μ s ≠ ⊤
f : α → ℝ≥0
hf : Measurable f
M : ℝ≥0
hM : ∀ x ∈ f '' s, x ≤ M
⊢ ↑M * (μ.restrict s) univ < ⊤

tactic: refine ENNReal.mul_lt_top ENNReal.coe_lt_top.ne ?_
state_before: case intro.refine_2
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
s : Set α
hs : μ s ≠ ⊤
f : α → ℝ≥0
hf : Measurable f
M : ℝ≥0
hM : ∀ x ∈ f '' s, x ≤ M
⊢ ↑M * (μ.restrict s) univ < ⊤
state_after: case intro.refine_2
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
s : Set α
hs : μ s ≠ ⊤
f : α → ℝ≥0
hf : Measurable f
M : ℝ≥0
hM : ∀ x ∈ f '' s, x ≤ M
⊢ (μ.restrict s) univ ≠ ⊤

tactic: simp [hs]
state_before: case intro.refine_2
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
s : Set α
hs : μ s ≠ ⊤
f : α → ℝ≥0
hf : Measurable f
M : ℝ≥0
hM : ∀ x ∈ f '' s, x ≤ M
⊢ (μ.restrict s) univ ≠ ⊤
state_after: no goals