Theorem: _private.Mathlib.MeasureTheory.Function.UnifTight.0.MeasureTheory.unifTight_of_tendsto_Lp_zero
File: Mathlib/MeasureTheory/Function/UnifTight.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
μ : Measure α
p : ℝ≥0∞
f : ℕ → α → β
g : α → β
hp' : p ≠ ⊤
hf : ∀ (n : ℕ), Memℒp (f n) p μ
hf_tendsto : Tendsto (fun n => eLpNorm (f n) p μ) atTop (𝓝 0)
ε : ℝ≥0
hε : 0 < ε
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ℕ), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑ε
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
μ : Measure α
p : ℝ≥0∞
f : ℕ → α → β
g : α → β
hp' : p ≠ ⊤
hf : ∀ (n : ℕ), Memℒp (f n) p μ
hf_tendsto : ∀ ε > 0, ∃ N, ∀ n ≥ N, eLpNorm (f n) p μ ≤ ε
ε : ℝ≥0
hε : 0 < ε
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ℕ), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑ε
tactic: rw [ENNReal.tendsto_atTop_zero] at hf_tendsto
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
μ : Measure α
p : ℝ≥0∞
f : ℕ → α → β
g : α → β
hp' : p ≠ ⊤
hf : ∀ (n : ℕ), Memℒp (f n) p μ
hf_tendsto : ∀ ε > 0, ∃ N, ∀ n ≥ N, eLpNorm (f n) p μ ≤ ε
ε : ℝ≥0
hε : 0 < ε
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ℕ), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑ε
state_after: case intro
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
μ : Measure α
p : ℝ≥0∞
f : ℕ → α → β
g : α → β
hp' : p ≠ ⊤
hf : ∀ (n : ℕ), Memℒp (f n) p μ
hf_tendsto : ∀ ε > 0, ∃ N, ∀ n ≥ N, eLpNorm (f n) p μ ≤ ε
ε : ℝ≥0
hε : 0 < ε
N : ℕ
hNε : ∀ n ≥ N, eLpNorm (f n) p μ ≤ ↑ε
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ℕ), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑ε
tactic: obtain ⟨N, hNε⟩ := hf_tendsto ε (by simpa only [gt_iff_lt, ENNReal.coe_pos])
state_before: case intro
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
μ : Measure α
p : ℝ≥0∞
f : ℕ → α → β
g : α → β
hp' : p ≠ ⊤
hf : ∀ (n : ℕ), Memℒp (f n) p μ
hf_tendsto : ∀ ε > 0, ∃ N, ∀ n ≥ N, eLpNorm (f n) p μ ≤ ε
ε : ℝ≥0
hε : 0 < ε
N : ℕ
hNε : ∀ n ≥ N, eLpNorm (f n) p μ ≤ ↑ε
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ℕ), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑ε
state_after: case intro
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
μ : Measure α
p : ℝ≥0∞
f : ℕ → α → β
g : α → β
hp' : p ≠ ⊤
hf : ∀ (n : ℕ), Memℒp (f n) p μ
hf_tendsto : ∀ ε > 0, ∃ N, ∀ n ≥ N, eLpNorm (f n) p μ ≤ ε
ε : ℝ≥0
hε : 0 < ε
N : ℕ
hNε : ∀ n ≥ N, eLpNorm (f n) p μ ≤ ↑ε
F : Fin N → α → β := fun n => f ↑n
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ℕ), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑ε
tactic: let F : Fin N → α → β := fun n => f n
state_before: case intro
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
μ : Measure α
p : ℝ≥0∞
f : ℕ → α → β
g : α → β
hp' : p ≠ ⊤
hf : ∀ (n : ℕ), Memℒp (f n) p μ
hf_tendsto : ∀ ε > 0, ∃ N, ∀ n ≥ N, eLpNorm (f n) p μ ≤ ε
ε : ℝ≥0
hε : 0 < ε
N : ℕ
hNε : ∀ n ≥ N, eLpNorm (f n) p μ ≤ ↑ε
F : Fin N → α → β := fun n => f ↑n
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ℕ), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑ε
state_after: case intro
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
μ : Measure α
p : ℝ≥0∞
f : ℕ → α → β
g : α → β
hp' : p ≠ ⊤
hf : ∀ (n : ℕ), Memℒp (f n) p μ
hf_tendsto : ∀ ε > 0, ∃ N, ∀ n ≥ N, eLpNorm (f n) p μ ≤ ε
ε : ℝ≥0
hε : 0 < ε
N : ℕ
hNε : ∀ n ≥ N, eLpNorm (f n) p μ ≤ ↑ε
F : Fin N → α → β := fun n => f ↑n
hF : ∀ (n : Fin N), Memℒp (F n) p μ
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ℕ), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑ε
tactic: have hF : ∀ n, Memℒp (F n) p μ := fun n => hf n
state_before: case intro
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
μ : Measure α
p : ℝ≥0∞
f : ℕ → α → β
g : α → β
hp' : p ≠ ⊤
hf : ∀ (n : ℕ), Memℒp (f n) p μ
hf_tendsto : ∀ ε > 0, ∃ N, ∀ n ≥ N, eLpNorm (f n) p μ ≤ ε
ε : ℝ≥0
hε : 0 < ε
N : ℕ
hNε : ∀ n ≥ N, eLpNorm (f n) p μ ≤ ↑ε
F : Fin N → α → β := fun n => f ↑n
hF : ∀ (n : Fin N), Memℒp (F n) p μ
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ℕ), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑ε
state_after: case intro.intro.intro
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
μ : Measure α
p : ℝ≥0∞
f : ℕ → α → β
g : α → β
hp' : p ≠ ⊤
hf : ∀ (n : ℕ), Memℒp (f n) p μ
hf_tendsto : ∀ ε > 0, ∃ N, ∀ n ≥ N, eLpNorm (f n) p μ ≤ ε
ε : ℝ≥0
hε : 0 < ε
N : ℕ
hNε : ∀ n ≥ N, eLpNorm (f n) p μ ≤ ↑ε
F : Fin N → α → β := fun n => f ↑n
hF : ∀ (n : Fin N), Memℒp (F n) p μ
s : Set α
hμs : μ s ≠ ⊤
hFε : ∀ (i : Fin N), eLpNorm (sᶜ.indicator (F i)) p μ ≤ ↑ε
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ℕ), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑ε
tactic: obtain ⟨s, hμs, hFε⟩ := unifTight_fin hp' hF hε
state_before: case intro.intro.intro
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
μ : Measure α
p : ℝ≥0∞
f : ℕ → α → β
g : α → β
hp' : p ≠ ⊤
hf : ∀ (n : ℕ), Memℒp (f n) p μ
hf_tendsto : ∀ ε > 0, ∃ N, ∀ n ≥ N, eLpNorm (f n) p μ ≤ ε
ε : ℝ≥0
hε : 0 < ε
N : ℕ
hNε : ∀ n ≥ N, eLpNorm (f n) p μ ≤ ↑ε
F : Fin N → α → β := fun n => f ↑n
hF : ∀ (n : Fin N), Memℒp (F n) p μ
s : Set α
hμs : μ s ≠ ⊤
hFε : ∀ (i : Fin N), eLpNorm (sᶜ.indicator (F i)) p μ ≤ ↑ε
⊢ ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ℕ), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑ε
state_after: case intro.intro.intro
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
μ : Measure α
p : ℝ≥0∞
f : ℕ → α → β
g : α → β
hp' : p ≠ ⊤
hf : ∀ (n : ℕ), Memℒp (f n) p μ
hf_tendsto : ∀ ε > 0, ∃ N, ∀ n ≥ N, eLpNorm (f n) p μ ≤ ε
ε : ℝ≥0
hε : 0 < ε
N : ℕ
hNε : ∀ n ≥ N, eLpNorm (f n) p μ ≤ ↑ε
F : Fin N → α → β := fun n => f ↑n
hF : ∀ (n : Fin N), Memℒp (F n) p μ
s : Set α
hμs : μ s ≠ ⊤
hFε : ∀ (i : Fin N), eLpNorm (sᶜ.indicator (F i)) p μ ≤ ↑ε
n : ℕ
⊢ eLpNorm (sᶜ.indicator (f n)) p μ ≤ ↑ε
tactic: refine ⟨s, hμs, fun n => ?_⟩
state_before: case intro.intro.intro
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
μ : Measure α
p : ℝ≥0∞
f : ℕ → α → β
g : α → β
hp' : p ≠ ⊤
hf : ∀ (n : ℕ), Memℒp (f n) p μ
hf_tendsto : ∀ ε > 0, ∃ N, ∀ n ≥ N, eLpNorm (f n) p μ ≤ ε
ε : ℝ≥0
hε : 0 < ε
N : ℕ
hNε : ∀ n ≥ N, eLpNorm (f n) p μ ≤ ↑ε
F : Fin N → α → β := fun n => f ↑n
hF : ∀ (n : Fin N), Memℒp (F n) p μ
s : Set α
hμs : μ s ≠ ⊤
hFε : ∀ (i : Fin N), eLpNorm (sᶜ.indicator (F i)) p μ ≤ ↑ε
n : ℕ
⊢ eLpNorm (sᶜ.indicator (f n)) p μ ≤ ↑ε
state_after: case pos
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
μ : Measure α
p : ℝ≥0∞
f : ℕ → α → β
g : α → β
hp' : p ≠ ⊤
hf : ∀ (n : ℕ), Memℒp (f n) p μ
hf_tendsto : ∀ ε > 0, ∃ N, ∀ n ≥ N, eLpNorm (f n) p μ ≤ ε
ε : ℝ≥0
hε : 0 < ε
N : ℕ
hNε : ∀ n ≥ N, eLpNorm (f n) p μ ≤ ↑ε
F : Fin N → α → β := fun n => f ↑n
hF : ∀ (n : Fin N), Memℒp (F n) p μ
s : Set α
hμs : μ s ≠ ⊤
hFε : ∀ (i : Fin N), eLpNorm (sᶜ.indicator (F i)) p μ ≤ ↑ε
n : ℕ
hn : n < N
⊢ eLpNorm (sᶜ.indicator (f n)) p μ ≤ ↑ε

case neg
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
μ : Measure α
p : ℝ≥0∞
f : ℕ → α → β
g : α → β
hp' : p ≠ ⊤
hf : ∀ (n : ℕ), Memℒp (f n) p μ
hf_tendsto : ∀ ε > 0, ∃ N, ∀ n ≥ N, eLpNorm (f n) p μ ≤ ε
ε : ℝ≥0
hε : 0 < ε
N : ℕ
hNε : ∀ n ≥ N, eLpNorm (f n) p μ ≤ ↑ε
F : Fin N → α → β := fun n => f ↑n
hF : ∀ (n : Fin N), Memℒp (F n) p μ
s : Set α
hμs : μ s ≠ ⊤
hFε : ∀ (i : Fin N), eLpNorm (sᶜ.indicator (F i)) p μ ≤ ↑ε
n : ℕ
hn : ¬n < N
⊢ eLpNorm (sᶜ.indicator (f n)) p μ ≤ ↑ε
tactic: by_cases hn : n < N