Theorem: MeasureTheory.hasFiniteIntegral_toReal_of_lintegral_ne_top
File: Mathlib/MeasureTheory/Function/L1Space.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f : α → ℝ≥0∞
hf : ∫⁻ (x : α), f x ∂μ ≠ ⊤
⊢ HasFiniteIntegral (fun x => (f x).toReal) μ
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f : α → ℝ≥0∞
hf : ∫⁻ (x : α), f x ∂μ ≠ ⊤
this : ∀ (x : α), ↑‖(f x).toReal‖₊ = ↑⟨(f x).toReal, ⋯⟩
⊢ HasFiniteIntegral (fun x => (f x).toReal) μ
tactic: have :
      ∀ x, (‖(f x).toReal‖₊ : ℝ≥0∞) = ENNReal.ofNNReal ⟨(f x).toReal, ENNReal.toReal_nonneg⟩ := by
    intro x
    rw [Real.nnnorm_of_nonneg]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f : α → ℝ≥0∞
hf : ∫⁻ (x : α), f x ∂μ ≠ ⊤
this : ∀ (x : α), ↑‖(f x).toReal‖₊ = ↑⟨(f x).toReal, ⋯⟩
⊢ HasFiniteIntegral (fun x => (f x).toReal) μ
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f : α → ℝ≥0∞
hf : ∫⁻ (x : α), f x ∂μ ≠ ⊤
this : ∀ (x : α), ↑‖(f x).toReal‖₊ = ↑⟨(f x).toReal, ⋯⟩
⊢ ∫⁻ (a : α), ↑⟨(f a).toReal, ⋯⟩ ∂μ < ⊤
tactic: simp_rw [HasFiniteIntegral, this]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f : α → ℝ≥0∞
hf : ∫⁻ (x : α), f x ∂μ ≠ ⊤
this : ∀ (x : α), ↑‖(f x).toReal‖₊ = ↑⟨(f x).toReal, ⋯⟩
⊢ ∫⁻ (a : α), ↑⟨(f a).toReal, ⋯⟩ ∂μ < ⊤
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f : α → ℝ≥0∞
hf : ∫⁻ (x : α), f x ∂μ ≠ ⊤
this : ∀ (x : α), ↑‖(f x).toReal‖₊ = ↑⟨(f x).toReal, ⋯⟩
x : α
⊢ ↑⟨(f x).toReal, ⋯⟩ ≤ f x
tactic: refine lt_of_le_of_lt (lintegral_mono fun x => ?_) (lt_top_iff_ne_top.2 hf)
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f : α → ℝ≥0∞
hf : ∫⁻ (x : α), f x ∂μ ≠ ⊤
this : ∀ (x : α), ↑‖(f x).toReal‖₊ = ↑⟨(f x).toReal, ⋯⟩
x : α
⊢ ↑⟨(f x).toReal, ⋯⟩ ≤ f x
state_after: case pos
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f : α → ℝ≥0∞
hf : ∫⁻ (x : α), f x ∂μ ≠ ⊤
this : ∀ (x : α), ↑‖(f x).toReal‖₊ = ↑⟨(f x).toReal, ⋯⟩
x : α
hfx : f x = ⊤
⊢ ↑⟨(f x).toReal, ⋯⟩ ≤ f x

case neg
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f : α → ℝ≥0∞
hf : ∫⁻ (x : α), f x ∂μ ≠ ⊤
this : ∀ (x : α), ↑‖(f x).toReal‖₊ = ↑⟨(f x).toReal, ⋯⟩
x : α
hfx : ¬f x = ⊤
⊢ ↑⟨(f x).toReal, ⋯⟩ ≤ f x
tactic: by_cases hfx : f x = ∞