Theorem: MeasureTheory.unifTight_iff_real
File: Mathlib/MeasureTheory/Function/UnifTight.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
f✝ g : ι → α → β
p✝ : ℝ≥0∞
x✝ : MeasurableSpace α
f : ι → α → β
p : ℝ≥0∞
μ : Measure α
⊢ UnifTight f p μ ↔ ∀ ⦃ε : ℝ⦄, 0 < ε → ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ENNReal.ofReal ε
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
f✝ g : ι → α → β
p✝ : ℝ≥0∞
x✝ : MeasurableSpace α
f : ι → α → β
p : ℝ≥0∞
μ : Measure α
hut : ∀ ⦃ε : ℝ⦄, 0 < ε → ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ENNReal.ofReal ε
ε : ℝ≥0
hε : 0 < ε
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑ε
tactic: refine ⟨fun hut rε hrε ↦ hut (Real.toNNReal_pos.mpr hrε), fun hut ε hε ↦ ?_⟩
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
f✝ g : ι → α → β
p✝ : ℝ≥0∞
x✝ : MeasurableSpace α
f : ι → α → β
p : ℝ≥0∞
μ : Measure α
hut : ∀ ⦃ε : ℝ⦄, 0 < ε → ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ENNReal.ofReal ε
ε : ℝ≥0
hε : 0 < ε
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑ε
state_after: case intro.intro
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
f✝ g : ι → α → β
p✝ : ℝ≥0∞
x✝ : MeasurableSpace α
f : ι → α → β
p : ℝ≥0∞
μ : Measure α
hut : ∀ ⦃ε : ℝ⦄, 0 < ε → ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ENNReal.ofReal ε
ε : ℝ≥0
hε : 0 < ε
s : Set α
hμs : μ s ≠ ⊤
hfε : ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ENNReal.ofReal ((fun a => ↑a) ε)
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑ε
tactic: obtain ⟨s, hμs, hfε⟩ := hut hε
state_before: case intro.intro
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
f✝ g : ι → α → β
p✝ : ℝ≥0∞
x✝ : MeasurableSpace α
f : ι → α → β
p : ℝ≥0∞
μ : Measure α
hut : ∀ ⦃ε : ℝ⦄, 0 < ε → ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ENNReal.ofReal ε
ε : ℝ≥0
hε : 0 < ε
s : Set α
hμs : μ s ≠ ⊤
hfε : ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ENNReal.ofReal ((fun a => ↑a) ε)
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑ε
state_after: case right
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
f✝ g : ι → α → β
p✝ : ℝ≥0∞
x✝ : MeasurableSpace α
f : ι → α → β
p : ℝ≥0∞
μ : Measure α
hut : ∀ ⦃ε : ℝ⦄, 0 < ε → ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ENNReal.ofReal ε
ε : ℝ≥0
hε : 0 < ε
s : Set α
hμs : μ s ≠ ⊤
hfε : ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ENNReal.ofReal ((fun a => ↑a) ε)
⊢ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑ε
tactic: use s, hμs
state_before: case right
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
f✝ g : ι → α → β
p✝ : ℝ≥0∞
x✝ : MeasurableSpace α
f : ι → α → β
p : ℝ≥0∞
μ : Measure α
hut : ∀ ⦃ε : ℝ⦄, 0 < ε → ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ENNReal.ofReal ε
ε : ℝ≥0
hε : 0 < ε
s : Set α
hμs : μ s ≠ ⊤
hfε : ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ENNReal.ofReal ((fun a => ↑a) ε)
⊢ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑ε
state_after: case right
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
f✝ g : ι → α → β
p✝ : ℝ≥0∞
x✝ : MeasurableSpace α
f : ι → α → β
p : ℝ≥0∞
μ : Measure α
hut : ∀ ⦃ε : ℝ⦄, 0 < ε → ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ENNReal.ofReal ε
ε : ℝ≥0
hε : 0 < ε
s : Set α
hμs : μ s ≠ ⊤
hfε : ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ENNReal.ofReal ((fun a => ↑a) ε)
i : ι
⊢ eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑ε
tactic: intro i
state_before: case right
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
f✝ g : ι → α → β
p✝ : ℝ≥0∞
x✝ : MeasurableSpace α
f : ι → α → β
p : ℝ≥0∞
μ : Measure α
hut : ∀ ⦃ε : ℝ⦄, 0 < ε → ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ENNReal.ofReal ε
ε : ℝ≥0
hε : 0 < ε
s : Set α
hμs : μ s ≠ ⊤
hfε : ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ENNReal.ofReal ((fun a => ↑a) ε)
i : ι
⊢ eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑ε
state_after: no goals
tactic: exact (hfε i).trans_eq (ofReal_coe_nnreal (p := ε))