Theorem: VitaliFamily.ae_tendsto_lintegral_nnnorm_sub_div'_of_integrable
File: Mathlib/MeasureTheory/Covering/Differentiation.lean

Proof steps:
state_before: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : Measure α
inst✝ : IsLocallyFiniteMeasure ρ
f : α → E
hf : Integrable f μ
h'f : StronglyMeasurable f
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / μ a) (v.filterAt x) (𝓝 0)
state_after: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : Measure α
inst✝ : IsLocallyFiniteMeasure ρ
f : α → E
hf : Integrable f μ
h'f : StronglyMeasurable f
A : μ.FiniteSpanningSetsIn {K | IsOpen K} := μ.finiteSpanningSetsInOpen'
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / μ a) (v.filterAt x) (𝓝 0)
tactic: let A := MeasureTheory.Measure.finiteSpanningSetsInOpen' μ
state_before: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : Measure α
inst✝ : IsLocallyFiniteMeasure ρ
f : α → E
hf : Integrable f μ
h'f : StronglyMeasurable f
A : μ.FiniteSpanningSetsIn {K | IsOpen K} := μ.finiteSpanningSetsInOpen'
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / μ a) (v.filterAt x) (𝓝 0)
state_after: case intro.intro
α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : Measure α
inst✝ : IsLocallyFiniteMeasure ρ
f : α → E
hf : Integrable f μ
h'f : StronglyMeasurable f
A : μ.FiniteSpanningSetsIn {K | IsOpen K} := μ.finiteSpanningSetsInOpen'
t : Set E
t_count : t.Countable
ht : range f ⊆ closure t
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / μ a) (v.filterAt x) (𝓝 0)
tactic: rcases h'f.isSeparable_range with ⟨t, t_count, ht⟩
state_before: case intro.intro
α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : Measure α
inst✝ : IsLocallyFiniteMeasure ρ
f : α → E
hf : Integrable f μ
h'f : StronglyMeasurable f
A : μ.FiniteSpanningSetsIn {K | IsOpen K} := μ.finiteSpanningSetsInOpen'
t : Set E
t_count : t.Countable
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ),
      ∀ c ∈ t,
        Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
          (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / μ a) (v.filterAt x) (𝓝 0)
state_after: case h
α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : Measure α
inst✝ : IsLocallyFiniteMeasure ρ
f : α → E
hf : Integrable f μ
h'f : StronglyMeasurable f
A : μ.FiniteSpanningSetsIn {K | IsOpen K} := μ.finiteSpanningSetsInOpen'
t : Set E
t_count : t.Countable
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ),
      ∀ c ∈ t,
        Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
          (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ),
    ∀ c ∈ t,
      Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
        (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in v.filterAt x, 0 < μ a
⊢ Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / μ a) (v.filterAt x) (𝓝 0)
tactic: filter_upwards [main, v.ae_eventually_measure_pos] with x hx h'x
state_before: case h
α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : Measure α
inst✝ : IsLocallyFiniteMeasure ρ
f : α → E
hf : Integrable f μ
h'f : StronglyMeasurable f
A : μ.FiniteSpanningSetsIn {K | IsOpen K} := μ.finiteSpanningSetsInOpen'
t : Set E
t_count : t.Countable
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ),
      ∀ c ∈ t,
        Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
          (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ),
    ∀ c ∈ t,
      Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
        (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in v.filterAt x, 0 < μ a
⊢ Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / μ a) (v.filterAt x) (𝓝 0)
state_after: case h
α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : Measure α
inst✝ : IsLocallyFiniteMeasure ρ
f : α → E
hf : Integrable f μ
h'f : StronglyMeasurable f
A : μ.FiniteSpanningSetsIn {K | IsOpen K} := μ.finiteSpanningSetsInOpen'
t : Set E
t_count : t.Countable
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ),
      ∀ c ∈ t,
        Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
          (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ),
    ∀ c ∈ t,
      Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
        (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in v.filterAt x, 0 < μ a
M : ∀ c ∈ t, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / μ a) (v.filterAt x) (𝓝 ↑‖f x - c‖₊)
⊢ Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / μ a) (v.filterAt x) (𝓝 0)
tactic: have M :
    ∀ c ∈ t, Tendsto (fun a => (∫⁻ y in a, ‖f y - c‖₊ ∂μ) / μ a)
      (v.filterAt x) (𝓝 ‖f x - c‖₊) := by
    intro c hc
    obtain ⟨n, xn⟩ : ∃ n, x ∈ A.set n := by simpa [← A.spanning] using mem_univ x
    specialize hx n c hc
    simp only [xn, indicator_of_mem] at hx
    apply hx.congr' _
    filter_upwards [v.eventually_filterAt_subset_of_nhds (IsOpen.mem_nhds (A.set_mem n) xn),
      v.eventually_filterAt_measurableSet x] with a ha h'a
    congr 1
    apply setLIntegral_congr_fun h'a
    filter_upwards with y hy using (by simp only [ha hy, indicator_of_mem])
state_before: case h
α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : Measure α
inst✝ : IsLocallyFiniteMeasure ρ
f : α → E
hf : Integrable f μ
h'f : StronglyMeasurable f
A : μ.FiniteSpanningSetsIn {K | IsOpen K} := μ.finiteSpanningSetsInOpen'
t : Set E
t_count : t.Countable
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ),
      ∀ c ∈ t,
        Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
          (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ),
    ∀ c ∈ t,
      Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
        (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in v.filterAt x, 0 < μ a
M : ∀ c ∈ t, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / μ a) (v.filterAt x) (𝓝 ↑‖f x - c‖₊)
⊢ Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / μ a) (v.filterAt x) (𝓝 0)
state_after: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : Measure α
inst✝ : IsLocallyFiniteMeasure ρ
f : α → E
hf : Integrable f μ
h'f : StronglyMeasurable f
A : μ.FiniteSpanningSetsIn {K | IsOpen K} := μ.finiteSpanningSetsInOpen'
t : Set E
t_count : t.Countable
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ),
      ∀ c ∈ t,
        Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
          (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ),
    ∀ c ∈ t,
      Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
        (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in v.filterAt x, 0 < μ a
M : ∀ c ∈ t, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / μ a) (v.filterAt x) (𝓝 ↑‖f x - c‖₊)
ε : ℝ≥0∞
εpos : ε > 0
⊢ ∀ᶠ (x_1 : Set α) in v.filterAt x, (∫⁻ (y : α) in x_1, ↑‖f y - f x‖₊ ∂μ) / μ x_1 ≤ ε
tactic: apply ENNReal.tendsto_nhds_zero.2 fun ε εpos => ?_
state_before: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : Measure α
inst✝ : IsLocallyFiniteMeasure ρ
f : α → E
hf : Integrable f μ
h'f : StronglyMeasurable f
A : μ.FiniteSpanningSetsIn {K | IsOpen K} := μ.finiteSpanningSetsInOpen'
t : Set E
t_count : t.Countable
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ),
      ∀ c ∈ t,
        Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
          (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ),
    ∀ c ∈ t,
      Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
        (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in v.filterAt x, 0 < μ a
M : ∀ c ∈ t, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / μ a) (v.filterAt x) (𝓝 ↑‖f x - c‖₊)
ε : ℝ≥0∞
εpos : ε > 0
⊢ ∀ᶠ (x_1 : Set α) in v.filterAt x, (∫⁻ (y : α) in x_1, ↑‖f y - f x‖₊ ∂μ) / μ x_1 ≤ ε
state_after: case intro.intro
α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : Measure α
inst✝ : IsLocallyFiniteMeasure ρ
f : α → E
hf : Integrable f μ
h'f : StronglyMeasurable f
A : μ.FiniteSpanningSetsIn {K | IsOpen K} := μ.finiteSpanningSetsInOpen'
t : Set E
t_count : t.Countable
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ),
      ∀ c ∈ t,
        Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
          (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ),
    ∀ c ∈ t,
      Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
        (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in v.filterAt x, 0 < μ a
M : ∀ c ∈ t, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / μ a) (v.filterAt x) (𝓝 ↑‖f x - c‖₊)
ε : ℝ≥0∞
εpos : ε > 0
c : E
ct : c ∈ t
xc : ↑‖f x - c‖₊ < ε / 2
⊢ ∀ᶠ (x_1 : Set α) in v.filterAt x, (∫⁻ (y : α) in x_1, ↑‖f y - f x‖₊ ∂μ) / μ x_1 ≤ ε
tactic: obtain ⟨c, ct, xc⟩ : ∃ c ∈ t, (‖f x - c‖₊ : ℝ≥0∞) < ε / 2 := by
    simp_rw [← edist_eq_coe_nnnorm_sub]
    have : f x ∈ closure t := ht (mem_range_self _)
    exact EMetric.mem_closure_iff.1 this (ε / 2) (ENNReal.half_pos (ne_of_gt εpos))
state_before: case intro.intro
α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : Measure α
inst✝ : IsLocallyFiniteMeasure ρ
f : α → E
hf : Integrable f μ
h'f : StronglyMeasurable f
A : μ.FiniteSpanningSetsIn {K | IsOpen K} := μ.finiteSpanningSetsInOpen'
t : Set E
t_count : t.Countable
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ),
      ∀ c ∈ t,
        Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
          (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ),
    ∀ c ∈ t,
      Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
        (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in v.filterAt x, 0 < μ a
M : ∀ c ∈ t, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / μ a) (v.filterAt x) (𝓝 ↑‖f x - c‖₊)
ε : ℝ≥0∞
εpos : ε > 0
c : E
ct : c ∈ t
xc : ↑‖f x - c‖₊ < ε / 2
⊢ ∀ᶠ (x_1 : Set α) in v.filterAt x, (∫⁻ (y : α) in x_1, ↑‖f y - f x‖₊ ∂μ) / μ x_1 ≤ ε
state_after: case h
α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : Measure α
inst✝ : IsLocallyFiniteMeasure ρ
f : α → E
hf : Integrable f μ
h'f : StronglyMeasurable f
A : μ.FiniteSpanningSetsIn {K | IsOpen K} := μ.finiteSpanningSetsInOpen'
t : Set E
t_count : t.Countable
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ),
      ∀ c ∈ t,
        Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
          (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ),
    ∀ c ∈ t,
      Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
        (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in v.filterAt x, 0 < μ a
M : ∀ c ∈ t, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / μ a) (v.filterAt x) (𝓝 ↑‖f x - c‖₊)
ε : ℝ≥0∞
εpos : ε > 0
c : E
ct : c ∈ t
xc : ↑‖f x - c‖₊ < ε / 2
a : Set α
ha : (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / μ a < ε / 2
h'a : 0 < μ a
h''a : μ a < ⊤
⊢ (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / μ a ≤ ε
tactic: filter_upwards [(tendsto_order.1 (M c ct)).2 (ε / 2) xc, h'x, v.eventually_measure_lt_top x] with
    a ha h'a h''a
state_before: case h
α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : Measure α
inst✝ : IsLocallyFiniteMeasure ρ
f : α → E
hf : Integrable f μ
h'f : StronglyMeasurable f
A : μ.FiniteSpanningSetsIn {K | IsOpen K} := μ.finiteSpanningSetsInOpen'
t : Set E
t_count : t.Countable
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ),
      ∀ c ∈ t,
        Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
          (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ),
    ∀ c ∈ t,
      Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
        (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in v.filterAt x, 0 < μ a
M : ∀ c ∈ t, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / μ a) (v.filterAt x) (𝓝 ↑‖f x - c‖₊)
ε : ℝ≥0∞
εpos : ε > 0
c : E
ct : c ∈ t
xc : ↑‖f x - c‖₊ < ε / 2
a : Set α
ha : (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / μ a < ε / 2
h'a : 0 < μ a
h''a : μ a < ⊤
⊢ (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / μ a ≤ ε
state_after: case h.h
α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : Measure α
inst✝ : IsLocallyFiniteMeasure ρ
f : α → E
hf : Integrable f μ
h'f : StronglyMeasurable f
A : μ.FiniteSpanningSetsIn {K | IsOpen K} := μ.finiteSpanningSetsInOpen'
t : Set E
t_count : t.Countable
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ),
      ∀ c ∈ t,
        Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
          (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ),
    ∀ c ∈ t,
      Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - (A.set n).indicator (fun x => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
        (𝓝 ↑‖f x - (A.set n).indicator (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in v.filterAt x, 0 < μ a
M : ∀ c ∈ t, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / μ a) (v.filterAt x) (𝓝 ↑‖f x - c‖₊)
ε : ℝ≥0∞
εpos : ε > 0
c : E
ct : c ∈ t
xc : ↑‖f x - c‖₊ < ε / 2
a : Set α
ha : (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / μ a < ε / 2
h'a : 0 < μ a
h''a : μ a < ⊤
⊢ ∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ ≤ ε * μ a
tactic: apply ENNReal.div_le_of_le_mul