Theorem: MeasureTheory.lintegral_lt_top_of_boundedContinuous_to_nnreal
File: Mathlib/MeasureTheory/Measure/FiniteMeasure.lean

tactic: apply IsFiniteMeasure.lintegral_lt_top_of_bounded_to_eNNReal
state_before: Ω : Type u_1
inst✝⁶ : MeasurableSpace Ω
R : Type ?u.44593
inst✝⁵ : SMul R ℝ≥0
inst✝⁴ : SMul R ℝ≥0∞
inst✝³ : IsScalarTower R ℝ≥0 ℝ≥0∞
inst✝² : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝¹ : TopologicalSpace Ω
μ : Measure Ω
inst✝ : IsFiniteMeasure μ
f : Ω →ᵇ ℝ≥0
⊢ (∫⁻ (ω : Ω), ↑(↑f ω) ∂μ) < ⊤

tactic: use nndist f 0
state_before: case f_bdd
Ω : Type u_1
inst✝⁶ : MeasurableSpace Ω
R : Type ?u.44593
inst✝⁵ : SMul R ℝ≥0
inst✝⁴ : SMul R ℝ≥0∞
inst✝³ : IsScalarTower R ℝ≥0 ℝ≥0∞
inst✝² : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝¹ : TopologicalSpace Ω
μ : Measure Ω
inst✝ : IsFiniteMeasure μ
f : Ω →ᵇ ℝ≥0
⊢ ∃ c, ∀ (x : Ω), ↑(↑f x) ≤ ↑c

tactic: intro x
state_before: case f_bdd
Ω : Type u_1
inst✝⁶ : MeasurableSpace Ω
R : Type ?u.44593
inst✝⁵ : SMul R ℝ≥0
inst✝⁴ : SMul R ℝ≥0∞
inst✝³ : IsScalarTower R ℝ≥0 ℝ≥0∞
inst✝² : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝¹ : TopologicalSpace Ω
μ : Measure Ω
inst✝ : IsFiniteMeasure μ
f : Ω →ᵇ ℝ≥0
⊢ ∀ (x : Ω), ↑(↑f x) ≤ ↑(nndist f 0)

tactic: have key := BoundedContinuousFunction.Nnreal.upper_bound f x
state_before: case f_bdd
Ω : Type u_1
inst✝⁶ : MeasurableSpace Ω
R : Type ?u.44593
inst✝⁵ : SMul R ℝ≥0
inst✝⁴ : SMul R ℝ≥0∞
inst✝³ : IsScalarTower R ℝ≥0 ℝ≥0∞
inst✝² : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝¹ : TopologicalSpace Ω
μ : Measure Ω
inst✝ : IsFiniteMeasure μ
f : Ω →ᵇ ℝ≥0
x : Ω
⊢ ↑(↑f x) ≤ ↑(nndist f 0)

tactic: rw [ENNReal.coe_le_coe]
state_before: case f_bdd
Ω : Type u_1
inst✝⁶ : MeasurableSpace Ω
R : Type ?u.44593
inst✝⁵ : SMul R ℝ≥0
inst✝⁴ : SMul R ℝ≥0∞
inst✝³ : IsScalarTower R ℝ≥0 ℝ≥0∞
inst✝² : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝¹ : TopologicalSpace Ω
μ : Measure Ω
inst✝ : IsFiniteMeasure μ
f : Ω →ᵇ ℝ≥0
x : Ω
key : ↑f x ≤ nndist f 0
⊢ ↑(↑f x) ≤ ↑(nndist f 0)

tactic: have eq : nndist f 0 = ⟨dist f 0, dist_nonneg⟩ := by
  ext
  simp only [Real.coe_toNNReal', max_eq_left_iff, NNReal.coe_mk, coe_nndist]
state_before: case f_bdd
Ω : Type u_1
inst✝⁶ : MeasurableSpace Ω
R : Type ?u.44593
inst✝⁵ : SMul R ℝ≥0
inst✝⁴ : SMul R ℝ≥0∞
inst✝³ : IsScalarTower R ℝ≥0 ℝ≥0∞
inst✝² : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝¹ : TopologicalSpace Ω
μ : Measure Ω
inst✝ : IsFiniteMeasure μ
f : Ω →ᵇ ℝ≥0
x : Ω
key : ↑f x ≤ nndist f 0
⊢ ↑f x ≤ nndist f 0

tactic: rwa [eq] at key
state_before: case f_bdd
Ω : Type u_1
inst✝⁶ : MeasurableSpace Ω
R : Type ?u.44593
inst✝⁵ : SMul R ℝ≥0
inst✝⁴ : SMul R ℝ≥0∞
inst✝³ : IsScalarTower R ℝ≥0 ℝ≥0∞
inst✝² : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝¹ : TopologicalSpace Ω
μ : Measure Ω
inst✝ : IsFiniteMeasure μ
f : Ω →ᵇ ℝ≥0
x : Ω
key : ↑f x ≤ nndist f 0
eq : nndist f 0 = { val := dist f 0, property := (_ : 0 ≤ dist f 0) }
⊢ ↑f x ≤ nndist f 0

tactic: ext
state_before: Ω : Type u_1
inst✝⁶ : MeasurableSpace Ω
R : Type ?u.44593
inst✝⁵ : SMul R ℝ≥0
inst✝⁴ : SMul R ℝ≥0∞
inst✝³ : IsScalarTower R ℝ≥0 ℝ≥0∞
inst✝² : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝¹ : TopologicalSpace Ω
μ : Measure Ω
inst✝ : IsFiniteMeasure μ
f : Ω →ᵇ ℝ≥0
x : Ω
key : ↑f x ≤ nndist f 0
⊢ nndist f 0 = { val := dist f 0, property := (_ : 0 ≤ dist f 0) }

tactic: simp only [Real.coe_toNNReal', max_eq_left_iff, NNReal.coe_mk, coe_nndist]
state_before: case a
Ω : Type u_1
inst✝⁶ : MeasurableSpace Ω
R : Type ?u.44593
inst✝⁵ : SMul R ℝ≥0
inst✝⁴ : SMul R ℝ≥0∞
inst✝³ : IsScalarTower R ℝ≥0 ℝ≥0∞
inst✝² : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝¹ : TopologicalSpace Ω
μ : Measure Ω
inst✝ : IsFiniteMeasure μ
f : Ω →ᵇ ℝ≥0
x : Ω
key : ↑f x ≤ nndist f 0
⊢ ↑(nndist f 0) = ↑{ val := dist f 0, property := (_ : 0 ≤ dist f 0) }