[GOAL]
α : Type u_1
inst✝² : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : SecondCountableTopology α
⊢ ∀ᵐ (x : α) ∂μ, ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
[PROOFSTEP]
set s := {x | ¬∀ᶠ a in v.filterAt x, 0 < μ a} with hs
[GOAL]
α : Type u_1
inst✝² : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : SecondCountableTopology α
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a}
hs : s = {x | ¬∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a}
⊢ ∀ᵐ (x : α) ∂μ, ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
[PROOFSTEP]
simp (config := { zeta := false }) only [not_lt, not_eventually, nonpos_iff_eq_zero] at hs 
[GOAL]
α : Type u_1
inst✝² : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : SecondCountableTopology α
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a}
hs : s = {x | ∃ᶠ (x : Set α) in filterAt v x, ↑↑μ x = 0}
⊢ ∀ᵐ (x : α) ∂μ, ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
[PROOFSTEP]
change μ s = 0
[GOAL]
α : Type u_1
inst✝² : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : SecondCountableTopology α
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a}
hs : s = {x | ∃ᶠ (x : Set α) in filterAt v x, ↑↑μ x = 0}
⊢ ↑↑μ s = 0
[PROOFSTEP]
let f : α → Set (Set α) := fun _ => {a | μ a = 0}
[GOAL]
α : Type u_1
inst✝² : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : SecondCountableTopology α
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a}
hs : s = {x | ∃ᶠ (x : Set α) in filterAt v x, ↑↑μ x = 0}
f : α → Set (Set α) := fun x => {a | ↑↑μ a = 0}
⊢ ↑↑μ s = 0
[PROOFSTEP]
have h : v.FineSubfamilyOn f s := by
  intro x hx ε εpos
  rw [hs] at hx 
  simp only [frequently_filterAt_iff, exists_prop, gt_iff_lt, mem_setOf_eq] at hx 
  rcases hx ε εpos with ⟨a, a_sets, ax, μa⟩
  exact ⟨a, ⟨a_sets, μa⟩, ax⟩
[GOAL]
α : Type u_1
inst✝² : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : SecondCountableTopology α
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a}
hs : s = {x | ∃ᶠ (x : Set α) in filterAt v x, ↑↑μ x = 0}
f : α → Set (Set α) := fun x => {a | ↑↑μ a = 0}
⊢ FineSubfamilyOn v f s
[PROOFSTEP]
intro x hx ε εpos
[GOAL]
α : Type u_1
inst✝² : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : SecondCountableTopology α
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a}
hs : s = {x | ∃ᶠ (x : Set α) in filterAt v x, ↑↑μ x = 0}
f : α → Set (Set α) := fun x => {a | ↑↑μ a = 0}
x : α
hx : x ∈ s
ε : ℝ
εpos : ε > 0
⊢ ∃ a, a ∈ setsAt v x ∩ f x ∧ a ⊆ closedBall x ε
[PROOFSTEP]
rw [hs] at hx 
[GOAL]
α : Type u_1
inst✝² : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : SecondCountableTopology α
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a}
hs : s = {x | ∃ᶠ (x : Set α) in filterAt v x, ↑↑μ x = 0}
f : α → Set (Set α) := fun x => {a | ↑↑μ a = 0}
x : α
hx : x ∈ {x | ∃ᶠ (x : Set α) in filterAt v x, ↑↑μ x = 0}
ε : ℝ
εpos : ε > 0
⊢ ∃ a, a ∈ setsAt v x ∩ f x ∧ a ⊆ closedBall x ε
[PROOFSTEP]
simp only [frequently_filterAt_iff, exists_prop, gt_iff_lt, mem_setOf_eq] at hx 
[GOAL]
α : Type u_1
inst✝² : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : SecondCountableTopology α
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a}
hs : s = {x | ∃ᶠ (x : Set α) in filterAt v x, ↑↑μ x = 0}
f : α → Set (Set α) := fun x => {a | ↑↑μ a = 0}
x : α
ε : ℝ
εpos : ε > 0
hx : ∀ (ε : ℝ), 0 < ε → ∃ a, a ∈ setsAt v x ∧ a ⊆ closedBall x ε ∧ ↑↑μ a = 0
⊢ ∃ a, a ∈ setsAt v x ∩ f x ∧ a ⊆ closedBall x ε
[PROOFSTEP]
rcases hx ε εpos with ⟨a, a_sets, ax, μa⟩
[GOAL]
case intro.intro.intro
α : Type u_1
inst✝² : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : SecondCountableTopology α
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a}
hs : s = {x | ∃ᶠ (x : Set α) in filterAt v x, ↑↑μ x = 0}
f : α → Set (Set α) := fun x => {a | ↑↑μ a = 0}
x : α
ε : ℝ
εpos : ε > 0
hx : ∀ (ε : ℝ), 0 < ε → ∃ a, a ∈ setsAt v x ∧ a ⊆ closedBall x ε ∧ ↑↑μ a = 0
a : Set α
a_sets : a ∈ setsAt v x
ax : a ⊆ closedBall x ε
μa : ↑↑μ a = 0
⊢ ∃ a, a ∈ setsAt v x ∩ f x ∧ a ⊆ closedBall x ε
[PROOFSTEP]
exact ⟨a, ⟨a_sets, μa⟩, ax⟩
[GOAL]
α : Type u_1
inst✝² : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : SecondCountableTopology α
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a}
hs : s = {x | ∃ᶠ (x : Set α) in filterAt v x, ↑↑μ x = 0}
f : α → Set (Set α) := fun x => {a | ↑↑μ a = 0}
h : FineSubfamilyOn v f s
⊢ ↑↑μ s = 0
[PROOFSTEP]
refine' le_antisymm _ bot_le
[GOAL]
α : Type u_1
inst✝² : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : SecondCountableTopology α
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a}
hs : s = {x | ∃ᶠ (x : Set α) in filterAt v x, ↑↑μ x = 0}
f : α → Set (Set α) := fun x => {a | ↑↑μ a = 0}
h : FineSubfamilyOn v f s
⊢ ↑↑μ s ≤ 0
[PROOFSTEP]
calc
  μ s ≤ ∑' x : h.index, μ (h.covering x) := h.measure_le_tsum
  _ = ∑' x : h.index, 0 := by congr; ext1 x; exact h.covering_mem x.2
  _ = 0 := by simp only [tsum_zero, add_zero]
[GOAL]
α : Type u_1
inst✝² : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : SecondCountableTopology α
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a}
hs : s = {x | ∃ᶠ (x : Set α) in filterAt v x, ↑↑μ x = 0}
f : α → Set (Set α) := fun x => {a | ↑↑μ a = 0}
h : FineSubfamilyOn v f s
⊢ ∑' (x : ↑(FineSubfamilyOn.index h)), ↑↑μ (FineSubfamilyOn.covering h ↑x) = ∑' (x : ↑(FineSubfamilyOn.index h)), 0
[PROOFSTEP]
congr
[GOAL]
case e_f
α : Type u_1
inst✝² : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : SecondCountableTopology α
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a}
hs : s = {x | ∃ᶠ (x : Set α) in filterAt v x, ↑↑μ x = 0}
f : α → Set (Set α) := fun x => {a | ↑↑μ a = 0}
h : FineSubfamilyOn v f s
⊢ (fun x => ↑↑μ (FineSubfamilyOn.covering h ↑x)) = fun x => 0
[PROOFSTEP]
ext1 x
[GOAL]
case e_f.h
α : Type u_1
inst✝² : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : SecondCountableTopology α
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a}
hs : s = {x | ∃ᶠ (x : Set α) in filterAt v x, ↑↑μ x = 0}
f : α → Set (Set α) := fun x => {a | ↑↑μ a = 0}
h : FineSubfamilyOn v f s
x : ↑(FineSubfamilyOn.index h)
⊢ ↑↑μ (FineSubfamilyOn.covering h ↑x) = 0
[PROOFSTEP]
exact h.covering_mem x.2
[GOAL]
α : Type u_1
inst✝² : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : SecondCountableTopology α
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a}
hs : s = {x | ∃ᶠ (x : Set α) in filterAt v x, ↑↑μ x = 0}
f : α → Set (Set α) := fun x => {a | ↑↑μ a = 0}
h : FineSubfamilyOn v f s
⊢ ∑' (x : ↑(FineSubfamilyOn.index h)), 0 = 0
[PROOFSTEP]
simp only [tsum_zero, add_zero]
[GOAL]
α : Type u_1
inst✝² : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : IsLocallyFiniteMeasure μ
x : α
⊢ ∀ᶠ (a : Set α) in filterAt v x, ↑↑μ a < ⊤
[PROOFSTEP]
obtain ⟨ε, εpos, με⟩ : ∃ (ε : ℝ), 0 < ε ∧ μ (closedBall x ε) < ∞ :=
  (μ.finiteAt_nhds x).exists_mem_basis nhds_basis_closedBall
[GOAL]
case intro.intro
α : Type u_1
inst✝² : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : IsLocallyFiniteMeasure μ
x : α
ε : ℝ
εpos : 0 < ε
με : ↑↑μ (closedBall x ε) < ⊤
⊢ ∀ᶠ (a : Set α) in filterAt v x, ↑↑μ a < ⊤
[PROOFSTEP]
exact v.eventually_filterAt_iff.2 ⟨ε, εpos, fun a _ haε => (measure_mono haε).trans_lt με⟩
[GOAL]
α : Type u_1
inst✝⁴ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : SecondCountableTopology α
inst✝¹ : BorelSpace α
ρ ν : Measure α
inst✝ : IsLocallyFiniteMeasure ν
hρ : ρ ≪ μ
s : Set α
hs : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑↑ν a
⊢ ↑↑ρ s ≤ ↑↑ν s
[PROOFSTEP]
apply ENNReal.le_of_forall_pos_le_add fun ε εpos _ => ?_
[GOAL]
α : Type u_1
inst✝⁴ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : SecondCountableTopology α
inst✝¹ : BorelSpace α
ρ ν : Measure α
inst✝ : IsLocallyFiniteMeasure ν
hρ : ρ ≪ μ
s : Set α
hs : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑↑ν a
ε : ℝ≥0
εpos : 0 < ε
x✝ : ↑↑ν s < ⊤
⊢ ↑↑ρ s ≤ ↑↑ν s + ↑ε
[PROOFSTEP]
obtain ⟨U, sU, U_open, νU⟩ : ∃ (U : Set α), s ⊆ U ∧ IsOpen U ∧ ν U ≤ ν s + ε :=
  exists_isOpen_le_add s ν (ENNReal.coe_pos.2 εpos).ne'
[GOAL]
case intro.intro.intro
α : Type u_1
inst✝⁴ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : SecondCountableTopology α
inst✝¹ : BorelSpace α
ρ ν : Measure α
inst✝ : IsLocallyFiniteMeasure ν
hρ : ρ ≪ μ
s : Set α
hs : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑↑ν a
ε : ℝ≥0
εpos : 0 < ε
x✝ : ↑↑ν s < ⊤
U : Set α
sU : s ⊆ U
U_open : IsOpen U
νU : ↑↑ν U ≤ ↑↑ν s + ↑ε
⊢ ↑↑ρ s ≤ ↑↑ν s + ↑ε
[PROOFSTEP]
let f : α → Set (Set α) := fun _ => {a | ρ a ≤ ν a ∧ a ⊆ U}
[GOAL]
case intro.intro.intro
α : Type u_1
inst✝⁴ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : SecondCountableTopology α
inst✝¹ : BorelSpace α
ρ ν : Measure α
inst✝ : IsLocallyFiniteMeasure ν
hρ : ρ ≪ μ
s : Set α
hs : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑↑ν a
ε : ℝ≥0
εpos : 0 < ε
x✝ : ↑↑ν s < ⊤
U : Set α
sU : s ⊆ U
U_open : IsOpen U
νU : ↑↑ν U ≤ ↑↑ν s + ↑ε
f : α → Set (Set α) := fun x => {a | ↑↑ρ a ≤ ↑↑ν a ∧ a ⊆ U}
⊢ ↑↑ρ s ≤ ↑↑ν s + ↑ε
[PROOFSTEP]
have h : v.FineSubfamilyOn f s :=
  by
  apply v.fineSubfamilyOn_of_frequently f s fun x hx => ?_
  have :=
    (hs x hx).and_eventually
      ((v.eventually_filterAt_mem_sets x).and (v.eventually_filterAt_subset_of_nhds (U_open.mem_nhds (sU hx))))
  apply Frequently.mono this
  rintro a ⟨ρa, _, aU⟩
  exact ⟨ρa, aU⟩
[GOAL]
α : Type u_1
inst✝⁴ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : SecondCountableTopology α
inst✝¹ : BorelSpace α
ρ ν : Measure α
inst✝ : IsLocallyFiniteMeasure ν
hρ : ρ ≪ μ
s : Set α
hs : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑↑ν a
ε : ℝ≥0
εpos : 0 < ε
x✝ : ↑↑ν s < ⊤
U : Set α
sU : s ⊆ U
U_open : IsOpen U
νU : ↑↑ν U ≤ ↑↑ν s + ↑ε
f : α → Set (Set α) := fun x => {a | ↑↑ρ a ≤ ↑↑ν a ∧ a ⊆ U}
⊢ FineSubfamilyOn v f s
[PROOFSTEP]
apply v.fineSubfamilyOn_of_frequently f s fun x hx => ?_
[GOAL]
α : Type u_1
inst✝⁴ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : SecondCountableTopology α
inst✝¹ : BorelSpace α
ρ ν : Measure α
inst✝ : IsLocallyFiniteMeasure ν
hρ : ρ ≪ μ
s : Set α
hs : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑↑ν a
ε : ℝ≥0
εpos : 0 < ε
x✝ : ↑↑ν s < ⊤
U : Set α
sU : s ⊆ U
U_open : IsOpen U
νU : ↑↑ν U ≤ ↑↑ν s + ↑ε
f : α → Set (Set α) := fun x => {a | ↑↑ρ a ≤ ↑↑ν a ∧ a ⊆ U}
x : α
hx : x ∈ s
⊢ ∃ᶠ (a : Set α) in filterAt v x, a ∈ f x
[PROOFSTEP]
have :=
  (hs x hx).and_eventually
    ((v.eventually_filterAt_mem_sets x).and (v.eventually_filterAt_subset_of_nhds (U_open.mem_nhds (sU hx))))
[GOAL]
α : Type u_1
inst✝⁴ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : SecondCountableTopology α
inst✝¹ : BorelSpace α
ρ ν : Measure α
inst✝ : IsLocallyFiniteMeasure ν
hρ : ρ ≪ μ
s : Set α
hs : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑↑ν a
ε : ℝ≥0
εpos : 0 < ε
x✝ : ↑↑ν s < ⊤
U : Set α
sU : s ⊆ U
U_open : IsOpen U
νU : ↑↑ν U ≤ ↑↑ν s + ↑ε
f : α → Set (Set α) := fun x => {a | ↑↑ρ a ≤ ↑↑ν a ∧ a ⊆ U}
x : α
hx : x ∈ s
this : ∃ᶠ (x_1 : Set α) in filterAt v x, ↑↑ρ x_1 ≤ ↑↑ν x_1 ∧ x_1 ∈ setsAt v x ∧ x_1 ⊆ U
⊢ ∃ᶠ (a : Set α) in filterAt v x, a ∈ f x
[PROOFSTEP]
apply Frequently.mono this
[GOAL]
α : Type u_1
inst✝⁴ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : SecondCountableTopology α
inst✝¹ : BorelSpace α
ρ ν : Measure α
inst✝ : IsLocallyFiniteMeasure ν
hρ : ρ ≪ μ
s : Set α
hs : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑↑ν a
ε : ℝ≥0
εpos : 0 < ε
x✝ : ↑↑ν s < ⊤
U : Set α
sU : s ⊆ U
U_open : IsOpen U
νU : ↑↑ν U ≤ ↑↑ν s + ↑ε
f : α → Set (Set α) := fun x => {a | ↑↑ρ a ≤ ↑↑ν a ∧ a ⊆ U}
x : α
hx : x ∈ s
this : ∃ᶠ (x_1 : Set α) in filterAt v x, ↑↑ρ x_1 ≤ ↑↑ν x_1 ∧ x_1 ∈ setsAt v x ∧ x_1 ⊆ U
⊢ ∀ (x_1 : Set α), ↑↑ρ x_1 ≤ ↑↑ν x_1 ∧ x_1 ∈ setsAt v x ∧ x_1 ⊆ U → x_1 ∈ f x
[PROOFSTEP]
rintro a ⟨ρa, _, aU⟩
[GOAL]
case intro.intro
α : Type u_1
inst✝⁴ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : SecondCountableTopology α
inst✝¹ : BorelSpace α
ρ ν : Measure α
inst✝ : IsLocallyFiniteMeasure ν
hρ : ρ ≪ μ
s : Set α
hs : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑↑ν a
ε : ℝ≥0
εpos : 0 < ε
x✝ : ↑↑ν s < ⊤
U : Set α
sU : s ⊆ U
U_open : IsOpen U
νU : ↑↑ν U ≤ ↑↑ν s + ↑ε
f : α → Set (Set α) := fun x => {a | ↑↑ρ a ≤ ↑↑ν a ∧ a ⊆ U}
x : α
hx : x ∈ s
this : ∃ᶠ (x_1 : Set α) in filterAt v x, ↑↑ρ x_1 ≤ ↑↑ν x_1 ∧ x_1 ∈ setsAt v x ∧ x_1 ⊆ U
a : Set α
ρa : ↑↑ρ a ≤ ↑↑ν a
left✝ : a ∈ setsAt v x
aU : a ⊆ U
⊢ a ∈ f x
[PROOFSTEP]
exact ⟨ρa, aU⟩
[GOAL]
case intro.intro.intro
α : Type u_1
inst✝⁴ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : SecondCountableTopology α
inst✝¹ : BorelSpace α
ρ ν : Measure α
inst✝ : IsLocallyFiniteMeasure ν
hρ : ρ ≪ μ
s : Set α
hs : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑↑ν a
ε : ℝ≥0
εpos : 0 < ε
x✝ : ↑↑ν s < ⊤
U : Set α
sU : s ⊆ U
U_open : IsOpen U
νU : ↑↑ν U ≤ ↑↑ν s + ↑ε
f : α → Set (Set α) := fun x => {a | ↑↑ρ a ≤ ↑↑ν a ∧ a ⊆ U}
h : FineSubfamilyOn v f s
⊢ ↑↑ρ s ≤ ↑↑ν s + ↑ε
[PROOFSTEP]
haveI : Encodable h.index := h.index_countable.toEncodable
[GOAL]
case intro.intro.intro
α : Type u_1
inst✝⁴ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : SecondCountableTopology α
inst✝¹ : BorelSpace α
ρ ν : Measure α
inst✝ : IsLocallyFiniteMeasure ν
hρ : ρ ≪ μ
s : Set α
hs : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑↑ν a
ε : ℝ≥0
εpos : 0 < ε
x✝ : ↑↑ν s < ⊤
U : Set α
sU : s ⊆ U
U_open : IsOpen U
νU : ↑↑ν U ≤ ↑↑ν s + ↑ε
f : α → Set (Set α) := fun x => {a | ↑↑ρ a ≤ ↑↑ν a ∧ a ⊆ U}
h : FineSubfamilyOn v f s
this : Encodable ↑(FineSubfamilyOn.index h)
⊢ ↑↑ρ s ≤ ↑↑ν s + ↑ε
[PROOFSTEP]
calc
  ρ s ≤ ∑' x : h.index, ρ (h.covering x) := h.measure_le_tsum_of_absolutelyContinuous hρ
  _ ≤ ∑' x : h.index, ν (h.covering x) := (ENNReal.tsum_le_tsum fun x => (h.covering_mem x.2).1)
  _ = ν (⋃ x : h.index, h.covering x) := by
    rw [measure_iUnion h.covering_disjoint_subtype fun i => h.measurableSet_u i.2]
  _ ≤ ν U := (measure_mono (iUnion_subset fun i => (h.covering_mem i.2).2))
  _ ≤ ν s + ε := νU
[GOAL]
α : Type u_1
inst✝⁴ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : SecondCountableTopology α
inst✝¹ : BorelSpace α
ρ ν : Measure α
inst✝ : IsLocallyFiniteMeasure ν
hρ : ρ ≪ μ
s : Set α
hs : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑↑ν a
ε : ℝ≥0
εpos : 0 < ε
x✝ : ↑↑ν s < ⊤
U : Set α
sU : s ⊆ U
U_open : IsOpen U
νU : ↑↑ν U ≤ ↑↑ν s + ↑ε
f : α → Set (Set α) := fun x => {a | ↑↑ρ a ≤ ↑↑ν a ∧ a ⊆ U}
h : FineSubfamilyOn v f s
this : Encodable ↑(FineSubfamilyOn.index h)
⊢ ∑' (x : ↑(FineSubfamilyOn.index h)), ↑↑ν (FineSubfamilyOn.covering h ↑x) =
    ↑↑ν (⋃ (x : ↑(FineSubfamilyOn.index h)), FineSubfamilyOn.covering h ↑x)
[PROOFSTEP]
rw [measure_iUnion h.covering_disjoint_subtype fun i => h.measurableSet_u i.2]
[GOAL]
α : 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 ρ
hρ : ρ ⟂ₘ μ
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 0)
[PROOFSTEP]
have A : ∀ ε > (0 : ℝ≥0), ∀ᵐ x ∂μ, ∀ᶠ a in v.filterAt x, ρ a < ε * μ a :=
  by
  intro ε εpos
  set s := {x | ¬∀ᶠ a in v.filterAt x, ρ a < ε * μ a} with hs
  change μ s = 0
  obtain ⟨o, _, ρo, μo⟩ : ∃ o : Set α, MeasurableSet o ∧ ρ o = 0 ∧ μ oᶜ = 0 := hρ
  apply le_antisymm _ bot_le
  calc
    μ s ≤ μ (s ∩ o ∪ oᶜ) := by
      conv_lhs => rw [← inter_union_compl s o]
      exact measure_mono (union_subset_union_right _ (inter_subset_right _ _))
    _ ≤ μ (s ∩ o) + μ oᶜ := (measure_union_le _ _)
    _ = μ (s ∩ o) := by rw [μo, add_zero]
    _ = (ε : ℝ≥0∞)⁻¹ * (ε • μ) (s ∩ o) :=
      by
      simp only [coe_nnreal_smul_apply, ← mul_assoc, mul_comm _ (ε : ℝ≥0∞)]
      rw [ENNReal.mul_inv_cancel (ENNReal.coe_pos.2 εpos).ne' ENNReal.coe_ne_top, one_mul]
    _ ≤ (ε : ℝ≥0∞)⁻¹ * ρ (s ∩ o) := by
      refine' mul_le_mul_left' _ _
      refine' v.measure_le_of_frequently_le ρ ((Measure.AbsolutelyContinuous.refl μ).smul ε) _ _
      intro x hx
      rw [hs] at hx 
      simp only [mem_inter_iff, not_lt, not_eventually, mem_setOf_eq] at hx 
      exact hx.1
    _ ≤ (ε : ℝ≥0∞)⁻¹ * ρ o := (mul_le_mul_left' (measure_mono (inter_subset_right _ _)) _)
    _ = 0 := by rw [ρo, mul_zero]
[GOAL]
α : 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 ρ
hρ : ρ ⟂ₘ μ
⊢ ∀ (ε : ℝ≥0), ε > 0 → ∀ᵐ (x : α) ∂μ, ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a
[PROOFSTEP]
intro ε εpos
[GOAL]
α : 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 ρ
hρ : ρ ⟂ₘ μ
ε : ℝ≥0
εpos : ε > 0
⊢ ∀ᵐ (x : α) ∂μ, ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a
[PROOFSTEP]
set s := {x | ¬∀ᶠ a in v.filterAt x, ρ a < ε * μ a} with hs
[GOAL]
α : 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 ρ
hρ : ρ ⟂ₘ μ
ε : ℝ≥0
εpos : ε > 0
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
hs : s = {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
⊢ ∀ᵐ (x : α) ∂μ, ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a
[PROOFSTEP]
change μ s = 0
[GOAL]
α : 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 ρ
hρ : ρ ⟂ₘ μ
ε : ℝ≥0
εpos : ε > 0
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
hs : s = {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
⊢ ↑↑μ s = 0
[PROOFSTEP]
obtain ⟨o, _, ρo, μo⟩ : ∃ o : Set α, MeasurableSet o ∧ ρ o = 0 ∧ μ oᶜ = 0 := hρ
[GOAL]
case intro.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 ρ
ε : ℝ≥0
εpos : ε > 0
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
hs : s = {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
o : Set α
left✝ : MeasurableSet o
ρo : ↑↑ρ o = 0
μo : ↑↑μ oᶜ = 0
⊢ ↑↑μ s = 0
[PROOFSTEP]
apply le_antisymm _ bot_le
[GOAL]
α : 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 ρ
ε : ℝ≥0
εpos : ε > 0
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
hs : s = {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
o : Set α
left✝ : MeasurableSet o
ρo : ↑↑ρ o = 0
μo : ↑↑μ oᶜ = 0
⊢ ↑↑μ s ≤ ⊥
[PROOFSTEP]
calc
  μ s ≤ μ (s ∩ o ∪ oᶜ) := by
    conv_lhs => rw [← inter_union_compl s o]
    exact measure_mono (union_subset_union_right _ (inter_subset_right _ _))
  _ ≤ μ (s ∩ o) + μ oᶜ := (measure_union_le _ _)
  _ = μ (s ∩ o) := by rw [μo, add_zero]
  _ = (ε : ℝ≥0∞)⁻¹ * (ε • μ) (s ∩ o) :=
    by
    simp only [coe_nnreal_smul_apply, ← mul_assoc, mul_comm _ (ε : ℝ≥0∞)]
    rw [ENNReal.mul_inv_cancel (ENNReal.coe_pos.2 εpos).ne' ENNReal.coe_ne_top, one_mul]
  _ ≤ (ε : ℝ≥0∞)⁻¹ * ρ (s ∩ o) := by
    refine' mul_le_mul_left' _ _
    refine' v.measure_le_of_frequently_le ρ ((Measure.AbsolutelyContinuous.refl μ).smul ε) _ _
    intro x hx
    rw [hs] at hx 
    simp only [mem_inter_iff, not_lt, not_eventually, mem_setOf_eq] at hx 
    exact hx.1
  _ ≤ (ε : ℝ≥0∞)⁻¹ * ρ o := (mul_le_mul_left' (measure_mono (inter_subset_right _ _)) _)
  _ = 0 := by rw [ρo, mul_zero]
[GOAL]
α : 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 ρ
ε : ℝ≥0
εpos : ε > 0
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
hs : s = {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
o : Set α
left✝ : MeasurableSet o
ρo : ↑↑ρ o = 0
μo : ↑↑μ oᶜ = 0
⊢ ↑↑μ s ≤ ↑↑μ (s ∩ o ∪ oᶜ)
[PROOFSTEP]
conv_lhs => rw [← inter_union_compl s o]
[GOAL]
α : 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 ρ
ε : ℝ≥0
εpos : ε > 0
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
hs : s = {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
o : Set α
left✝ : MeasurableSet o
ρo : ↑↑ρ o = 0
μo : ↑↑μ oᶜ = 0
| ↑↑μ s
[PROOFSTEP]
rw [← inter_union_compl s o]
[GOAL]
α : 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 ρ
ε : ℝ≥0
εpos : ε > 0
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
hs : s = {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
o : Set α
left✝ : MeasurableSet o
ρo : ↑↑ρ o = 0
μo : ↑↑μ oᶜ = 0
| ↑↑μ s
[PROOFSTEP]
rw [← inter_union_compl s o]
[GOAL]
α : 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 ρ
ε : ℝ≥0
εpos : ε > 0
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
hs : s = {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
o : Set α
left✝ : MeasurableSet o
ρo : ↑↑ρ o = 0
μo : ↑↑μ oᶜ = 0
| ↑↑μ s
[PROOFSTEP]
rw [← inter_union_compl s o]
[GOAL]
α : 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 ρ
ε : ℝ≥0
εpos : ε > 0
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
hs : s = {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
o : Set α
left✝ : MeasurableSet o
ρo : ↑↑ρ o = 0
μo : ↑↑μ oᶜ = 0
⊢ ↑↑μ (s ∩ o ∪ s ∩ oᶜ) ≤ ↑↑μ (s ∩ o ∪ oᶜ)
[PROOFSTEP]
exact measure_mono (union_subset_union_right _ (inter_subset_right _ _))
[GOAL]
α : 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 ρ
ε : ℝ≥0
εpos : ε > 0
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
hs : s = {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
o : Set α
left✝ : MeasurableSet o
ρo : ↑↑ρ o = 0
μo : ↑↑μ oᶜ = 0
⊢ ↑↑μ (s ∩ o) + ↑↑μ oᶜ = ↑↑μ (s ∩ o)
[PROOFSTEP]
rw [μo, add_zero]
[GOAL]
α : 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 ρ
ε : ℝ≥0
εpos : ε > 0
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
hs : s = {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
o : Set α
left✝ : MeasurableSet o
ρo : ↑↑ρ o = 0
μo : ↑↑μ oᶜ = 0
⊢ ↑↑μ (s ∩ o) = (↑ε)⁻¹ * ↑↑(ε • μ) (s ∩ o)
[PROOFSTEP]
simp only [coe_nnreal_smul_apply, ← mul_assoc, mul_comm _ (ε : ℝ≥0∞)]
[GOAL]
α : 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 ρ
ε : ℝ≥0
εpos : ε > 0
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
hs : s = {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
o : Set α
left✝ : MeasurableSet o
ρo : ↑↑ρ o = 0
μo : ↑↑μ oᶜ = 0
⊢ ↑↑μ ({x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a} ∩ o) =
    ↑ε * (↑ε)⁻¹ * ↑↑μ ({x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a} ∩ o)
[PROOFSTEP]
rw [ENNReal.mul_inv_cancel (ENNReal.coe_pos.2 εpos).ne' ENNReal.coe_ne_top, one_mul]
[GOAL]
α : 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 ρ
ε : ℝ≥0
εpos : ε > 0
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
hs : s = {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
o : Set α
left✝ : MeasurableSet o
ρo : ↑↑ρ o = 0
μo : ↑↑μ oᶜ = 0
⊢ (↑ε)⁻¹ * ↑↑(ε • μ) (s ∩ o) ≤ (↑ε)⁻¹ * ↑↑ρ (s ∩ o)
[PROOFSTEP]
refine' mul_le_mul_left' _ _
[GOAL]
α : 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 ρ
ε : ℝ≥0
εpos : ε > 0
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
hs : s = {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
o : Set α
left✝ : MeasurableSet o
ρo : ↑↑ρ o = 0
μo : ↑↑μ oᶜ = 0
⊢ ↑↑(ε • μ) (s ∩ o) ≤ ↑↑ρ (s ∩ o)
[PROOFSTEP]
refine' v.measure_le_of_frequently_le ρ ((Measure.AbsolutelyContinuous.refl μ).smul ε) _ _
[GOAL]
α : 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 ρ
ε : ℝ≥0
εpos : ε > 0
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
hs : s = {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
o : Set α
left✝ : MeasurableSet o
ρo : ↑↑ρ o = 0
μo : ↑↑μ oᶜ = 0
⊢ ∀ (x : α), x ∈ s ∩ o → ∃ᶠ (a : Set α) in filterAt v x, ↑↑(ε • μ) a ≤ ↑↑ρ a
[PROOFSTEP]
intro x hx
[GOAL]
α : 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 ρ
ε : ℝ≥0
εpos : ε > 0
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
hs : s = {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
o : Set α
left✝ : MeasurableSet o
ρo : ↑↑ρ o = 0
μo : ↑↑μ oᶜ = 0
x : α
hx : x ∈ s ∩ o
⊢ ∃ᶠ (a : Set α) in filterAt v x, ↑↑(ε • μ) a ≤ ↑↑ρ a
[PROOFSTEP]
rw [hs] at hx 
[GOAL]
α : 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 ρ
ε : ℝ≥0
εpos : ε > 0
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
hs : s = {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
o : Set α
left✝ : MeasurableSet o
ρo : ↑↑ρ o = 0
μo : ↑↑μ oᶜ = 0
x : α
hx : x ∈ {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a} ∩ o
⊢ ∃ᶠ (a : Set α) in filterAt v x, ↑↑(ε • μ) a ≤ ↑↑ρ a
[PROOFSTEP]
simp only [mem_inter_iff, not_lt, not_eventually, mem_setOf_eq] at hx 
[GOAL]
α : 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 ρ
ε : ℝ≥0
εpos : ε > 0
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
hs : s = {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
o : Set α
left✝ : MeasurableSet o
ρo : ↑↑ρ o = 0
μo : ↑↑μ oᶜ = 0
x : α
hx : (∃ᶠ (x : Set α) in filterAt v x, ↑ε * ↑↑μ x ≤ ↑↑ρ x) ∧ x ∈ o
⊢ ∃ᶠ (a : Set α) in filterAt v x, ↑↑(ε • μ) a ≤ ↑↑ρ a
[PROOFSTEP]
exact hx.1
[GOAL]
α : 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 ρ
ε : ℝ≥0
εpos : ε > 0
s : Set α := {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
hs : s = {x | ¬∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a}
o : Set α
left✝ : MeasurableSet o
ρo : ↑↑ρ o = 0
μo : ↑↑μ oᶜ = 0
⊢ (↑ε)⁻¹ * ↑↑ρ o = 0
[PROOFSTEP]
rw [ρo, mul_zero]
[GOAL]
α : 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 ρ
hρ : ρ ⟂ₘ μ
A : ∀ (ε : ℝ≥0), ε > 0 → ∀ᵐ (x : α) ∂μ, ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 0)
[PROOFSTEP]
obtain ⟨u, _, u_pos, u_lim⟩ : ∃ u : ℕ → ℝ≥0, StrictAnti u ∧ (∀ n : ℕ, 0 < u n) ∧ Tendsto u atTop (𝓝 0) :=
  exists_seq_strictAnti_tendsto (0 : ℝ≥0)
[GOAL]
case intro.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 ρ
hρ : ρ ⟂ₘ μ
A : ∀ (ε : ℝ≥0), ε > 0 → ∀ᵐ (x : α) ∂μ, ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a
u : ℕ → ℝ≥0
left✝ : StrictAnti u
u_pos : ∀ (n : ℕ), 0 < u n
u_lim : Tendsto u atTop (𝓝 0)
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 0)
[PROOFSTEP]
have B : ∀ᵐ x ∂μ, ∀ n, ∀ᶠ a in v.filterAt x, ρ a < u n * μ a := ae_all_iff.2 fun n => A (u n) (u_pos n)
[GOAL]
case intro.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 ρ
hρ : ρ ⟂ₘ μ
A : ∀ (ε : ℝ≥0), ε > 0 → ∀ᵐ (x : α) ∂μ, ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a
u : ℕ → ℝ≥0
left✝ : StrictAnti u
u_pos : ∀ (n : ℕ), 0 < u n
u_lim : Tendsto u atTop (𝓝 0)
B : ∀ᵐ (x : α) ∂μ, ∀ (n : ℕ), ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑(u n) * ↑↑μ a
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 0)
[PROOFSTEP]
filter_upwards [B, v.ae_eventually_measure_pos]
[GOAL]
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 ρ
hρ : ρ ⟂ₘ μ
A : ∀ (ε : ℝ≥0), ε > 0 → ∀ᵐ (x : α) ∂μ, ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a
u : ℕ → ℝ≥0
left✝ : StrictAnti u
u_pos : ∀ (n : ℕ), 0 < u n
u_lim : Tendsto u atTop (𝓝 0)
B : ∀ᵐ (x : α) ∂μ, ∀ (n : ℕ), ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑(u n) * ↑↑μ a
⊢ ∀ (a : α),
    (∀ (n : ℕ), ∀ᶠ (a : Set α) in filterAt v a, ↑↑ρ a < ↑(u n) * ↑↑μ a) →
      (∀ᶠ (a : Set α) in filterAt v a, 0 < ↑↑μ a) → Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v a) (𝓝 0)
[PROOFSTEP]
intro x hx h'x
[GOAL]
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 ρ
hρ : ρ ⟂ₘ μ
A : ∀ (ε : ℝ≥0), ε > 0 → ∀ᵐ (x : α) ∂μ, ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a
u : ℕ → ℝ≥0
left✝ : StrictAnti u
u_pos : ∀ (n : ℕ), 0 < u n
u_lim : Tendsto u atTop (𝓝 0)
B : ∀ᵐ (x : α) ∂μ, ∀ (n : ℕ), ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑(u n) * ↑↑μ a
x : α
hx : ∀ (n : ℕ), ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑(u n) * ↑↑μ a
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
⊢ Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 0)
[PROOFSTEP]
refine' tendsto_order.2 ⟨fun z hz => (ENNReal.not_lt_zero hz).elim, fun z hz => _⟩
[GOAL]
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 ρ
hρ : ρ ⟂ₘ μ
A : ∀ (ε : ℝ≥0), ε > 0 → ∀ᵐ (x : α) ∂μ, ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a
u : ℕ → ℝ≥0
left✝ : StrictAnti u
u_pos : ∀ (n : ℕ), 0 < u n
u_lim : Tendsto u atTop (𝓝 0)
B : ∀ᵐ (x : α) ∂μ, ∀ (n : ℕ), ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑(u n) * ↑↑μ a
x : α
hx : ∀ (n : ℕ), ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑(u n) * ↑↑μ a
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
z : ℝ≥0∞
hz : z > 0
⊢ ∀ᶠ (b : Set α) in filterAt v x, ↑↑ρ b / ↑↑μ b < z
[PROOFSTEP]
obtain ⟨w, w_pos, w_lt⟩ : ∃ w : ℝ≥0, (0 : ℝ≥0∞) < w ∧ (w : ℝ≥0∞) < z := ENNReal.lt_iff_exists_nnreal_btwn.1 hz
[GOAL]
case h.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 ρ
hρ : ρ ⟂ₘ μ
A : ∀ (ε : ℝ≥0), ε > 0 → ∀ᵐ (x : α) ∂μ, ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a
u : ℕ → ℝ≥0
left✝ : StrictAnti u
u_pos : ∀ (n : ℕ), 0 < u n
u_lim : Tendsto u atTop (𝓝 0)
B : ∀ᵐ (x : α) ∂μ, ∀ (n : ℕ), ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑(u n) * ↑↑μ a
x : α
hx : ∀ (n : ℕ), ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑(u n) * ↑↑μ a
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
z : ℝ≥0∞
hz : z > 0
w : ℝ≥0
w_pos : 0 < ↑w
w_lt : ↑w < z
⊢ ∀ᶠ (b : Set α) in filterAt v x, ↑↑ρ b / ↑↑μ b < z
[PROOFSTEP]
obtain ⟨n, hn⟩ : ∃ n, u n < w := ((tendsto_order.1 u_lim).2 w (ENNReal.coe_pos.1 w_pos)).exists
[GOAL]
case h.intro.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 ρ
hρ : ρ ⟂ₘ μ
A : ∀ (ε : ℝ≥0), ε > 0 → ∀ᵐ (x : α) ∂μ, ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a
u : ℕ → ℝ≥0
left✝ : StrictAnti u
u_pos : ∀ (n : ℕ), 0 < u n
u_lim : Tendsto u atTop (𝓝 0)
B : ∀ᵐ (x : α) ∂μ, ∀ (n : ℕ), ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑(u n) * ↑↑μ a
x : α
hx : ∀ (n : ℕ), ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑(u n) * ↑↑μ a
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
z : ℝ≥0∞
hz : z > 0
w : ℝ≥0
w_pos : 0 < ↑w
w_lt : ↑w < z
n : ℕ
hn : u n < w
⊢ ∀ᶠ (b : Set α) in filterAt v x, ↑↑ρ b / ↑↑μ b < z
[PROOFSTEP]
filter_upwards [hx n, h'x, v.eventually_measure_lt_top x]
[GOAL]
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 ρ
hρ : ρ ⟂ₘ μ
A : ∀ (ε : ℝ≥0), ε > 0 → ∀ᵐ (x : α) ∂μ, ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a
u : ℕ → ℝ≥0
left✝ : StrictAnti u
u_pos : ∀ (n : ℕ), 0 < u n
u_lim : Tendsto u atTop (𝓝 0)
B : ∀ᵐ (x : α) ∂μ, ∀ (n : ℕ), ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑(u n) * ↑↑μ a
x : α
hx : ∀ (n : ℕ), ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑(u n) * ↑↑μ a
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
z : ℝ≥0∞
hz : z > 0
w : ℝ≥0
w_pos : 0 < ↑w
w_lt : ↑w < z
n : ℕ
hn : u n < w
⊢ ∀ (a : Set α), ↑↑ρ a < ↑(u n) * ↑↑μ a → 0 < ↑↑μ a → ↑↑μ a < ⊤ → ↑↑ρ a / ↑↑μ a < z
[PROOFSTEP]
intro a ha μa_pos μa_lt_top
[GOAL]
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 ρ
hρ : ρ ⟂ₘ μ
A : ∀ (ε : ℝ≥0), ε > 0 → ∀ᵐ (x : α) ∂μ, ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a
u : ℕ → ℝ≥0
left✝ : StrictAnti u
u_pos : ∀ (n : ℕ), 0 < u n
u_lim : Tendsto u atTop (𝓝 0)
B : ∀ᵐ (x : α) ∂μ, ∀ (n : ℕ), ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑(u n) * ↑↑μ a
x : α
hx : ∀ (n : ℕ), ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑(u n) * ↑↑μ a
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
z : ℝ≥0∞
hz : z > 0
w : ℝ≥0
w_pos : 0 < ↑w
w_lt : ↑w < z
n : ℕ
hn : u n < w
a : Set α
ha : ↑↑ρ a < ↑(u n) * ↑↑μ a
μa_pos : 0 < ↑↑μ a
μa_lt_top : ↑↑μ a < ⊤
⊢ ↑↑ρ a / ↑↑μ a < z
[PROOFSTEP]
rw [ENNReal.div_lt_iff (Or.inl μa_pos.ne') (Or.inl μa_lt_top.ne)]
[GOAL]
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 ρ
hρ : ρ ⟂ₘ μ
A : ∀ (ε : ℝ≥0), ε > 0 → ∀ᵐ (x : α) ∂μ, ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑ε * ↑↑μ a
u : ℕ → ℝ≥0
left✝ : StrictAnti u
u_pos : ∀ (n : ℕ), 0 < u n
u_lim : Tendsto u atTop (𝓝 0)
B : ∀ᵐ (x : α) ∂μ, ∀ (n : ℕ), ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑(u n) * ↑↑μ a
x : α
hx : ∀ (n : ℕ), ∀ᶠ (a : Set α) in filterAt v x, ↑↑ρ a < ↑(u n) * ↑↑μ a
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
z : ℝ≥0∞
hz : z > 0
w : ℝ≥0
w_pos : 0 < ↑w
w_lt : ↑w < z
n : ℕ
hn : u n < w
a : Set α
ha : ↑↑ρ a < ↑(u n) * ↑↑μ a
μa_pos : 0 < ↑↑μ a
μa_lt_top : ↑↑μ a < ⊤
⊢ ↑↑ρ a < z * ↑↑μ a
[PROOFSTEP]
exact ha.trans_le (mul_le_mul_right' ((ENNReal.coe_le_coe.2 hn.le).trans w_lt.le) _)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
c d : ℝ≥0
hcd : c < d
s : Set α
hc : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑c * ↑↑μ a
hd : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑d * ↑↑μ a ≤ ↑↑ρ a
⊢ ↑↑μ s = 0
[PROOFSTEP]
apply null_of_locally_null s fun x _ => ?_
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
c d : ℝ≥0
hcd : c < d
s : Set α
hc : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑c * ↑↑μ a
hd : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑d * ↑↑μ a ≤ ↑↑ρ a
x : α
x✝ : x ∈ s
⊢ ∃ u, u ∈ 𝓝[s] x ∧ ↑↑μ u = 0
[PROOFSTEP]
obtain ⟨o, xo, o_open, μo⟩ : ∃ o : Set α, x ∈ o ∧ IsOpen o ∧ μ o < ∞ := Measure.exists_isOpen_measure_lt_top μ x
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
c d : ℝ≥0
hcd : c < d
s : Set α
hc : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑c * ↑↑μ a
hd : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑d * ↑↑μ a ≤ ↑↑ρ a
x : α
x✝ : x ∈ s
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
⊢ ∃ u, u ∈ 𝓝[s] x ∧ ↑↑μ u = 0
[PROOFSTEP]
refine' ⟨s ∩ o, inter_mem_nhdsWithin _ (o_open.mem_nhds xo), _⟩
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
c d : ℝ≥0
hcd : c < d
s : Set α
hc : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑c * ↑↑μ a
hd : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑d * ↑↑μ a ≤ ↑↑ρ a
x : α
x✝ : x ∈ s
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
⊢ ↑↑μ (s ∩ o) = 0
[PROOFSTEP]
let s' := s ∩ o
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
c d : ℝ≥0
hcd : c < d
s : Set α
hc : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑c * ↑↑μ a
hd : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑d * ↑↑μ a ≤ ↑↑ρ a
x : α
x✝ : x ∈ s
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
s' : Set α := s ∩ o
⊢ ↑↑μ (s ∩ o) = 0
[PROOFSTEP]
by_contra h
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
c d : ℝ≥0
hcd : c < d
s : Set α
hc : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑c * ↑↑μ a
hd : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑d * ↑↑μ a ≤ ↑↑ρ a
x : α
x✝ : x ∈ s
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
s' : Set α := s ∩ o
h : ¬↑↑μ (s ∩ o) = 0
⊢ False
[PROOFSTEP]
apply lt_irrefl (ρ s')
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
c d : ℝ≥0
hcd : c < d
s : Set α
hc : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑c * ↑↑μ a
hd : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑d * ↑↑μ a ≤ ↑↑ρ a
x : α
x✝ : x ∈ s
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
s' : Set α := s ∩ o
h : ¬↑↑μ (s ∩ o) = 0
⊢ ↑↑ρ s' < ↑↑ρ s'
[PROOFSTEP]
calc
  ρ s' ≤ c * μ s' := v.measure_le_of_frequently_le (c • μ) hρ s' fun x hx => hc x hx.1
  _ < d * μ s' := by
    apply (ENNReal.mul_lt_mul_right h _).2 (ENNReal.coe_lt_coe.2 hcd)
    exact (lt_of_le_of_lt (measure_mono (inter_subset_right _ _)) μo).ne
  _ ≤ ρ s' := v.measure_le_of_frequently_le ρ ((Measure.AbsolutelyContinuous.refl μ).smul d) s' fun x hx => hd x hx.1
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
c d : ℝ≥0
hcd : c < d
s : Set α
hc : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑c * ↑↑μ a
hd : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑d * ↑↑μ a ≤ ↑↑ρ a
x : α
x✝ : x ∈ s
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
s' : Set α := s ∩ o
h : ¬↑↑μ (s ∩ o) = 0
⊢ ↑c * ↑↑μ s' < ↑d * ↑↑μ s'
[PROOFSTEP]
apply (ENNReal.mul_lt_mul_right h _).2 (ENNReal.coe_lt_coe.2 hcd)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
c d : ℝ≥0
hcd : c < d
s : Set α
hc : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑c * ↑↑μ a
hd : ∀ (x : α), x ∈ s → ∃ᶠ (a : Set α) in filterAt v x, ↑d * ↑↑μ a ≤ ↑↑ρ a
x : α
x✝ : x ∈ s
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
s' : Set α := s ∩ o
h : ¬↑↑μ (s ∩ o) = 0
⊢ ↑↑μ (s ∩ o) ≠ ⊤
[PROOFSTEP]
exact (lt_of_le_of_lt (measure_mono (inter_subset_right _ _)) μo).ne
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
⊢ ∀ᵐ (x : α) ∂μ, ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)
[PROOFSTEP]
obtain ⟨w, w_count, w_dense, _, w_top⟩ : ∃ w : Set ℝ≥0∞, w.Countable ∧ Dense w ∧ 0 ∉ w ∧ ∞ ∉ w :=
  ENNReal.exists_countable_dense_no_zero_top
[GOAL]
case intro.intro.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 ρ
hρ : ρ ≪ μ
w : Set ℝ≥0∞
w_count : Set.Countable w
w_dense : Dense w
left✝ : ¬0 ∈ w
w_top : ¬⊤ ∈ w
⊢ ∀ᵐ (x : α) ∂μ, ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)
[PROOFSTEP]
have I : ∀ x ∈ w, x ≠ ∞ := fun x xs hx => w_top (hx ▸ xs)
[GOAL]
case intro.intro.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 ρ
hρ : ρ ≪ μ
w : Set ℝ≥0∞
w_count : Set.Countable w
w_dense : Dense w
left✝ : ¬0 ∈ w
w_top : ¬⊤ ∈ w
I : ∀ (x : ℝ≥0∞), x ∈ w → x ≠ ⊤
⊢ ∀ᵐ (x : α) ∂μ, ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)
[PROOFSTEP]
have A :
  ∀ c ∈ w, ∀ d ∈ w, c < d → ∀ᵐ x ∂μ, ¬((∃ᶠ a in v.filterAt x, ρ a / μ a < c) ∧ ∃ᶠ a in v.filterAt x, d < ρ a / μ a) :=
  by
  intro c hc d hd hcd
  lift c to ℝ≥0 using I c hc
  lift d to ℝ≥0 using I d hd
  apply v.null_of_frequently_le_of_frequently_ge hρ (ENNReal.coe_lt_coe.1 hcd)
  · simp only [and_imp, exists_prop, not_frequently, not_and, not_lt, not_le, not_eventually, mem_setOf_eq,
      mem_compl_iff, not_forall]
    intro x h1x _
    apply h1x.mono fun a ha => ?_
    refine' (ENNReal.div_le_iff_le_mul _ (Or.inr (bot_le.trans_lt ha).ne')).1 ha.le
    simp only [ENNReal.coe_ne_top, Ne.def, or_true_iff, not_false_iff]
  · simp only [and_imp, exists_prop, not_frequently, not_and, not_lt, not_le, not_eventually, mem_setOf_eq,
      mem_compl_iff, not_forall]
    intro x _ h2x
    apply h2x.mono fun a ha => ?_
    exact ENNReal.mul_le_of_le_div ha.le
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
w : Set ℝ≥0∞
w_count : Set.Countable w
w_dense : Dense w
left✝ : ¬0 ∈ w
w_top : ¬⊤ ∈ w
I : ∀ (x : ℝ≥0∞), x ∈ w → x ≠ ⊤
⊢ ∀ (c : ℝ≥0∞),
    c ∈ w →
      ∀ (d : ℝ≥0∞),
        d ∈ w →
          c < d →
            ∀ᵐ (x : α) ∂μ,
              ¬((∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < c) ∧ ∃ᶠ (a : Set α) in filterAt v x, d < ↑↑ρ a / ↑↑μ a)
[PROOFSTEP]
intro c hc d hd hcd
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
w : Set ℝ≥0∞
w_count : Set.Countable w
w_dense : Dense w
left✝ : ¬0 ∈ w
w_top : ¬⊤ ∈ w
I : ∀ (x : ℝ≥0∞), x ∈ w → x ≠ ⊤
c : ℝ≥0∞
hc : c ∈ w
d : ℝ≥0∞
hd : d ∈ w
hcd : c < d
⊢ ∀ᵐ (x : α) ∂μ,
    ¬((∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < c) ∧ ∃ᶠ (a : Set α) in filterAt v x, d < ↑↑ρ a / ↑↑μ a)
[PROOFSTEP]
lift c to ℝ≥0 using I c hc
[GOAL]
case 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 ρ
hρ : ρ ≪ μ
w : Set ℝ≥0∞
w_count : Set.Countable w
w_dense : Dense w
left✝ : ¬0 ∈ w
w_top : ¬⊤ ∈ w
I : ∀ (x : ℝ≥0∞), x ∈ w → x ≠ ⊤
d : ℝ≥0∞
hd : d ∈ w
c : ℝ≥0
hc : ↑c ∈ w
hcd : ↑c < d
⊢ ∀ᵐ (x : α) ∂μ,
    ¬((∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < ↑c) ∧ ∃ᶠ (a : Set α) in filterAt v x, d < ↑↑ρ a / ↑↑μ a)
[PROOFSTEP]
lift d to ℝ≥0 using I d hd
[GOAL]
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 ρ
hρ : ρ ≪ μ
w : Set ℝ≥0∞
w_count : Set.Countable w
w_dense : Dense w
left✝ : ¬0 ∈ w
w_top : ¬⊤ ∈ w
I : ∀ (x : ℝ≥0∞), x ∈ w → x ≠ ⊤
c : ℝ≥0
hc : ↑c ∈ w
d : ℝ≥0
hd : ↑d ∈ w
hcd : ↑c < ↑d
⊢ ∀ᵐ (x : α) ∂μ,
    ¬((∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < ↑c) ∧ ∃ᶠ (a : Set α) in filterAt v x, ↑d < ↑↑ρ a / ↑↑μ a)
[PROOFSTEP]
apply v.null_of_frequently_le_of_frequently_ge hρ (ENNReal.coe_lt_coe.1 hcd)
[GOAL]
case intro.intro.hc
α : 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 ρ
hρ : ρ ≪ μ
w : Set ℝ≥0∞
w_count : Set.Countable w
w_dense : Dense w
left✝ : ¬0 ∈ w
w_top : ¬⊤ ∈ w
I : ∀ (x : ℝ≥0∞), x ∈ w → x ≠ ⊤
c : ℝ≥0
hc : ↑c ∈ w
d : ℝ≥0
hd : ↑d ∈ w
hcd : ↑c < ↑d
⊢ ∀ (x : α),
    x ∈
        {x |
            (fun x =>
                ¬((∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < ↑c) ∧
                    ∃ᶠ (a : Set α) in filterAt v x, ↑d < ↑↑ρ a / ↑↑μ a))
              x}ᶜ →
      ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑c * ↑↑μ a
[PROOFSTEP]
simp only [and_imp, exists_prop, not_frequently, not_and, not_lt, not_le, not_eventually, mem_setOf_eq, mem_compl_iff,
  not_forall]
[GOAL]
case intro.intro.hc
α : 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 ρ
hρ : ρ ≪ μ
w : Set ℝ≥0∞
w_count : Set.Countable w
w_dense : Dense w
left✝ : ¬0 ∈ w
w_top : ¬⊤ ∈ w
I : ∀ (x : ℝ≥0∞), x ∈ w → x ≠ ⊤
c : ℝ≥0
hc : ↑c ∈ w
d : ℝ≥0
hd : ↑d ∈ w
hcd : ↑c < ↑d
⊢ ∀ (x : α),
    (∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < ↑c) →
      (∃ᶠ (x : Set α) in filterAt v x, ↑d < ↑↑ρ x / ↑↑μ x) → ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑c * ↑↑μ a
[PROOFSTEP]
intro x h1x _
[GOAL]
case intro.intro.hc
α : 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 ρ
hρ : ρ ≪ μ
w : Set ℝ≥0∞
w_count : Set.Countable w
w_dense : Dense w
left✝ : ¬0 ∈ w
w_top : ¬⊤ ∈ w
I : ∀ (x : ℝ≥0∞), x ∈ w → x ≠ ⊤
c : ℝ≥0
hc : ↑c ∈ w
d : ℝ≥0
hd : ↑d ∈ w
hcd : ↑c < ↑d
x : α
h1x : ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < ↑c
a✝ : ∃ᶠ (x : Set α) in filterAt v x, ↑d < ↑↑ρ x / ↑↑μ x
⊢ ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑c * ↑↑μ a
[PROOFSTEP]
apply h1x.mono fun a ha => ?_
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
w : Set ℝ≥0∞
w_count : Set.Countable w
w_dense : Dense w
left✝ : ¬0 ∈ w
w_top : ¬⊤ ∈ w
I : ∀ (x : ℝ≥0∞), x ∈ w → x ≠ ⊤
c : ℝ≥0
hc : ↑c ∈ w
d : ℝ≥0
hd : ↑d ∈ w
hcd : ↑c < ↑d
x : α
h1x : ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < ↑c
a✝ : ∃ᶠ (x : Set α) in filterAt v x, ↑d < ↑↑ρ x / ↑↑μ x
a : Set α
ha : ↑↑ρ a / ↑↑μ a < ↑c
⊢ ↑↑ρ a ≤ ↑c * ↑↑μ a
[PROOFSTEP]
refine' (ENNReal.div_le_iff_le_mul _ (Or.inr (bot_le.trans_lt ha).ne')).1 ha.le
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
w : Set ℝ≥0∞
w_count : Set.Countable w
w_dense : Dense w
left✝ : ¬0 ∈ w
w_top : ¬⊤ ∈ w
I : ∀ (x : ℝ≥0∞), x ∈ w → x ≠ ⊤
c : ℝ≥0
hc : ↑c ∈ w
d : ℝ≥0
hd : ↑d ∈ w
hcd : ↑c < ↑d
x : α
h1x : ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < ↑c
a✝ : ∃ᶠ (x : Set α) in filterAt v x, ↑d < ↑↑ρ x / ↑↑μ x
a : Set α
ha : ↑↑ρ a / ↑↑μ a < ↑c
⊢ ↑↑μ a ≠ 0 ∨ ↑c ≠ ⊤
[PROOFSTEP]
simp only [ENNReal.coe_ne_top, Ne.def, or_true_iff, not_false_iff]
[GOAL]
case intro.intro.hd
α : 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 ρ
hρ : ρ ≪ μ
w : Set ℝ≥0∞
w_count : Set.Countable w
w_dense : Dense w
left✝ : ¬0 ∈ w
w_top : ¬⊤ ∈ w
I : ∀ (x : ℝ≥0∞), x ∈ w → x ≠ ⊤
c : ℝ≥0
hc : ↑c ∈ w
d : ℝ≥0
hd : ↑d ∈ w
hcd : ↑c < ↑d
⊢ ∀ (x : α),
    x ∈
        {x |
            (fun x =>
                ¬((∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < ↑c) ∧
                    ∃ᶠ (a : Set α) in filterAt v x, ↑d < ↑↑ρ a / ↑↑μ a))
              x}ᶜ →
      ∃ᶠ (a : Set α) in filterAt v x, ↑d * ↑↑μ a ≤ ↑↑ρ a
[PROOFSTEP]
simp only [and_imp, exists_prop, not_frequently, not_and, not_lt, not_le, not_eventually, mem_setOf_eq, mem_compl_iff,
  not_forall]
[GOAL]
case intro.intro.hd
α : 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 ρ
hρ : ρ ≪ μ
w : Set ℝ≥0∞
w_count : Set.Countable w
w_dense : Dense w
left✝ : ¬0 ∈ w
w_top : ¬⊤ ∈ w
I : ∀ (x : ℝ≥0∞), x ∈ w → x ≠ ⊤
c : ℝ≥0
hc : ↑c ∈ w
d : ℝ≥0
hd : ↑d ∈ w
hcd : ↑c < ↑d
⊢ ∀ (x : α),
    (∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < ↑c) →
      (∃ᶠ (x : Set α) in filterAt v x, ↑d < ↑↑ρ x / ↑↑μ x) → ∃ᶠ (a : Set α) in filterAt v x, ↑d * ↑↑μ a ≤ ↑↑ρ a
[PROOFSTEP]
intro x _ h2x
[GOAL]
case intro.intro.hd
α : 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 ρ
hρ : ρ ≪ μ
w : Set ℝ≥0∞
w_count : Set.Countable w
w_dense : Dense w
left✝ : ¬0 ∈ w
w_top : ¬⊤ ∈ w
I : ∀ (x : ℝ≥0∞), x ∈ w → x ≠ ⊤
c : ℝ≥0
hc : ↑c ∈ w
d : ℝ≥0
hd : ↑d ∈ w
hcd : ↑c < ↑d
x : α
a✝ : ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < ↑c
h2x : ∃ᶠ (x : Set α) in filterAt v x, ↑d < ↑↑ρ x / ↑↑μ x
⊢ ∃ᶠ (a : Set α) in filterAt v x, ↑d * ↑↑μ a ≤ ↑↑ρ a
[PROOFSTEP]
apply h2x.mono fun a ha => ?_
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
w : Set ℝ≥0∞
w_count : Set.Countable w
w_dense : Dense w
left✝ : ¬0 ∈ w
w_top : ¬⊤ ∈ w
I : ∀ (x : ℝ≥0∞), x ∈ w → x ≠ ⊤
c : ℝ≥0
hc : ↑c ∈ w
d : ℝ≥0
hd : ↑d ∈ w
hcd : ↑c < ↑d
x : α
a✝ : ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < ↑c
h2x : ∃ᶠ (x : Set α) in filterAt v x, ↑d < ↑↑ρ x / ↑↑μ x
a : Set α
ha : ↑d < ↑↑ρ a / ↑↑μ a
⊢ ↑d * ↑↑μ a ≤ ↑↑ρ a
[PROOFSTEP]
exact ENNReal.mul_le_of_le_div ha.le
[GOAL]
case intro.intro.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 ρ
hρ : ρ ≪ μ
w : Set ℝ≥0∞
w_count : Set.Countable w
w_dense : Dense w
left✝ : ¬0 ∈ w
w_top : ¬⊤ ∈ w
I : ∀ (x : ℝ≥0∞), x ∈ w → x ≠ ⊤
A :
  ∀ (c : ℝ≥0∞),
    c ∈ w →
      ∀ (d : ℝ≥0∞),
        d ∈ w →
          c < d →
            ∀ᵐ (x : α) ∂μ,
              ¬((∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < c) ∧ ∃ᶠ (a : Set α) in filterAt v x, d < ↑↑ρ a / ↑↑μ a)
⊢ ∀ᵐ (x : α) ∂μ, ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)
[PROOFSTEP]
have B :
  ∀ᵐ x ∂μ, ∀ c ∈ w, ∀ d ∈ w, c < d → ¬((∃ᶠ a in v.filterAt x, ρ a / μ a < c) ∧ ∃ᶠ a in v.filterAt x, d < ρ a / μ a) :=
  by simpa only [ae_ball_iff w_count, ae_all_iff]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
w : Set ℝ≥0∞
w_count : Set.Countable w
w_dense : Dense w
left✝ : ¬0 ∈ w
w_top : ¬⊤ ∈ w
I : ∀ (x : ℝ≥0∞), x ∈ w → x ≠ ⊤
A :
  ∀ (c : ℝ≥0∞),
    c ∈ w →
      ∀ (d : ℝ≥0∞),
        d ∈ w →
          c < d →
            ∀ᵐ (x : α) ∂μ,
              ¬((∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < c) ∧ ∃ᶠ (a : Set α) in filterAt v x, d < ↑↑ρ a / ↑↑μ a)
⊢ ∀ᵐ (x : α) ∂μ,
    ∀ (c : ℝ≥0∞),
      c ∈ w →
        ∀ (d : ℝ≥0∞),
          d ∈ w →
            c < d →
              ¬((∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < c) ∧ ∃ᶠ (a : Set α) in filterAt v x, d < ↑↑ρ a / ↑↑μ a)
[PROOFSTEP]
simpa only [ae_ball_iff w_count, ae_all_iff]
[GOAL]
case intro.intro.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 ρ
hρ : ρ ≪ μ
w : Set ℝ≥0∞
w_count : Set.Countable w
w_dense : Dense w
left✝ : ¬0 ∈ w
w_top : ¬⊤ ∈ w
I : ∀ (x : ℝ≥0∞), x ∈ w → x ≠ ⊤
A :
  ∀ (c : ℝ≥0∞),
    c ∈ w →
      ∀ (d : ℝ≥0∞),
        d ∈ w →
          c < d →
            ∀ᵐ (x : α) ∂μ,
              ¬((∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < c) ∧ ∃ᶠ (a : Set α) in filterAt v x, d < ↑↑ρ a / ↑↑μ a)
B :
  ∀ᵐ (x : α) ∂μ,
    ∀ (c : ℝ≥0∞),
      c ∈ w →
        ∀ (d : ℝ≥0∞),
          d ∈ w →
            c < d →
              ¬((∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < c) ∧ ∃ᶠ (a : Set α) in filterAt v x, d < ↑↑ρ a / ↑↑μ a)
⊢ ∀ᵐ (x : α) ∂μ, ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)
[PROOFSTEP]
filter_upwards [B]
[GOAL]
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 ρ
hρ : ρ ≪ μ
w : Set ℝ≥0∞
w_count : Set.Countable w
w_dense : Dense w
left✝ : ¬0 ∈ w
w_top : ¬⊤ ∈ w
I : ∀ (x : ℝ≥0∞), x ∈ w → x ≠ ⊤
A :
  ∀ (c : ℝ≥0∞),
    c ∈ w →
      ∀ (d : ℝ≥0∞),
        d ∈ w →
          c < d →
            ∀ᵐ (x : α) ∂μ,
              ¬((∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < c) ∧ ∃ᶠ (a : Set α) in filterAt v x, d < ↑↑ρ a / ↑↑μ a)
B :
  ∀ᵐ (x : α) ∂μ,
    ∀ (c : ℝ≥0∞),
      c ∈ w →
        ∀ (d : ℝ≥0∞),
          d ∈ w →
            c < d →
              ¬((∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < c) ∧ ∃ᶠ (a : Set α) in filterAt v x, d < ↑↑ρ a / ↑↑μ a)
⊢ ∀ (a : α),
    (∀ (c : ℝ≥0∞),
        c ∈ w →
          ∀ (d : ℝ≥0∞),
            d ∈ w →
              c < d →
                ¬((∃ᶠ (a : Set α) in filterAt v a, ↑↑ρ a / ↑↑μ a < c) ∧
                    ∃ᶠ (a : Set α) in filterAt v a, d < ↑↑ρ a / ↑↑μ a)) →
      ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v a) (𝓝 c)
[PROOFSTEP]
intro x hx
[GOAL]
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 ρ
hρ : ρ ≪ μ
w : Set ℝ≥0∞
w_count : Set.Countable w
w_dense : Dense w
left✝ : ¬0 ∈ w
w_top : ¬⊤ ∈ w
I : ∀ (x : ℝ≥0∞), x ∈ w → x ≠ ⊤
A :
  ∀ (c : ℝ≥0∞),
    c ∈ w →
      ∀ (d : ℝ≥0∞),
        d ∈ w →
          c < d →
            ∀ᵐ (x : α) ∂μ,
              ¬((∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < c) ∧ ∃ᶠ (a : Set α) in filterAt v x, d < ↑↑ρ a / ↑↑μ a)
B :
  ∀ᵐ (x : α) ∂μ,
    ∀ (c : ℝ≥0∞),
      c ∈ w →
        ∀ (d : ℝ≥0∞),
          d ∈ w →
            c < d →
              ¬((∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < c) ∧ ∃ᶠ (a : Set α) in filterAt v x, d < ↑↑ρ a / ↑↑μ a)
x : α
hx :
  ∀ (c : ℝ≥0∞),
    c ∈ w →
      ∀ (d : ℝ≥0∞),
        d ∈ w →
          c < d →
            ¬((∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a / ↑↑μ a < c) ∧ ∃ᶠ (a : Set α) in filterAt v x, d < ↑↑ρ a / ↑↑μ a)
⊢ ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)
[PROOFSTEP]
exact tendsto_of_no_upcrossings w_dense hx
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatio v ρ x))
[PROOFSTEP]
filter_upwards [v.ae_tendsto_div hρ]
[GOAL]
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 ρ
hρ : ρ ≪ μ
⊢ ∀ (a : α),
    (∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v a) (𝓝 c)) →
      Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v a) (𝓝 (limRatio v ρ a))
[PROOFSTEP]
intro x hx
[GOAL]
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 ρ
hρ : ρ ≪ μ
x : α
hx : ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)
⊢ Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatio v ρ x))
[PROOFSTEP]
exact tendsto_nhds_limUnder hx
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
⊢ ∃ a b,
    MeasurableSet a ∧ MeasurableSet b ∧ {x | limRatio v ρ x < ↑p} ⊆ a ∧ {x | ↑q < limRatio v ρ x} ⊆ b ∧ ↑↑μ (a ∩ b) = 0
[PROOFSTEP]
let s := {x | ∃ c, Tendsto (fun a => ρ a / μ a) (v.filterAt x) (𝓝 c)}
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
⊢ ∃ a b,
    MeasurableSet a ∧ MeasurableSet b ∧ {x | limRatio v ρ x < ↑p} ⊆ a ∧ {x | ↑q < limRatio v ρ x} ⊆ b ∧ ↑↑μ (a ∩ b) = 0
[PROOFSTEP]
let o : ℕ → Set α := spanningSets (ρ + μ)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
⊢ ∃ a b,
    MeasurableSet a ∧ MeasurableSet b ∧ {x | limRatio v ρ x < ↑p} ⊆ a ∧ {x | ↑q < limRatio v ρ x} ⊆ b ∧ ↑↑μ (a ∩ b) = 0
[PROOFSTEP]
let u n := s ∩ {x | v.limRatio ρ x < p} ∩ o n
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
⊢ ∃ a b,
    MeasurableSet a ∧ MeasurableSet b ∧ {x | limRatio v ρ x < ↑p} ⊆ a ∧ {x | ↑q < limRatio v ρ x} ⊆ b ∧ ↑↑μ (a ∩ b) = 0
[PROOFSTEP]
let w n := s ∩ {x | (q : ℝ≥0∞) < v.limRatio ρ x} ∩ o n
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
⊢ ∃ a b,
    MeasurableSet a ∧ MeasurableSet b ∧ {x | limRatio v ρ x < ↑p} ⊆ a ∧ {x | ↑q < limRatio v ρ x} ⊆ b ∧ ↑↑μ (a ∩ b) = 0
[PROOFSTEP]
refine'
  ⟨toMeasurable μ sᶜ ∪ ⋃ n, toMeasurable (ρ + μ) (u n), toMeasurable μ sᶜ ∪ ⋃ n, toMeasurable (ρ + μ) (w n), _, _, _, _,
    _⟩
    -- check that these sets are measurable supersets as required
[GOAL]
case refine'_1
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
⊢ MeasurableSet (toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (u n))
[PROOFSTEP]
exact (measurableSet_toMeasurable _ _).union (MeasurableSet.iUnion fun n => measurableSet_toMeasurable _ _)
[GOAL]
case refine'_2
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
⊢ MeasurableSet (toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (w n))
[PROOFSTEP]
exact (measurableSet_toMeasurable _ _).union (MeasurableSet.iUnion fun n => measurableSet_toMeasurable _ _)
[GOAL]
case refine'_3
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
⊢ {x | limRatio v ρ x < ↑p} ⊆ toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (u n)
[PROOFSTEP]
intro x hx
[GOAL]
case refine'_3
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
x : α
hx : x ∈ {x | limRatio v ρ x < ↑p}
⊢ x ∈ toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (u n)
[PROOFSTEP]
by_cases h : x ∈ s
[GOAL]
case pos
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
x : α
hx : x ∈ {x | limRatio v ρ x < ↑p}
h : x ∈ s
⊢ x ∈ toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (u n)
[PROOFSTEP]
refine' Or.inr (mem_iUnion.2 ⟨spanningSetsIndex (ρ + μ) x, _⟩)
[GOAL]
case pos
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
x : α
hx : x ∈ {x | limRatio v ρ x < ↑p}
h : x ∈ s
⊢ x ∈ toMeasurable (ρ + μ) (u (spanningSetsIndex (ρ + μ) x))
[PROOFSTEP]
exact subset_toMeasurable _ _ ⟨⟨h, hx⟩, mem_spanningSetsIndex _ _⟩
[GOAL]
case neg
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
x : α
hx : x ∈ {x | limRatio v ρ x < ↑p}
h : ¬x ∈ s
⊢ x ∈ toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (u n)
[PROOFSTEP]
exact Or.inl (subset_toMeasurable μ sᶜ h)
[GOAL]
case refine'_4
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
⊢ {x | ↑q < limRatio v ρ x} ⊆ toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (w n)
[PROOFSTEP]
intro x hx
[GOAL]
case refine'_4
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
x : α
hx : x ∈ {x | ↑q < limRatio v ρ x}
⊢ x ∈ toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (w n)
[PROOFSTEP]
by_cases h : x ∈ s
[GOAL]
case pos
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
x : α
hx : x ∈ {x | ↑q < limRatio v ρ x}
h : x ∈ s
⊢ x ∈ toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (w n)
[PROOFSTEP]
refine' Or.inr (mem_iUnion.2 ⟨spanningSetsIndex (ρ + μ) x, _⟩)
[GOAL]
case pos
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
x : α
hx : x ∈ {x | ↑q < limRatio v ρ x}
h : x ∈ s
⊢ x ∈ toMeasurable (ρ + μ) (w (spanningSetsIndex (ρ + μ) x))
[PROOFSTEP]
exact subset_toMeasurable _ _ ⟨⟨h, hx⟩, mem_spanningSetsIndex _ _⟩
[GOAL]
case neg
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
x : α
hx : x ∈ {x | ↑q < limRatio v ρ x}
h : ¬x ∈ s
⊢ x ∈ toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (w n)
[PROOFSTEP]
exact
  Or.inl
    (subset_toMeasurable μ sᶜ h)
      -- it remains to check the nontrivial part that these sets have zero measure intersection.
        -- it suffices to do it for fixed `m` and `n`, as one is taking countable unions.
[GOAL]
case refine'_5
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
⊢ ↑↑μ
      ((toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (u n)) ∩
        (toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (w n))) =
    0
[PROOFSTEP]
suffices H : ∀ m n : ℕ, μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
[GOAL]
case refine'_5
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
H : ∀ (m n : ℕ), ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
⊢ ↑↑μ
      ((toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (u n)) ∩
        (toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (w n))) =
    0
[PROOFSTEP]
have A :
  (toMeasurable μ sᶜ ∪ ⋃ n, toMeasurable (ρ + μ) (u n)) ∩ (toMeasurable μ sᶜ ∪ ⋃ n, toMeasurable (ρ + μ) (w n)) ⊆
    toMeasurable μ sᶜ ∪ ⋃ (m) (n), toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n) :=
  by
  simp only [inter_distrib_left, inter_distrib_right, true_and_iff, subset_union_left, union_subset_iff, inter_self]
  refine' ⟨_, _, _⟩
  · exact (inter_subset_right _ _).trans (subset_union_left _ _)
  · exact (inter_subset_left _ _).trans (subset_union_left _ _)
  · simp_rw [iUnion_inter, inter_iUnion]; exact subset_union_right _ _
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
H : ∀ (m n : ℕ), ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
⊢ (toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (u n)) ∩
      (toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (w n)) ⊆
    toMeasurable μ sᶜ ∪ ⋃ (m : ℕ) (n : ℕ), toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)
[PROOFSTEP]
simp only [inter_distrib_left, inter_distrib_right, true_and_iff, subset_union_left, union_subset_iff, inter_self]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
H : ∀ (m n : ℕ), ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
⊢ (⋃ (n : ℕ),
          toMeasurable (ρ + μ)
            ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | limRatio v ρ x < ↑p} ∩
              spanningSets (ρ + μ) n)) ∩
        toMeasurable μ {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}ᶜ ⊆
      toMeasurable μ {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}ᶜ ∪
        ⋃ (m : ℕ) (n : ℕ),
          toMeasurable (ρ + μ)
              ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | limRatio v ρ x < ↑p} ∩
                spanningSets (ρ + μ) m) ∩
            toMeasurable (ρ + μ)
              ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | ↑q < limRatio v ρ x} ∩
                spanningSets (ρ + μ) n) ∧
    toMeasurable μ {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}ᶜ ∩
          ⋃ (n : ℕ),
            toMeasurable (ρ + μ)
              ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | ↑q < limRatio v ρ x} ∩
                spanningSets (ρ + μ) n) ⊆
        toMeasurable μ {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}ᶜ ∪
          ⋃ (m : ℕ) (n : ℕ),
            toMeasurable (ρ + μ)
                ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | limRatio v ρ x < ↑p} ∩
                  spanningSets (ρ + μ) m) ∩
              toMeasurable (ρ + μ)
                ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | ↑q < limRatio v ρ x} ∩
                  spanningSets (ρ + μ) n) ∧
      (⋃ (n : ℕ),
            toMeasurable (ρ + μ)
              ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | limRatio v ρ x < ↑p} ∩
                spanningSets (ρ + μ) n)) ∩
          ⋃ (n : ℕ),
            toMeasurable (ρ + μ)
              ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | ↑q < limRatio v ρ x} ∩
                spanningSets (ρ + μ) n) ⊆
        toMeasurable μ {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}ᶜ ∪
          ⋃ (m : ℕ) (n : ℕ),
            toMeasurable (ρ + μ)
                ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | limRatio v ρ x < ↑p} ∩
                  spanningSets (ρ + μ) m) ∩
              toMeasurable (ρ + μ)
                ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | ↑q < limRatio v ρ x} ∩
                  spanningSets (ρ + μ) n)
[PROOFSTEP]
refine' ⟨_, _, _⟩
[GOAL]
case refine'_1
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
H : ∀ (m n : ℕ), ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
⊢ (⋃ (n : ℕ),
        toMeasurable (ρ + μ)
          ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | limRatio v ρ x < ↑p} ∩
            spanningSets (ρ + μ) n)) ∩
      toMeasurable μ {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}ᶜ ⊆
    toMeasurable μ {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}ᶜ ∪
      ⋃ (m : ℕ) (n : ℕ),
        toMeasurable (ρ + μ)
            ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | limRatio v ρ x < ↑p} ∩
              spanningSets (ρ + μ) m) ∩
          toMeasurable (ρ + μ)
            ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | ↑q < limRatio v ρ x} ∩
              spanningSets (ρ + μ) n)
[PROOFSTEP]
exact (inter_subset_right _ _).trans (subset_union_left _ _)
[GOAL]
case refine'_2
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
H : ∀ (m n : ℕ), ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
⊢ toMeasurable μ {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}ᶜ ∩
      ⋃ (n : ℕ),
        toMeasurable (ρ + μ)
          ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | ↑q < limRatio v ρ x} ∩
            spanningSets (ρ + μ) n) ⊆
    toMeasurable μ {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}ᶜ ∪
      ⋃ (m : ℕ) (n : ℕ),
        toMeasurable (ρ + μ)
            ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | limRatio v ρ x < ↑p} ∩
              spanningSets (ρ + μ) m) ∩
          toMeasurable (ρ + μ)
            ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | ↑q < limRatio v ρ x} ∩
              spanningSets (ρ + μ) n)
[PROOFSTEP]
exact (inter_subset_left _ _).trans (subset_union_left _ _)
[GOAL]
case refine'_3
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
H : ∀ (m n : ℕ), ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
⊢ (⋃ (n : ℕ),
        toMeasurable (ρ + μ)
          ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | limRatio v ρ x < ↑p} ∩
            spanningSets (ρ + μ) n)) ∩
      ⋃ (n : ℕ),
        toMeasurable (ρ + μ)
          ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | ↑q < limRatio v ρ x} ∩
            spanningSets (ρ + μ) n) ⊆
    toMeasurable μ {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}ᶜ ∪
      ⋃ (m : ℕ) (n : ℕ),
        toMeasurable (ρ + μ)
            ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | limRatio v ρ x < ↑p} ∩
              spanningSets (ρ + μ) m) ∩
          toMeasurable (ρ + μ)
            ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | ↑q < limRatio v ρ x} ∩
              spanningSets (ρ + μ) n)
[PROOFSTEP]
simp_rw [iUnion_inter, inter_iUnion]
[GOAL]
case refine'_3
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
H : ∀ (m n : ℕ), ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
⊢ ⋃ (i : ℕ) (i_1 : ℕ),
      toMeasurable (ρ + μ)
          ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | limRatio v ρ x < ↑p} ∩
            spanningSets (ρ + μ) i) ∩
        toMeasurable (ρ + μ)
          ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | ↑q < limRatio v ρ x} ∩
            spanningSets (ρ + μ) i_1) ⊆
    toMeasurable μ {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}ᶜ ∪
      ⋃ (i : ℕ) (i_1 : ℕ),
        toMeasurable (ρ + μ)
            ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | limRatio v ρ x < ↑p} ∩
              spanningSets (ρ + μ) i) ∩
          toMeasurable (ρ + μ)
            ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | ↑q < limRatio v ρ x} ∩
              spanningSets (ρ + μ) i_1)
[PROOFSTEP]
exact subset_union_right _ _
[GOAL]
case refine'_5
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
H : ∀ (m n : ℕ), ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
A :
  (toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (u n)) ∩
      (toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (w n)) ⊆
    toMeasurable μ sᶜ ∪ ⋃ (m : ℕ) (n : ℕ), toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)
⊢ ↑↑μ
      ((toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (u n)) ∩
        (toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (w n))) =
    0
[PROOFSTEP]
refine' le_antisymm ((measure_mono A).trans _) bot_le
[GOAL]
case refine'_5
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
H : ∀ (m n : ℕ), ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
A :
  (toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (u n)) ∩
      (toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (w n)) ⊆
    toMeasurable μ sᶜ ∪ ⋃ (m : ℕ) (n : ℕ), toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)
⊢ ↑↑μ (toMeasurable μ sᶜ ∪ ⋃ (m : ℕ) (n : ℕ), toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤ 0
[PROOFSTEP]
calc
  μ (toMeasurable μ sᶜ ∪ ⋃ (m) (n), toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
      μ (toMeasurable μ sᶜ) + μ (⋃ (m) (n), toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) :=
    measure_union_le _ _
  _ = μ (⋃ (m) (n), toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) := by
    have : μ sᶜ = 0 := v.ae_tendsto_div hρ; rw [measure_toMeasurable, this, zero_add]
  _ ≤ ∑' (m) (n), μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) :=
    ((measure_iUnion_le _).trans (ENNReal.tsum_le_tsum fun m => measure_iUnion_le _))
  _ = 0 := by
    simp only [H, tsum_zero]
      -- now starts the nontrivial part of the argument. We fix `m` and `n`, and show that the
        -- measurable supersets of `u m` and `w n` have zero measure intersection by using the lemmas
        -- `measure_toMeasurable_add_inter_left` (to reduce to `u m` or `w n` instead of the measurable
        -- superset) and `measure_le_of_frequently_le` to compare their measures for `ρ` and `μ`.
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
H : ∀ (m n : ℕ), ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
A :
  (toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (u n)) ∩
      (toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (w n)) ⊆
    toMeasurable μ sᶜ ∪ ⋃ (m : ℕ) (n : ℕ), toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)
⊢ ↑↑μ (toMeasurable μ sᶜ) + ↑↑μ (⋃ (m : ℕ) (n : ℕ), toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) =
    ↑↑μ (⋃ (m : ℕ) (n : ℕ), toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
[PROOFSTEP]
have : μ sᶜ = 0 := v.ae_tendsto_div hρ
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
H : ∀ (m n : ℕ), ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
A :
  (toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (u n)) ∩
      (toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (w n)) ⊆
    toMeasurable μ sᶜ ∪ ⋃ (m : ℕ) (n : ℕ), toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)
this : ↑↑μ sᶜ = 0
⊢ ↑↑μ (toMeasurable μ sᶜ) + ↑↑μ (⋃ (m : ℕ) (n : ℕ), toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) =
    ↑↑μ (⋃ (m : ℕ) (n : ℕ), toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
[PROOFSTEP]
rw [measure_toMeasurable, this, zero_add]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
H : ∀ (m n : ℕ), ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
A :
  (toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (u n)) ∩
      (toMeasurable μ sᶜ ∪ ⋃ (n : ℕ), toMeasurable (ρ + μ) (w n)) ⊆
    toMeasurable μ sᶜ ∪ ⋃ (m : ℕ) (n : ℕ), toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)
⊢ ∑' (m : ℕ) (n : ℕ), ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
[PROOFSTEP]
simp only [H, tsum_zero]
  -- now starts the nontrivial part of the argument. We fix `m` and `n`, and show that the
    -- measurable supersets of `u m` and `w n` have zero measure intersection by using the lemmas
    -- `measure_toMeasurable_add_inter_left` (to reduce to `u m` or `w n` instead of the measurable
    -- superset) and `measure_le_of_frequently_le` to compare their measures for `ρ` and `μ`.
[GOAL]
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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
⊢ ∀ (m n : ℕ), ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
[PROOFSTEP]
intro m n
[GOAL]
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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
⊢ ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
[PROOFSTEP]
have I : (ρ + μ) (u m) ≠ ∞ :=
  by
  apply (lt_of_le_of_lt (measure_mono _) (measure_spanningSets_lt_top (ρ + μ) m)).ne
  exact inter_subset_right _ _
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
⊢ ↑↑(ρ + μ) (u m) ≠ ⊤
[PROOFSTEP]
apply (lt_of_le_of_lt (measure_mono _) (measure_spanningSets_lt_top (ρ + μ) m)).ne
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
⊢ u m ⊆ spanningSets (ρ + μ) m
[PROOFSTEP]
exact inter_subset_right _ _
[GOAL]
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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
⊢ ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
[PROOFSTEP]
have J : (ρ + μ) (w n) ≠ ∞ :=
  by
  apply (lt_of_le_of_lt (measure_mono _) (measure_spanningSets_lt_top (ρ + μ) n)).ne
  exact inter_subset_right _ _
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
⊢ ↑↑(ρ + μ) (w n) ≠ ⊤
[PROOFSTEP]
apply (lt_of_le_of_lt (measure_mono _) (measure_spanningSets_lt_top (ρ + μ) n)).ne
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
⊢ w n ⊆ spanningSets (ρ + μ) n
[PROOFSTEP]
exact inter_subset_right _ _
[GOAL]
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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
⊢ ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
[PROOFSTEP]
have A :
  ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    p * μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) :=
  calc
    ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = ρ (u m ∩ toMeasurable (ρ + μ) (w n)) :=
      measure_toMeasurable_add_inter_left (measurableSet_toMeasurable _ _) I
    _ ≤ (p • μ) (u m ∩ toMeasurable (ρ + μ) (w n)) :=
      by
      refine' v.measure_le_of_frequently_le (p • μ) hρ _ fun x hx => _
      have L : Tendsto (fun a : Set α => ρ a / μ a) (v.filterAt x) (𝓝 (v.limRatio ρ x)) :=
        tendsto_nhds_limUnder hx.1.1.1
      have I : ∀ᶠ b : Set α in v.filterAt x, ρ b / μ b < p := (tendsto_order.1 L).2 _ hx.1.1.2
      apply I.frequently.mono fun a ha => ?_
      rw [coe_nnreal_smul_apply]
      refine' (ENNReal.div_le_iff_le_mul _ (Or.inr (bot_le.trans_lt ha).ne')).1 ha.le
      simp only [ENNReal.coe_ne_top, Ne.def, or_true_iff, not_false_iff]
    _ = p * μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) := by
      simp only [coe_nnreal_smul_apply, measure_toMeasurable_add_inter_right (measurableSet_toMeasurable _ _) I]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
⊢ ↑↑ρ (u m ∩ toMeasurable (ρ + μ) (w n)) ≤ ↑↑(p • μ) (u m ∩ toMeasurable (ρ + μ) (w n))
[PROOFSTEP]
refine' v.measure_le_of_frequently_le (p • μ) hρ _ fun x hx => _
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
x : α
hx : x ∈ u m ∩ toMeasurable (ρ + μ) (w n)
⊢ ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑↑(p • μ) a
[PROOFSTEP]
have L : Tendsto (fun a : Set α => ρ a / μ a) (v.filterAt x) (𝓝 (v.limRatio ρ x)) := tendsto_nhds_limUnder hx.1.1.1
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
x : α
hx : x ∈ u m ∩ toMeasurable (ρ + μ) (w n)
L : Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatio v ρ x))
⊢ ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑↑(p • μ) a
[PROOFSTEP]
have I : ∀ᶠ b : Set α in v.filterAt x, ρ b / μ b < p := (tendsto_order.1 L).2 _ hx.1.1.2
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I✝ : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
x : α
hx : x ∈ u m ∩ toMeasurable (ρ + μ) (w n)
L : Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatio v ρ x))
I : ∀ᶠ (b : Set α) in filterAt v x, ↑↑ρ b / ↑↑μ b < ↑p
⊢ ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑↑(p • μ) a
[PROOFSTEP]
apply I.frequently.mono fun a ha => ?_
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I✝ : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
x : α
hx : x ∈ u m ∩ toMeasurable (ρ + μ) (w n)
L : Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatio v ρ x))
I : ∀ᶠ (b : Set α) in filterAt v x, ↑↑ρ b / ↑↑μ b < ↑p
a : Set α
ha : ↑↑ρ a / ↑↑μ a < ↑p
⊢ ↑↑ρ a ≤ ↑↑(p • μ) a
[PROOFSTEP]
rw [coe_nnreal_smul_apply]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I✝ : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
x : α
hx : x ∈ u m ∩ toMeasurable (ρ + μ) (w n)
L : Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatio v ρ x))
I : ∀ᶠ (b : Set α) in filterAt v x, ↑↑ρ b / ↑↑μ b < ↑p
a : Set α
ha : ↑↑ρ a / ↑↑μ a < ↑p
⊢ ↑↑ρ a ≤ ↑p * ↑↑μ a
[PROOFSTEP]
refine' (ENNReal.div_le_iff_le_mul _ (Or.inr (bot_le.trans_lt ha).ne')).1 ha.le
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I✝ : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
x : α
hx : x ∈ u m ∩ toMeasurable (ρ + μ) (w n)
L : Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatio v ρ x))
I : ∀ᶠ (b : Set α) in filterAt v x, ↑↑ρ b / ↑↑μ b < ↑p
a : Set α
ha : ↑↑ρ a / ↑↑μ a < ↑p
⊢ ↑↑μ a ≠ 0 ∨ ↑p ≠ ⊤
[PROOFSTEP]
simp only [ENNReal.coe_ne_top, Ne.def, or_true_iff, not_false_iff]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
⊢ ↑↑(p • μ) (u m ∩ toMeasurable (ρ + μ) (w n)) = ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
[PROOFSTEP]
simp only [coe_nnreal_smul_apply, measure_toMeasurable_add_inter_right (measurableSet_toMeasurable _ _) I]
[GOAL]
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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
⊢ ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
[PROOFSTEP]
have B :
  (q : ℝ≥0∞) * μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) :=
  calc
    (q : ℝ≥0∞) * μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) =
        (q : ℝ≥0∞) * μ (toMeasurable (ρ + μ) (u m) ∩ w n) :=
      by
      conv_rhs => rw [inter_comm]
      rw [inter_comm, measure_toMeasurable_add_inter_right (measurableSet_toMeasurable _ _) J]
    _ ≤ ρ (toMeasurable (ρ + μ) (u m) ∩ w n) :=
      by
      rw [← coe_nnreal_smul_apply]
      refine' v.measure_le_of_frequently_le _ (AbsolutelyContinuous.rfl.smul _) _ _
      intro x hx
      have L : Tendsto (fun a : Set α => ρ a / μ a) (v.filterAt x) (𝓝 (v.limRatio ρ x)) :=
        tendsto_nhds_limUnder hx.2.1.1
      have I : ∀ᶠ b : Set α in v.filterAt x, (q : ℝ≥0∞) < ρ b / μ b := (tendsto_order.1 L).1 _ hx.2.1.2
      apply I.frequently.mono fun a ha => ?_
      rw [coe_nnreal_smul_apply]
      exact ENNReal.mul_le_of_le_div ha.le
    _ = ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) :=
      by
      conv_rhs => rw [inter_comm]
      rw [inter_comm]
      exact (measure_toMeasurable_add_inter_left (measurableSet_toMeasurable _ _) J).symm
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
⊢ ↑q * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = ↑q * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ w n)
[PROOFSTEP]
conv_rhs => rw [inter_comm]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
| ↑q * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ w n)
[PROOFSTEP]
rw [inter_comm]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
| ↑q * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ w n)
[PROOFSTEP]
rw [inter_comm]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
| ↑q * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ w n)
[PROOFSTEP]
rw [inter_comm]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
⊢ ↑q * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = ↑q * ↑↑μ (w n ∩ toMeasurable (ρ + μ) (u m))
[PROOFSTEP]
rw [inter_comm, measure_toMeasurable_add_inter_right (measurableSet_toMeasurable _ _) J]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
⊢ ↑q * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ w n) ≤ ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ w n)
[PROOFSTEP]
rw [← coe_nnreal_smul_apply]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
⊢ ↑↑(q • μ) (toMeasurable (ρ + μ) (u m) ∩ w n) ≤ ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ w n)
[PROOFSTEP]
refine' v.measure_le_of_frequently_le _ (AbsolutelyContinuous.rfl.smul _) _ _
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
⊢ ∀ (x : α), x ∈ toMeasurable (ρ + μ) (u m) ∩ w n → ∃ᶠ (a : Set α) in filterAt v x, ↑↑(q • μ) a ≤ ↑↑ρ a
[PROOFSTEP]
intro x hx
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
x : α
hx : x ∈ toMeasurable (ρ + μ) (u m) ∩ w n
⊢ ∃ᶠ (a : Set α) in filterAt v x, ↑↑(q • μ) a ≤ ↑↑ρ a
[PROOFSTEP]
have L : Tendsto (fun a : Set α => ρ a / μ a) (v.filterAt x) (𝓝 (v.limRatio ρ x)) := tendsto_nhds_limUnder hx.2.1.1
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
x : α
hx : x ∈ toMeasurable (ρ + μ) (u m) ∩ w n
L : Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatio v ρ x))
⊢ ∃ᶠ (a : Set α) in filterAt v x, ↑↑(q • μ) a ≤ ↑↑ρ a
[PROOFSTEP]
have I : ∀ᶠ b : Set α in v.filterAt x, (q : ℝ≥0∞) < ρ b / μ b := (tendsto_order.1 L).1 _ hx.2.1.2
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I✝ : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
x : α
hx : x ∈ toMeasurable (ρ + μ) (u m) ∩ w n
L : Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatio v ρ x))
I : ∀ᶠ (b : Set α) in filterAt v x, ↑q < ↑↑ρ b / ↑↑μ b
⊢ ∃ᶠ (a : Set α) in filterAt v x, ↑↑(q • μ) a ≤ ↑↑ρ a
[PROOFSTEP]
apply I.frequently.mono fun a ha => ?_
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I✝ : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
x : α
hx : x ∈ toMeasurable (ρ + μ) (u m) ∩ w n
L : Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatio v ρ x))
I : ∀ᶠ (b : Set α) in filterAt v x, ↑q < ↑↑ρ b / ↑↑μ b
a : Set α
ha : ↑q < ↑↑ρ a / ↑↑μ a
⊢ ↑↑(q • μ) a ≤ ↑↑ρ a
[PROOFSTEP]
rw [coe_nnreal_smul_apply]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I✝ : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
x : α
hx : x ∈ toMeasurable (ρ + μ) (u m) ∩ w n
L : Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatio v ρ x))
I : ∀ᶠ (b : Set α) in filterAt v x, ↑q < ↑↑ρ b / ↑↑μ b
a : Set α
ha : ↑q < ↑↑ρ a / ↑↑μ a
⊢ ↑q * ↑↑μ a ≤ ↑↑ρ a
[PROOFSTEP]
exact ENNReal.mul_le_of_le_div ha.le
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
⊢ ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ w n) = ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
[PROOFSTEP]
conv_rhs => rw [inter_comm]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
| ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
[PROOFSTEP]
rw [inter_comm]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
| ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
[PROOFSTEP]
rw [inter_comm]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
| ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
[PROOFSTEP]
rw [inter_comm]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
⊢ ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ w n) = ↑↑ρ (toMeasurable (ρ + μ) (w n) ∩ toMeasurable (ρ + μ) (u m))
[PROOFSTEP]
rw [inter_comm]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
⊢ ↑↑ρ (w n ∩ toMeasurable (ρ + μ) (u m)) = ↑↑ρ (toMeasurable (ρ + μ) (w n) ∩ toMeasurable (ρ + μ) (u m))
[PROOFSTEP]
exact (measure_toMeasurable_add_inter_left (measurableSet_toMeasurable _ _) J).symm
[GOAL]
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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
B :
  ↑q * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
⊢ ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
[PROOFSTEP]
by_contra h
[GOAL]
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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
B :
  ↑q * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
h : ¬↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
⊢ False
[PROOFSTEP]
apply lt_irrefl (ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)))
[GOAL]
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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
B :
  ↑q * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
h : ¬↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
⊢ ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) <
    ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
[PROOFSTEP]
calc
  ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
      p * μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) :=
    A
  _ < q * μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) :=
    by
    apply (ENNReal.mul_lt_mul_right h _).2 (ENNReal.coe_lt_coe.2 hpq)
    suffices H : (ρ + μ) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≠ ∞
    · simp only [not_or, ENNReal.add_eq_top, Pi.add_apply, Ne.def, coe_add] at H 
      exact H.2
    apply (lt_of_le_of_lt (measure_mono (inter_subset_left _ _)) _).ne
    rw [measure_toMeasurable]
    apply lt_of_le_of_lt (measure_mono _) (measure_spanningSets_lt_top (ρ + μ) m)
    exact inter_subset_right _ _
  _ ≤ ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) := B
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
B :
  ↑q * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
h : ¬↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
⊢ ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) <
    ↑q * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
[PROOFSTEP]
apply (ENNReal.mul_lt_mul_right h _).2 (ENNReal.coe_lt_coe.2 hpq)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
B :
  ↑q * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
h : ¬↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
⊢ ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≠ ⊤
[PROOFSTEP]
suffices H : (ρ + μ) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≠ ∞
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
B :
  ↑q * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
h : ¬↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
H : ↑↑(ρ + μ) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≠ ⊤
⊢ ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≠ ⊤
[PROOFSTEP]
simp only [not_or, ENNReal.add_eq_top, Pi.add_apply, Ne.def, coe_add] at H 
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
B :
  ↑q * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
h : ¬↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
H :
  ¬↑↑ρ
          (toMeasurable (ρ + μ)
              ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | limRatio v ρ x < ↑p} ∩
                spanningSets (ρ + μ) m) ∩
            toMeasurable (ρ + μ)
              ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | ↑q < limRatio v ρ x} ∩
                spanningSets (ρ + μ) n)) =
        ⊤ ∧
    ¬↑↑μ
          (toMeasurable (ρ + μ)
              ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | limRatio v ρ x < ↑p} ∩
                spanningSets (ρ + μ) m) ∩
            toMeasurable (ρ + μ)
              ({x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)} ∩ {x | ↑q < limRatio v ρ x} ∩
                spanningSets (ρ + μ) n)) =
        ⊤
⊢ ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≠ ⊤
[PROOFSTEP]
exact H.2
[GOAL]
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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
B :
  ↑q * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
h : ¬↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
⊢ ↑↑(ρ + μ) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≠ ⊤
[PROOFSTEP]
apply (lt_of_le_of_lt (measure_mono (inter_subset_left _ _)) _).ne
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
B :
  ↑q * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
h : ¬↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
⊢ ↑↑(ρ + μ) (toMeasurable (ρ + μ) (u m)) < ⊤
[PROOFSTEP]
rw [measure_toMeasurable]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
B :
  ↑q * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
h : ¬↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
⊢ ↑↑(ρ + μ) (u m) < ⊤
[PROOFSTEP]
apply lt_of_le_of_lt (measure_mono _) (measure_spanningSets_lt_top (ρ + μ) m)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α := {x | ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : ℕ → Set α := fun n => s ∩ {x | limRatio v ρ x < ↑p} ∩ o n
w : ℕ → Set α := fun n => s ∩ {x | ↑q < limRatio v ρ x} ∩ o n
m n : ℕ
I : ↑↑(ρ + μ) (u m) ≠ ⊤
J : ↑↑(ρ + μ) (w n) ≠ ⊤
A :
  ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑p * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
B :
  ↑q * ↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    ↑↑ρ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n))
h : ¬↑↑μ (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) = 0
⊢ u m ⊆ spanningSets (ρ + μ) m
[PROOFSTEP]
exact inter_subset_right _ _
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
⊢ AEMeasurable (limRatio v ρ)
[PROOFSTEP]
apply ENNReal.aemeasurable_of_exist_almost_disjoint_supersets _ _ fun p q hpq => ?_
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
⊢ ∃ u v_1,
    MeasurableSet u ∧
      MeasurableSet v_1 ∧ {x | limRatio v ρ x < ↑p} ⊆ u ∧ {x | ↑q < limRatio v ρ x} ⊆ v_1 ∧ ↑↑μ (u ∩ v_1) = 0
[PROOFSTEP]
exact v.exists_measurable_supersets_limRatio hρ hpq
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))
[PROOFSTEP]
filter_upwards [v.ae_tendsto_limRatio hρ, AEMeasurable.ae_eq_mk (v.aemeasurable_limRatio hρ)]
[GOAL]
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 ρ
hρ : ρ ≪ μ
⊢ ∀ (a : α),
    Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v a) (𝓝 (limRatio v ρ a)) →
      limRatio v ρ a = AEMeasurable.mk (limRatio v ρ) (_ : AEMeasurable (limRatio v ρ)) a →
        Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v a) (𝓝 (limRatioMeas v hρ a))
[PROOFSTEP]
intro x hx h'x
[GOAL]
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 ρ
hρ : ρ ≪ μ
x : α
hx : Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatio v ρ x))
h'x : limRatio v ρ x = AEMeasurable.mk (limRatio v ρ) (_ : AEMeasurable (limRatio v ρ)) x
⊢ Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))
[PROOFSTEP]
rwa [h'x] at hx 
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p : ℝ≥0
s : Set α
h : s ⊆ {x | limRatioMeas v hρ x < ↑p}
⊢ ↑↑ρ s ≤ ↑p * ↑↑μ s
[PROOFSTEP]
let t := {x : α | Tendsto (fun a => ρ a / μ a) (v.filterAt x) (𝓝 (v.limRatioMeas hρ x))}
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p : ℝ≥0
s : Set α
h : s ⊆ {x | limRatioMeas v hρ x < ↑p}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
⊢ ↑↑ρ s ≤ ↑p * ↑↑μ s
[PROOFSTEP]
have A : μ tᶜ = 0 := v.ae_tendsto_limRatioMeas hρ
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p : ℝ≥0
s : Set α
h : s ⊆ {x | limRatioMeas v hρ x < ↑p}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
⊢ ↑↑ρ s ≤ ↑p * ↑↑μ s
[PROOFSTEP]
suffices H : ρ (s ∩ t) ≤ (p • μ) (s ∩ t)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p : ℝ≥0
s : Set α
h : s ⊆ {x | limRatioMeas v hρ x < ↑p}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
H : ↑↑ρ (s ∩ t) ≤ ↑↑(p • μ) (s ∩ t)
⊢ ↑↑ρ s ≤ ↑p * ↑↑μ s
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 ρ
hρ : ρ ≪ μ
p : ℝ≥0
s : Set α
h : s ⊆ {x | limRatioMeas v hρ x < ↑p}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
⊢ ↑↑ρ (s ∩ t) ≤ ↑↑(p • μ) (s ∩ t)
[PROOFSTEP]
exact
  calc
    ρ s = ρ (s ∩ t ∪ s ∩ tᶜ) := by rw [inter_union_compl]
    _ ≤ ρ (s ∩ t) + ρ (s ∩ tᶜ) := (measure_union_le _ _)
    _ ≤ p * μ (s ∩ t) + 0 := (add_le_add H ((measure_mono (inter_subset_right _ _)).trans (hρ A).le))
    _ ≤ p * μ s := by rw [add_zero]; exact mul_le_mul_left' (measure_mono (inter_subset_left _ _)) _
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p : ℝ≥0
s : Set α
h : s ⊆ {x | limRatioMeas v hρ x < ↑p}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
H : ↑↑ρ (s ∩ t) ≤ ↑↑(p • μ) (s ∩ t)
⊢ ↑↑ρ s = ↑↑ρ (s ∩ t ∪ s ∩ tᶜ)
[PROOFSTEP]
rw [inter_union_compl]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p : ℝ≥0
s : Set α
h : s ⊆ {x | limRatioMeas v hρ x < ↑p}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
H : ↑↑ρ (s ∩ t) ≤ ↑↑(p • μ) (s ∩ t)
⊢ ↑p * ↑↑μ (s ∩ t) + 0 ≤ ↑p * ↑↑μ s
[PROOFSTEP]
rw [add_zero]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p : ℝ≥0
s : Set α
h : s ⊆ {x | limRatioMeas v hρ x < ↑p}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
H : ↑↑ρ (s ∩ t) ≤ ↑↑(p • μ) (s ∩ t)
⊢ ↑p * ↑↑μ (s ∩ t) ≤ ↑p * ↑↑μ s
[PROOFSTEP]
exact mul_le_mul_left' (measure_mono (inter_subset_left _ _)) _
[GOAL]
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 ρ
hρ : ρ ≪ μ
p : ℝ≥0
s : Set α
h : s ⊆ {x | limRatioMeas v hρ x < ↑p}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
⊢ ↑↑ρ (s ∩ t) ≤ ↑↑(p • μ) (s ∩ t)
[PROOFSTEP]
refine' v.measure_le_of_frequently_le (p • μ) hρ _ fun x hx => _
[GOAL]
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 ρ
hρ : ρ ≪ μ
p : ℝ≥0
s : Set α
h : s ⊆ {x | limRatioMeas v hρ x < ↑p}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
x : α
hx : x ∈ s ∩ t
⊢ ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑↑(p • μ) a
[PROOFSTEP]
have I : ∀ᶠ b : Set α in v.filterAt x, ρ b / μ b < p := (tendsto_order.1 hx.2).2 _ (h hx.1)
[GOAL]
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 ρ
hρ : ρ ≪ μ
p : ℝ≥0
s : Set α
h : s ⊆ {x | limRatioMeas v hρ x < ↑p}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
x : α
hx : x ∈ s ∩ t
I : ∀ᶠ (b : Set α) in filterAt v x, ↑↑ρ b / ↑↑μ b < ↑p
⊢ ∃ᶠ (a : Set α) in filterAt v x, ↑↑ρ a ≤ ↑↑(p • μ) a
[PROOFSTEP]
apply I.frequently.mono fun a ha => ?_
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p : ℝ≥0
s : Set α
h : s ⊆ {x | limRatioMeas v hρ x < ↑p}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
x : α
hx : x ∈ s ∩ t
I : ∀ᶠ (b : Set α) in filterAt v x, ↑↑ρ b / ↑↑μ b < ↑p
a : Set α
ha : ↑↑ρ a / ↑↑μ a < ↑p
⊢ ↑↑ρ a ≤ ↑↑(p • μ) a
[PROOFSTEP]
rw [coe_nnreal_smul_apply]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p : ℝ≥0
s : Set α
h : s ⊆ {x | limRatioMeas v hρ x < ↑p}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
x : α
hx : x ∈ s ∩ t
I : ∀ᶠ (b : Set α) in filterAt v x, ↑↑ρ b / ↑↑μ b < ↑p
a : Set α
ha : ↑↑ρ a / ↑↑μ a < ↑p
⊢ ↑↑ρ a ≤ ↑p * ↑↑μ a
[PROOFSTEP]
refine' (ENNReal.div_le_iff_le_mul _ (Or.inr (bot_le.trans_lt ha).ne')).1 ha.le
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
p : ℝ≥0
s : Set α
h : s ⊆ {x | limRatioMeas v hρ x < ↑p}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
x : α
hx : x ∈ s ∩ t
I : ∀ᶠ (b : Set α) in filterAt v x, ↑↑ρ b / ↑↑μ b < ↑p
a : Set α
ha : ↑↑ρ a / ↑↑μ a < ↑p
⊢ ↑↑μ a ≠ 0 ∨ ↑p ≠ ⊤
[PROOFSTEP]
simp only [ENNReal.coe_ne_top, Ne.def, or_true_iff, not_false_iff]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
q : ℝ≥0
s : Set α
h : s ⊆ {x | ↑q < limRatioMeas v hρ x}
⊢ ↑q * ↑↑μ s ≤ ↑↑ρ s
[PROOFSTEP]
let t := {x : α | Tendsto (fun a => ρ a / μ a) (v.filterAt x) (𝓝 (v.limRatioMeas hρ x))}
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
q : ℝ≥0
s : Set α
h : s ⊆ {x | ↑q < limRatioMeas v hρ x}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
⊢ ↑q * ↑↑μ s ≤ ↑↑ρ s
[PROOFSTEP]
have A : μ tᶜ = 0 := v.ae_tendsto_limRatioMeas hρ
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
q : ℝ≥0
s : Set α
h : s ⊆ {x | ↑q < limRatioMeas v hρ x}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
⊢ ↑q * ↑↑μ s ≤ ↑↑ρ s
[PROOFSTEP]
suffices H : (q • μ) (s ∩ t) ≤ ρ (s ∩ t)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
q : ℝ≥0
s : Set α
h : s ⊆ {x | ↑q < limRatioMeas v hρ x}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
H : ↑↑(q • μ) (s ∩ t) ≤ ↑↑ρ (s ∩ t)
⊢ ↑q * ↑↑μ s ≤ ↑↑ρ s
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 ρ
hρ : ρ ≪ μ
q : ℝ≥0
s : Set α
h : s ⊆ {x | ↑q < limRatioMeas v hρ x}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
⊢ ↑↑(q • μ) (s ∩ t) ≤ ↑↑ρ (s ∩ t)
[PROOFSTEP]
exact
  calc
    (q • μ) s = (q • μ) (s ∩ t ∪ s ∩ tᶜ) := by rw [inter_union_compl]
    _ ≤ (q • μ) (s ∩ t) + (q • μ) (s ∩ tᶜ) := (measure_union_le _ _)
    _ ≤ ρ (s ∩ t) + q * μ tᶜ := by
      apply add_le_add H
      rw [coe_nnreal_smul_apply]
      exact mul_le_mul_left' (measure_mono (inter_subset_right _ _)) _
    _ ≤ ρ s := by rw [A, mul_zero, add_zero]; exact measure_mono (inter_subset_left _ _)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
q : ℝ≥0
s : Set α
h : s ⊆ {x | ↑q < limRatioMeas v hρ x}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
H : ↑↑(q • μ) (s ∩ t) ≤ ↑↑ρ (s ∩ t)
⊢ ↑↑(q • μ) s = ↑↑(q • μ) (s ∩ t ∪ s ∩ tᶜ)
[PROOFSTEP]
rw [inter_union_compl]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
q : ℝ≥0
s : Set α
h : s ⊆ {x | ↑q < limRatioMeas v hρ x}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
H : ↑↑(q • μ) (s ∩ t) ≤ ↑↑ρ (s ∩ t)
⊢ ↑↑(q • μ) (s ∩ t) + ↑↑(q • μ) (s ∩ tᶜ) ≤ ↑↑ρ (s ∩ t) + ↑q * ↑↑μ tᶜ
[PROOFSTEP]
apply add_le_add H
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
q : ℝ≥0
s : Set α
h : s ⊆ {x | ↑q < limRatioMeas v hρ x}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
H : ↑↑(q • μ) (s ∩ t) ≤ ↑↑ρ (s ∩ t)
⊢ ↑↑(q • μ) (s ∩ tᶜ) ≤ ↑q * ↑↑μ tᶜ
[PROOFSTEP]
rw [coe_nnreal_smul_apply]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
q : ℝ≥0
s : Set α
h : s ⊆ {x | ↑q < limRatioMeas v hρ x}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
H : ↑↑(q • μ) (s ∩ t) ≤ ↑↑ρ (s ∩ t)
⊢ ↑q * ↑↑μ (s ∩ tᶜ) ≤ ↑q * ↑↑μ tᶜ
[PROOFSTEP]
exact mul_le_mul_left' (measure_mono (inter_subset_right _ _)) _
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
q : ℝ≥0
s : Set α
h : s ⊆ {x | ↑q < limRatioMeas v hρ x}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
H : ↑↑(q • μ) (s ∩ t) ≤ ↑↑ρ (s ∩ t)
⊢ ↑↑ρ (s ∩ t) + ↑q * ↑↑μ tᶜ ≤ ↑↑ρ s
[PROOFSTEP]
rw [A, mul_zero, add_zero]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
q : ℝ≥0
s : Set α
h : s ⊆ {x | ↑q < limRatioMeas v hρ x}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
H : ↑↑(q • μ) (s ∩ t) ≤ ↑↑ρ (s ∩ t)
⊢ ↑↑ρ (s ∩ t) ≤ ↑↑ρ s
[PROOFSTEP]
exact measure_mono (inter_subset_left _ _)
[GOAL]
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 ρ
hρ : ρ ≪ μ
q : ℝ≥0
s : Set α
h : s ⊆ {x | ↑q < limRatioMeas v hρ x}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
⊢ ↑↑(q • μ) (s ∩ t) ≤ ↑↑ρ (s ∩ t)
[PROOFSTEP]
refine' v.measure_le_of_frequently_le _ (AbsolutelyContinuous.rfl.smul _) _ _
[GOAL]
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 ρ
hρ : ρ ≪ μ
q : ℝ≥0
s : Set α
h : s ⊆ {x | ↑q < limRatioMeas v hρ x}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
⊢ ∀ (x : α), x ∈ s ∩ t → ∃ᶠ (a : Set α) in filterAt v x, ↑↑(q • μ) a ≤ ↑↑ρ a
[PROOFSTEP]
intro x hx
[GOAL]
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 ρ
hρ : ρ ≪ μ
q : ℝ≥0
s : Set α
h : s ⊆ {x | ↑q < limRatioMeas v hρ x}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
x : α
hx : x ∈ s ∩ t
⊢ ∃ᶠ (a : Set α) in filterAt v x, ↑↑(q • μ) a ≤ ↑↑ρ a
[PROOFSTEP]
have I : ∀ᶠ a in v.filterAt x, (q : ℝ≥0∞) < ρ a / μ a := (tendsto_order.1 hx.2).1 _ (h hx.1)
[GOAL]
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 ρ
hρ : ρ ≪ μ
q : ℝ≥0
s : Set α
h : s ⊆ {x | ↑q < limRatioMeas v hρ x}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
x : α
hx : x ∈ s ∩ t
I : ∀ᶠ (a : Set α) in filterAt v x, ↑q < ↑↑ρ a / ↑↑μ a
⊢ ∃ᶠ (a : Set α) in filterAt v x, ↑↑(q • μ) a ≤ ↑↑ρ a
[PROOFSTEP]
apply I.frequently.mono fun a ha => ?_
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
q : ℝ≥0
s : Set α
h : s ⊆ {x | ↑q < limRatioMeas v hρ x}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
x : α
hx : x ∈ s ∩ t
I : ∀ᶠ (a : Set α) in filterAt v x, ↑q < ↑↑ρ a / ↑↑μ a
a : Set α
ha : ↑q < ↑↑ρ a / ↑↑μ a
⊢ ↑↑(q • μ) a ≤ ↑↑ρ a
[PROOFSTEP]
rw [coe_nnreal_smul_apply]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
q : ℝ≥0
s : Set α
h : s ⊆ {x | ↑q < limRatioMeas v hρ x}
t : Set α := {x | Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatioMeas v hρ x))}
A : ↑↑μ tᶜ = 0
x : α
hx : x ∈ s ∩ t
I : ∀ᶠ (a : Set α) in filterAt v x, ↑q < ↑↑ρ a / ↑↑μ a
a : Set α
ha : ↑q < ↑↑ρ a / ↑↑μ a
⊢ ↑q * ↑↑μ a ≤ ↑↑ρ a
[PROOFSTEP]
exact ENNReal.mul_le_of_le_div ha.le
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
⊢ ↑↑μ {x | limRatioMeas v hρ x = ⊤} = 0
[PROOFSTEP]
refine' null_of_locally_null _ fun x _ => _
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = ⊤}
⊢ ∃ u, u ∈ 𝓝[{x | limRatioMeas v hρ x = ⊤}] x ∧ ↑↑μ u = 0
[PROOFSTEP]
obtain ⟨o, xo, o_open, μo⟩ : ∃ o : Set α, x ∈ o ∧ IsOpen o ∧ ρ o < ∞ := Measure.exists_isOpen_measure_lt_top ρ x
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = ⊤}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑ρ o < ⊤
⊢ ∃ u, u ∈ 𝓝[{x | limRatioMeas v hρ x = ⊤}] x ∧ ↑↑μ u = 0
[PROOFSTEP]
let s := {x : α | v.limRatioMeas hρ x = ∞} ∩ o
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = ⊤}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑ρ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = ⊤} ∩ o
⊢ ∃ u, u ∈ 𝓝[{x | limRatioMeas v hρ x = ⊤}] x ∧ ↑↑μ u = 0
[PROOFSTEP]
refine' ⟨s, inter_mem_nhdsWithin _ (o_open.mem_nhds xo), le_antisymm _ bot_le⟩
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = ⊤}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑ρ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = ⊤} ∩ o
⊢ ↑↑μ s ≤ 0
[PROOFSTEP]
have ρs : ρ s ≠ ∞ := ((measure_mono (inter_subset_right _ _)).trans_lt μo).ne
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = ⊤}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑ρ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = ⊤} ∩ o
ρs : ↑↑ρ s ≠ ⊤
⊢ ↑↑μ s ≤ 0
[PROOFSTEP]
have A : ∀ q : ℝ≥0, 1 ≤ q → μ s ≤ (q : ℝ≥0∞)⁻¹ * ρ s :=
  by
  intro q hq
  rw [mul_comm, ← div_eq_mul_inv, ENNReal.le_div_iff_mul_le _ (Or.inr ρs), mul_comm]
  · apply v.mul_measure_le_of_subset_lt_limRatioMeas hρ
    intro y hy
    have : v.limRatioMeas hρ y = ∞ := hy.1
    simp only [this, ENNReal.coe_lt_top, mem_setOf_eq]
  · simp only [(zero_lt_one.trans_le hq).ne', true_or_iff, ENNReal.coe_eq_zero, Ne.def, not_false_iff]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = ⊤}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑ρ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = ⊤} ∩ o
ρs : ↑↑ρ s ≠ ⊤
⊢ ∀ (q : ℝ≥0), 1 ≤ q → ↑↑μ s ≤ (↑q)⁻¹ * ↑↑ρ s
[PROOFSTEP]
intro q hq
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = ⊤}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑ρ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = ⊤} ∩ o
ρs : ↑↑ρ s ≠ ⊤
q : ℝ≥0
hq : 1 ≤ q
⊢ ↑↑μ s ≤ (↑q)⁻¹ * ↑↑ρ s
[PROOFSTEP]
rw [mul_comm, ← div_eq_mul_inv, ENNReal.le_div_iff_mul_le _ (Or.inr ρs), mul_comm]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = ⊤}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑ρ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = ⊤} ∩ o
ρs : ↑↑ρ s ≠ ⊤
q : ℝ≥0
hq : 1 ≤ q
⊢ ↑q * ↑↑μ s ≤ ↑↑ρ s
[PROOFSTEP]
apply v.mul_measure_le_of_subset_lt_limRatioMeas hρ
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = ⊤}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑ρ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = ⊤} ∩ o
ρs : ↑↑ρ s ≠ ⊤
q : ℝ≥0
hq : 1 ≤ q
⊢ s ⊆ {x | ↑q < limRatioMeas v hρ x}
[PROOFSTEP]
intro y hy
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = ⊤}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑ρ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = ⊤} ∩ o
ρs : ↑↑ρ s ≠ ⊤
q : ℝ≥0
hq : 1 ≤ q
y : α
hy : y ∈ s
⊢ y ∈ {x | ↑q < limRatioMeas v hρ x}
[PROOFSTEP]
have : v.limRatioMeas hρ y = ∞ := hy.1
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = ⊤}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑ρ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = ⊤} ∩ o
ρs : ↑↑ρ s ≠ ⊤
q : ℝ≥0
hq : 1 ≤ q
y : α
hy : y ∈ s
this : limRatioMeas v hρ y = ⊤
⊢ y ∈ {x | ↑q < limRatioMeas v hρ x}
[PROOFSTEP]
simp only [this, ENNReal.coe_lt_top, mem_setOf_eq]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = ⊤}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑ρ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = ⊤} ∩ o
ρs : ↑↑ρ s ≠ ⊤
q : ℝ≥0
hq : 1 ≤ q
⊢ ↑q ≠ 0 ∨ ↑↑ρ s ≠ 0
[PROOFSTEP]
simp only [(zero_lt_one.trans_le hq).ne', true_or_iff, ENNReal.coe_eq_zero, Ne.def, not_false_iff]
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = ⊤}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑ρ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = ⊤} ∩ o
ρs : ↑↑ρ s ≠ ⊤
A : ∀ (q : ℝ≥0), 1 ≤ q → ↑↑μ s ≤ (↑q)⁻¹ * ↑↑ρ s
⊢ ↑↑μ s ≤ 0
[PROOFSTEP]
have B : Tendsto (fun q : ℝ≥0 => (q : ℝ≥0∞)⁻¹ * ρ s) atTop (𝓝 (∞⁻¹ * ρ s)) :=
  by
  apply ENNReal.Tendsto.mul_const _ (Or.inr ρs)
  exact ENNReal.tendsto_inv_iff.2 (ENNReal.tendsto_coe_nhds_top.2 tendsto_id)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = ⊤}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑ρ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = ⊤} ∩ o
ρs : ↑↑ρ s ≠ ⊤
A : ∀ (q : ℝ≥0), 1 ≤ q → ↑↑μ s ≤ (↑q)⁻¹ * ↑↑ρ s
⊢ Tendsto (fun q => (↑q)⁻¹ * ↑↑ρ s) atTop (𝓝 (⊤⁻¹ * ↑↑ρ s))
[PROOFSTEP]
apply ENNReal.Tendsto.mul_const _ (Or.inr ρs)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = ⊤}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑ρ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = ⊤} ∩ o
ρs : ↑↑ρ s ≠ ⊤
A : ∀ (q : ℝ≥0), 1 ≤ q → ↑↑μ s ≤ (↑q)⁻¹ * ↑↑ρ s
⊢ Tendsto (fun x => (↑x)⁻¹) atTop (𝓝 ⊤⁻¹)
[PROOFSTEP]
exact ENNReal.tendsto_inv_iff.2 (ENNReal.tendsto_coe_nhds_top.2 tendsto_id)
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = ⊤}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑ρ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = ⊤} ∩ o
ρs : ↑↑ρ s ≠ ⊤
A : ∀ (q : ℝ≥0), 1 ≤ q → ↑↑μ s ≤ (↑q)⁻¹ * ↑↑ρ s
B : Tendsto (fun q => (↑q)⁻¹ * ↑↑ρ s) atTop (𝓝 (⊤⁻¹ * ↑↑ρ s))
⊢ ↑↑μ s ≤ 0
[PROOFSTEP]
simp only [zero_mul, ENNReal.inv_top] at B 
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = ⊤}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑ρ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = ⊤} ∩ o
ρs : ↑↑ρ s ≠ ⊤
A : ∀ (q : ℝ≥0), 1 ≤ q → ↑↑μ s ≤ (↑q)⁻¹ * ↑↑ρ s
B : Tendsto (fun q => (↑q)⁻¹ * ↑↑ρ ({x | limRatioMeas v hρ x = ⊤} ∩ o)) atTop (𝓝 0)
⊢ ↑↑μ s ≤ 0
[PROOFSTEP]
apply ge_of_tendsto B
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = ⊤}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑ρ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = ⊤} ∩ o
ρs : ↑↑ρ s ≠ ⊤
A : ∀ (q : ℝ≥0), 1 ≤ q → ↑↑μ s ≤ (↑q)⁻¹ * ↑↑ρ s
B : Tendsto (fun q => (↑q)⁻¹ * ↑↑ρ ({x | limRatioMeas v hρ x = ⊤} ∩ o)) atTop (𝓝 0)
⊢ ∀ᶠ (c : ℝ≥0) in atTop, ↑↑μ s ≤ (↑c)⁻¹ * ↑↑ρ ({x | limRatioMeas v hρ x = ⊤} ∩ o)
[PROOFSTEP]
exact eventually_atTop.2 ⟨1, A⟩
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
⊢ ↑↑ρ {x | limRatioMeas v hρ x = 0} = 0
[PROOFSTEP]
refine' null_of_locally_null _ fun x _ => _
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = 0}
⊢ ∃ u, u ∈ 𝓝[{x | limRatioMeas v hρ x = 0}] x ∧ ↑↑ρ u = 0
[PROOFSTEP]
obtain ⟨o, xo, o_open, μo⟩ : ∃ o : Set α, x ∈ o ∧ IsOpen o ∧ μ o < ∞ := Measure.exists_isOpen_measure_lt_top μ x
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = 0}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
⊢ ∃ u, u ∈ 𝓝[{x | limRatioMeas v hρ x = 0}] x ∧ ↑↑ρ u = 0
[PROOFSTEP]
let s := {x : α | v.limRatioMeas hρ x = 0} ∩ o
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = 0}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = 0} ∩ o
⊢ ∃ u, u ∈ 𝓝[{x | limRatioMeas v hρ x = 0}] x ∧ ↑↑ρ u = 0
[PROOFSTEP]
refine' ⟨s, inter_mem_nhdsWithin _ (o_open.mem_nhds xo), le_antisymm _ bot_le⟩
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = 0}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = 0} ∩ o
⊢ ↑↑ρ s ≤ 0
[PROOFSTEP]
have μs : μ s ≠ ∞ := ((measure_mono (inter_subset_right _ _)).trans_lt μo).ne
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = 0}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = 0} ∩ o
μs : ↑↑μ s ≠ ⊤
⊢ ↑↑ρ s ≤ 0
[PROOFSTEP]
have A : ∀ q : ℝ≥0, 0 < q → ρ s ≤ q * μ s := by
  intro q hq
  apply v.measure_le_mul_of_subset_limRatioMeas_lt hρ
  intro y hy
  have : v.limRatioMeas hρ y = 0 := hy.1
  simp only [this, mem_setOf_eq, hq, ENNReal.coe_pos]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = 0}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = 0} ∩ o
μs : ↑↑μ s ≠ ⊤
⊢ ∀ (q : ℝ≥0), 0 < q → ↑↑ρ s ≤ ↑q * ↑↑μ s
[PROOFSTEP]
intro q hq
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = 0}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = 0} ∩ o
μs : ↑↑μ s ≠ ⊤
q : ℝ≥0
hq : 0 < q
⊢ ↑↑ρ s ≤ ↑q * ↑↑μ s
[PROOFSTEP]
apply v.measure_le_mul_of_subset_limRatioMeas_lt hρ
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = 0}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = 0} ∩ o
μs : ↑↑μ s ≠ ⊤
q : ℝ≥0
hq : 0 < q
⊢ s ⊆ {x | limRatioMeas v hρ x < ↑q}
[PROOFSTEP]
intro y hy
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = 0}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = 0} ∩ o
μs : ↑↑μ s ≠ ⊤
q : ℝ≥0
hq : 0 < q
y : α
hy : y ∈ s
⊢ y ∈ {x | limRatioMeas v hρ x < ↑q}
[PROOFSTEP]
have : v.limRatioMeas hρ y = 0 := hy.1
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = 0}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = 0} ∩ o
μs : ↑↑μ s ≠ ⊤
q : ℝ≥0
hq : 0 < q
y : α
hy : y ∈ s
this : limRatioMeas v hρ y = 0
⊢ y ∈ {x | limRatioMeas v hρ x < ↑q}
[PROOFSTEP]
simp only [this, mem_setOf_eq, hq, ENNReal.coe_pos]
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = 0}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = 0} ∩ o
μs : ↑↑μ s ≠ ⊤
A : ∀ (q : ℝ≥0), 0 < q → ↑↑ρ s ≤ ↑q * ↑↑μ s
⊢ ↑↑ρ s ≤ 0
[PROOFSTEP]
have B : Tendsto (fun q : ℝ≥0 => (q : ℝ≥0∞) * μ s) (𝓝[>] (0 : ℝ≥0)) (𝓝 ((0 : ℝ≥0) * μ s)) :=
  by
  apply ENNReal.Tendsto.mul_const _ (Or.inr μs)
  rw [ENNReal.tendsto_coe]
  exact nhdsWithin_le_nhds
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = 0}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = 0} ∩ o
μs : ↑↑μ s ≠ ⊤
A : ∀ (q : ℝ≥0), 0 < q → ↑↑ρ s ≤ ↑q * ↑↑μ s
⊢ Tendsto (fun q => ↑q * ↑↑μ s) (𝓝[Ioi 0] 0) (𝓝 (↑0 * ↑↑μ s))
[PROOFSTEP]
apply ENNReal.Tendsto.mul_const _ (Or.inr μs)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = 0}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = 0} ∩ o
μs : ↑↑μ s ≠ ⊤
A : ∀ (q : ℝ≥0), 0 < q → ↑↑ρ s ≤ ↑q * ↑↑μ s
⊢ Tendsto (fun x => ↑x) (𝓝[Ioi 0] 0) (𝓝 ↑0)
[PROOFSTEP]
rw [ENNReal.tendsto_coe]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = 0}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = 0} ∩ o
μs : ↑↑μ s ≠ ⊤
A : ∀ (q : ℝ≥0), 0 < q → ↑↑ρ s ≤ ↑q * ↑↑μ s
⊢ Tendsto (fun x => x) (𝓝[Ioi 0] 0) (𝓝 0)
[PROOFSTEP]
exact nhdsWithin_le_nhds
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = 0}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = 0} ∩ o
μs : ↑↑μ s ≠ ⊤
A : ∀ (q : ℝ≥0), 0 < q → ↑↑ρ s ≤ ↑q * ↑↑μ s
B : Tendsto (fun q => ↑q * ↑↑μ s) (𝓝[Ioi 0] 0) (𝓝 (↑0 * ↑↑μ s))
⊢ ↑↑ρ s ≤ 0
[PROOFSTEP]
simp only [zero_mul, ENNReal.coe_zero] at B 
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = 0}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = 0} ∩ o
μs : ↑↑μ s ≠ ⊤
A : ∀ (q : ℝ≥0), 0 < q → ↑↑ρ s ≤ ↑q * ↑↑μ s
B : Tendsto (fun q => ↑q * ↑↑μ ({x | limRatioMeas v hρ x = 0} ∩ o)) (𝓝[Ioi 0] 0) (𝓝 0)
⊢ ↑↑ρ s ≤ 0
[PROOFSTEP]
apply ge_of_tendsto B
[GOAL]
case intro.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 ρ
hρ : ρ ≪ μ
x : α
x✝ : x ∈ {x | limRatioMeas v hρ x = 0}
o : Set α
xo : x ∈ o
o_open : IsOpen o
μo : ↑↑μ o < ⊤
s : Set α := {x | limRatioMeas v hρ x = 0} ∩ o
μs : ↑↑μ s ≠ ⊤
A : ∀ (q : ℝ≥0), 0 < q → ↑↑ρ s ≤ ↑q * ↑↑μ s
B : Tendsto (fun q => ↑q * ↑↑μ ({x | limRatioMeas v hρ x = 0} ∩ o)) (𝓝[Ioi 0] 0) (𝓝 0)
⊢ ∀ᶠ (c : ℝ≥0) in 𝓝[Ioi 0] 0, ↑↑ρ s ≤ ↑c * ↑↑μ ({x | limRatioMeas v hρ x = 0} ∩ o)
[PROOFSTEP]
filter_upwards [self_mem_nhdsWithin] using A
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
⊢ ↑↑(withDensity μ (limRatioMeas v hρ)) s ≤ ↑t ^ 2 * ↑↑ρ s
[PROOFSTEP]
have t_ne_zero' : t ≠ 0 := (zero_lt_one.trans ht).ne'
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
⊢ ↑↑(withDensity μ (limRatioMeas v hρ)) s ≤ ↑t ^ 2 * ↑↑ρ s
[PROOFSTEP]
have t_ne_zero : (t : ℝ≥0∞) ≠ 0 := by simpa only [ENNReal.coe_eq_zero, Ne.def] using t_ne_zero'
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
⊢ ↑t ≠ 0
[PROOFSTEP]
simpa only [ENNReal.coe_eq_zero, Ne.def] using t_ne_zero'
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
⊢ ↑↑(withDensity μ (limRatioMeas v hρ)) s ≤ ↑t ^ 2 * ↑↑ρ s
[PROOFSTEP]
let ν := μ.withDensity (v.limRatioMeas hρ)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
⊢ ↑↑(withDensity μ (limRatioMeas v hρ)) s ≤ ↑t ^ 2 * ↑↑ρ s
[PROOFSTEP]
let f := v.limRatioMeas hρ
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
⊢ ↑↑(withDensity μ (limRatioMeas v hρ)) s ≤ ↑t ^ 2 * ↑↑ρ s
[PROOFSTEP]
have f_meas : Measurable f := v.limRatioMeas_measurable hρ
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
⊢ ↑↑(withDensity μ (limRatioMeas v hρ)) s ≤ ↑t ^ 2 * ↑↑ρ s
[PROOFSTEP]
have A : ν (s ∩ f ⁻¹' {0}) ≤ ((t : ℝ≥0∞) ^ 2 • ρ) (s ∩ f ⁻¹' {0}) :=
  by
  apply le_trans _ (zero_le _)
  have M : MeasurableSet (s ∩ f ⁻¹' {0}) := hs.inter (f_meas (measurableSet_singleton _))
  simp only [nonpos_iff_eq_zero, M, withDensity_apply, lintegral_eq_zero_iff f_meas]
  apply (ae_restrict_iff' M).2
  exact eventually_of_forall fun x hx => hx.2
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
⊢ ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
[PROOFSTEP]
apply le_trans _ (zero_le _)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
⊢ ↑↑ν (s ∩ f ⁻¹' {0}) ≤ 0
[PROOFSTEP]
have M : MeasurableSet (s ∩ f ⁻¹' {0}) := hs.inter (f_meas (measurableSet_singleton _))
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
M : MeasurableSet (s ∩ f ⁻¹' {0})
⊢ ↑↑ν (s ∩ f ⁻¹' {0}) ≤ 0
[PROOFSTEP]
simp only [nonpos_iff_eq_zero, M, withDensity_apply, lintegral_eq_zero_iff f_meas]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
M : MeasurableSet (s ∩ f ⁻¹' {0})
⊢ limRatioMeas v hρ =ᶠ[ae (Measure.restrict μ (s ∩ limRatioMeas v hρ ⁻¹' {0}))] 0
[PROOFSTEP]
apply (ae_restrict_iff' M).2
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
M : MeasurableSet (s ∩ f ⁻¹' {0})
⊢ ∀ᵐ (x : α) ∂μ, x ∈ s ∩ f ⁻¹' {0} → limRatioMeas v hρ x = OfNat.ofNat 0 x
[PROOFSTEP]
exact eventually_of_forall fun x hx => hx.2
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
⊢ ↑↑(withDensity μ (limRatioMeas v hρ)) s ≤ ↑t ^ 2 * ↑↑ρ s
[PROOFSTEP]
have B : ν (s ∩ f ⁻¹' {∞}) ≤ ((t : ℝ≥0∞) ^ 2 • ρ) (s ∩ f ⁻¹' {∞}) :=
  by
  apply le_trans (le_of_eq _) (zero_le _)
  apply withDensity_absolutelyContinuous μ _
  rw [← nonpos_iff_eq_zero]
  exact (measure_mono (inter_subset_right _ _)).trans (v.measure_limRatioMeas_top hρ).le
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
⊢ ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
[PROOFSTEP]
apply le_trans (le_of_eq _) (zero_le _)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
⊢ ↑↑ν (s ∩ f ⁻¹' {⊤}) = 0
[PROOFSTEP]
apply withDensity_absolutelyContinuous μ _
[GOAL]
case a
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
⊢ ↑↑μ (s ∩ f ⁻¹' {⊤}) = 0
[PROOFSTEP]
rw [← nonpos_iff_eq_zero]
[GOAL]
case a
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
⊢ ↑↑μ (s ∩ f ⁻¹' {⊤}) ≤ 0
[PROOFSTEP]
exact (measure_mono (inter_subset_right _ _)).trans (v.measure_limRatioMeas_top hρ).le
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
⊢ ↑↑(withDensity μ (limRatioMeas v hρ)) s ≤ ↑t ^ 2 * ↑↑ρ s
[PROOFSTEP]
have C :
  ∀ n : ℤ,
    ν (s ∩ f ⁻¹' Ico ((t : ℝ≥0∞) ^ n) ((t : ℝ≥0∞) ^ (n + 1))) ≤
      ((t : ℝ≥0∞) ^ 2 • ρ) (s ∩ f ⁻¹' Ico ((t : ℝ≥0∞) ^ n) ((t : ℝ≥0∞) ^ (n + 1))) :=
  by
  intro n
  let I := Ico ((t : ℝ≥0∞) ^ n) ((t : ℝ≥0∞) ^ (n + 1))
  have M : MeasurableSet (s ∩ f ⁻¹' I) := hs.inter (f_meas measurableSet_Ico)
  simp only [M, withDensity_apply, coe_nnreal_smul_apply]
  calc
    (∫⁻ x in s ∩ f ⁻¹' I, f x ∂μ) ≤ ∫⁻ x in s ∩ f ⁻¹' I, (t : ℝ≥0∞) ^ (n + 1) ∂μ :=
      lintegral_mono_ae ((ae_restrict_iff' M).2 (eventually_of_forall fun x hx => hx.2.2.le))
    _ = (t : ℝ≥0∞) ^ (n + 1) * μ (s ∩ f ⁻¹' I) := by
      simp only [lintegral_const, MeasurableSet.univ, Measure.restrict_apply, univ_inter]
    _ = (t : ℝ≥0∞) ^ (2 : ℤ) * ((t : ℝ≥0∞) ^ (n - 1) * μ (s ∩ f ⁻¹' I)) :=
      by
      rw [← mul_assoc, ← ENNReal.zpow_add t_ne_zero ENNReal.coe_ne_top]
      congr 2
      abel
    _ ≤ (t : ℝ≥0∞) ^ 2 * ρ (s ∩ f ⁻¹' I) := by
      refine' mul_le_mul_left' _ _
      rw [← ENNReal.coe_zpow (zero_lt_one.trans ht).ne']
      apply v.mul_measure_le_of_subset_lt_limRatioMeas hρ
      intro x hx
      apply lt_of_lt_of_le _ hx.2.1
      rw [← ENNReal.coe_zpow (zero_lt_one.trans ht).ne', ENNReal.coe_lt_coe, sub_eq_add_neg, zpow_add₀ t_ne_zero']
      conv_rhs => rw [← mul_one (t ^ n)]
      refine' mul_lt_mul' le_rfl _ (zero_le _) (NNReal.zpow_pos t_ne_zero' _)
      rw [zpow_neg_one]
      exact inv_lt_one ht
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
⊢ ∀ (n : ℤ), ↑↑ν (s ∩ f ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1))) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1)))
[PROOFSTEP]
intro n
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
⊢ ↑↑ν (s ∩ f ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1))) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1)))
[PROOFSTEP]
let I := Ico ((t : ℝ≥0∞) ^ n) ((t : ℝ≥0∞) ^ (n + 1))
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
⊢ ↑↑ν (s ∩ f ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1))) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1)))
[PROOFSTEP]
have M : MeasurableSet (s ∩ f ⁻¹' I) := hs.inter (f_meas measurableSet_Ico)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
⊢ ↑↑ν (s ∩ f ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1))) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1)))
[PROOFSTEP]
simp only [M, withDensity_apply, coe_nnreal_smul_apply]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
⊢ ∫⁻ (a : α) in s ∩ limRatioMeas v hρ ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1)), limRatioMeas v hρ a ∂μ ≤
    ↑↑(↑t ^ 2 • ρ) (s ∩ limRatioMeas v hρ ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1)))
[PROOFSTEP]
calc
  (∫⁻ x in s ∩ f ⁻¹' I, f x ∂μ) ≤ ∫⁻ x in s ∩ f ⁻¹' I, (t : ℝ≥0∞) ^ (n + 1) ∂μ :=
    lintegral_mono_ae ((ae_restrict_iff' M).2 (eventually_of_forall fun x hx => hx.2.2.le))
  _ = (t : ℝ≥0∞) ^ (n + 1) * μ (s ∩ f ⁻¹' I) := by
    simp only [lintegral_const, MeasurableSet.univ, Measure.restrict_apply, univ_inter]
  _ = (t : ℝ≥0∞) ^ (2 : ℤ) * ((t : ℝ≥0∞) ^ (n - 1) * μ (s ∩ f ⁻¹' I)) :=
    by
    rw [← mul_assoc, ← ENNReal.zpow_add t_ne_zero ENNReal.coe_ne_top]
    congr 2
    abel
  _ ≤ (t : ℝ≥0∞) ^ 2 * ρ (s ∩ f ⁻¹' I) := by
    refine' mul_le_mul_left' _ _
    rw [← ENNReal.coe_zpow (zero_lt_one.trans ht).ne']
    apply v.mul_measure_le_of_subset_lt_limRatioMeas hρ
    intro x hx
    apply lt_of_lt_of_le _ hx.2.1
    rw [← ENNReal.coe_zpow (zero_lt_one.trans ht).ne', ENNReal.coe_lt_coe, sub_eq_add_neg, zpow_add₀ t_ne_zero']
    conv_rhs => rw [← mul_one (t ^ n)]
    refine' mul_lt_mul' le_rfl _ (zero_le _) (NNReal.zpow_pos t_ne_zero' _)
    rw [zpow_neg_one]
    exact inv_lt_one ht
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
⊢ ∫⁻ (x : α) in s ∩ f ⁻¹' I, ↑t ^ (n + 1) ∂μ = ↑t ^ (n + 1) * ↑↑μ (s ∩ f ⁻¹' I)
[PROOFSTEP]
simp only [lintegral_const, MeasurableSet.univ, Measure.restrict_apply, univ_inter]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
⊢ ↑t ^ (n + 1) * ↑↑μ (s ∩ f ⁻¹' I) = ↑t ^ 2 * (↑t ^ (n - 1) * ↑↑μ (s ∩ f ⁻¹' I))
[PROOFSTEP]
rw [← mul_assoc, ← ENNReal.zpow_add t_ne_zero ENNReal.coe_ne_top]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
⊢ ↑t ^ (n + 1) * ↑↑μ (s ∩ f ⁻¹' I) = ↑t ^ (2 + (n - 1)) * ↑↑μ (s ∩ f ⁻¹' I)
[PROOFSTEP]
congr 2
[GOAL]
case e_a.e_a
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
⊢ n + 1 = 2 + (n - 1)
[PROOFSTEP]
abel
[GOAL]
case e_a.e_a
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
⊢ n + 1 = 2 + (n - 1)
[PROOFSTEP]
abel
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
⊢ ↑t ^ 2 * (↑t ^ (n - 1) * ↑↑μ (s ∩ f ⁻¹' I)) ≤ ↑t ^ 2 * ↑↑ρ (s ∩ f ⁻¹' I)
[PROOFSTEP]
refine' mul_le_mul_left' _ _
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
⊢ ↑t ^ (n - 1) * ↑↑μ (s ∩ f ⁻¹' I) ≤ ↑↑ρ (s ∩ f ⁻¹' I)
[PROOFSTEP]
rw [← ENNReal.coe_zpow (zero_lt_one.trans ht).ne']
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
⊢ ↑(t ^ (n - 1)) * ↑↑μ (s ∩ f ⁻¹' I) ≤ ↑↑ρ (s ∩ f ⁻¹' I)
[PROOFSTEP]
apply v.mul_measure_le_of_subset_lt_limRatioMeas hρ
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
⊢ s ∩ f ⁻¹' I ⊆ {x | ↑(t ^ (n - 1)) < limRatioMeas v hρ x}
[PROOFSTEP]
intro x hx
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
x : α
hx : x ∈ s ∩ f ⁻¹' I
⊢ x ∈ {x | ↑(t ^ (n - 1)) < limRatioMeas v hρ x}
[PROOFSTEP]
apply lt_of_lt_of_le _ hx.2.1
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
x : α
hx : x ∈ s ∩ f ⁻¹' I
⊢ ↑(t ^ (n - 1)) < ↑t ^ n
[PROOFSTEP]
rw [← ENNReal.coe_zpow (zero_lt_one.trans ht).ne', ENNReal.coe_lt_coe, sub_eq_add_neg, zpow_add₀ t_ne_zero']
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
x : α
hx : x ∈ s ∩ f ⁻¹' I
⊢ t ^ n * t ^ (-1) < t ^ n
[PROOFSTEP]
conv_rhs => rw [← mul_one (t ^ n)]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
x : α
hx : x ∈ s ∩ f ⁻¹' I
| t ^ n
[PROOFSTEP]
rw [← mul_one (t ^ n)]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
x : α
hx : x ∈ s ∩ f ⁻¹' I
| t ^ n
[PROOFSTEP]
rw [← mul_one (t ^ n)]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
x : α
hx : x ∈ s ∩ f ⁻¹' I
| t ^ n
[PROOFSTEP]
rw [← mul_one (t ^ n)]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
x : α
hx : x ∈ s ∩ f ⁻¹' I
⊢ t ^ n * t ^ (-1) < t ^ n * 1
[PROOFSTEP]
refine' mul_lt_mul' le_rfl _ (zero_le _) (NNReal.zpow_pos t_ne_zero' _)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
x : α
hx : x ∈ s ∩ f ⁻¹' I
⊢ t ^ (-1) < 1
[PROOFSTEP]
rw [zpow_neg_one]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
x : α
hx : x ∈ s ∩ f ⁻¹' I
⊢ t⁻¹ < 1
[PROOFSTEP]
exact inv_lt_one ht
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ν (s ∩ f ⁻¹' {0}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {0})
B : ↑↑ν (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' {⊤})
C : ∀ (n : ℤ), ↑↑ν (s ∩ f ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1))) ≤ ↑↑(↑t ^ 2 • ρ) (s ∩ f ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1)))
⊢ ↑↑(withDensity μ (limRatioMeas v hρ)) s ≤ ↑t ^ 2 * ↑↑ρ s
[PROOFSTEP]
calc
  ν s = ν (s ∩ f ⁻¹' {0}) + ν (s ∩ f ⁻¹' {∞}) + ∑' n : ℤ, ν (s ∩ f ⁻¹' Ico ((t : ℝ≥0∞) ^ n) ((t : ℝ≥0∞) ^ (n + 1))) :=
    measure_eq_measure_preimage_add_measure_tsum_Ico_zpow ν f_meas hs ht
  _ ≤
      ((t : ℝ≥0∞) ^ 2 • ρ) (s ∩ f ⁻¹' {0}) + ((t : ℝ≥0∞) ^ 2 • ρ) (s ∩ f ⁻¹' {∞}) +
        ∑' n : ℤ, ((t : ℝ≥0∞) ^ 2 • ρ) (s ∩ f ⁻¹' Ico ((t : ℝ≥0∞) ^ n) ((t : ℝ≥0∞) ^ (n + 1))) :=
    (add_le_add (add_le_add A B) (ENNReal.tsum_le_tsum C))
  _ = ((t : ℝ≥0∞) ^ 2 • ρ) s :=
    (measure_eq_measure_preimage_add_measure_tsum_Ico_zpow ((t : ℝ≥0∞) ^ 2 • ρ) f_meas hs ht).symm
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
⊢ ↑↑ρ s ≤ ↑t * ↑↑(withDensity μ (limRatioMeas v hρ)) s
[PROOFSTEP]
have t_ne_zero' : t ≠ 0 := (zero_lt_one.trans ht).ne'
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
⊢ ↑↑ρ s ≤ ↑t * ↑↑(withDensity μ (limRatioMeas v hρ)) s
[PROOFSTEP]
have t_ne_zero : (t : ℝ≥0∞) ≠ 0 := by simpa only [ENNReal.coe_eq_zero, Ne.def] using t_ne_zero'
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
⊢ ↑t ≠ 0
[PROOFSTEP]
simpa only [ENNReal.coe_eq_zero, Ne.def] using t_ne_zero'
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
⊢ ↑↑ρ s ≤ ↑t * ↑↑(withDensity μ (limRatioMeas v hρ)) s
[PROOFSTEP]
let ν := μ.withDensity (v.limRatioMeas hρ)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
⊢ ↑↑ρ s ≤ ↑t * ↑↑(withDensity μ (limRatioMeas v hρ)) s
[PROOFSTEP]
let f := v.limRatioMeas hρ
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
⊢ ↑↑ρ s ≤ ↑t * ↑↑(withDensity μ (limRatioMeas v hρ)) s
[PROOFSTEP]
have f_meas : Measurable f := v.limRatioMeas_measurable hρ
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
⊢ ↑↑ρ s ≤ ↑t * ↑↑(withDensity μ (limRatioMeas v hρ)) s
[PROOFSTEP]
have A : ρ (s ∩ f ⁻¹' {0}) ≤ (t • ν) (s ∩ f ⁻¹' {0}) :=
  by
  refine' le_trans (measure_mono (inter_subset_right _ _)) (le_trans (le_of_eq _) (zero_le _))
  exact v.measure_limRatioMeas_zero hρ
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
⊢ ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
[PROOFSTEP]
refine' le_trans (measure_mono (inter_subset_right _ _)) (le_trans (le_of_eq _) (zero_le _))
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
⊢ ↑↑ρ (f ⁻¹' {0}) = 0
[PROOFSTEP]
exact v.measure_limRatioMeas_zero hρ
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
⊢ ↑↑ρ s ≤ ↑t * ↑↑(withDensity μ (limRatioMeas v hρ)) s
[PROOFSTEP]
have B : ρ (s ∩ f ⁻¹' {∞}) ≤ (t • ν) (s ∩ f ⁻¹' {∞}) :=
  by
  apply le_trans (le_of_eq _) (zero_le _)
  apply hρ
  rw [← nonpos_iff_eq_zero]
  exact (measure_mono (inter_subset_right _ _)).trans (v.measure_limRatioMeas_top hρ).le
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
⊢ ↑↑ρ (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {⊤})
[PROOFSTEP]
apply le_trans (le_of_eq _) (zero_le _)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
⊢ ↑↑ρ (s ∩ f ⁻¹' {⊤}) = 0
[PROOFSTEP]
apply hρ
[GOAL]
case a
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
⊢ ↑↑μ (s ∩ f ⁻¹' {⊤}) = 0
[PROOFSTEP]
rw [← nonpos_iff_eq_zero]
[GOAL]
case a
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
⊢ ↑↑μ (s ∩ f ⁻¹' {⊤}) ≤ 0
[PROOFSTEP]
exact (measure_mono (inter_subset_right _ _)).trans (v.measure_limRatioMeas_top hρ).le
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
B : ↑↑ρ (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {⊤})
⊢ ↑↑ρ s ≤ ↑t * ↑↑(withDensity μ (limRatioMeas v hρ)) s
[PROOFSTEP]
have C :
  ∀ n : ℤ,
    ρ (s ∩ f ⁻¹' Ico ((t : ℝ≥0∞) ^ n) ((t : ℝ≥0∞) ^ (n + 1))) ≤
      (t • ν) (s ∩ f ⁻¹' Ico ((t : ℝ≥0∞) ^ n) ((t : ℝ≥0∞) ^ (n + 1))) :=
  by
  intro n
  let I := Ico ((t : ℝ≥0∞) ^ n) ((t : ℝ≥0∞) ^ (n + 1))
  have M : MeasurableSet (s ∩ f ⁻¹' I) := hs.inter (f_meas measurableSet_Ico)
  simp only [M, withDensity_apply, coe_nnreal_smul_apply]
  calc
    ρ (s ∩ f ⁻¹' I) ≤ (t : ℝ≥0∞) ^ (n + 1) * μ (s ∩ f ⁻¹' I) :=
      by
      rw [← ENNReal.coe_zpow t_ne_zero']
      apply v.measure_le_mul_of_subset_limRatioMeas_lt hρ
      intro x hx
      apply hx.2.2.trans_le (le_of_eq _)
      rw [ENNReal.coe_zpow t_ne_zero']
    _ = ∫⁻ x in s ∩ f ⁻¹' I, (t : ℝ≥0∞) ^ (n + 1) ∂μ := by
      simp only [lintegral_const, MeasurableSet.univ, Measure.restrict_apply, univ_inter]
    _ ≤ ∫⁻ x in s ∩ f ⁻¹' I, t * f x ∂μ :=
      by
      apply lintegral_mono_ae ((ae_restrict_iff' M).2 (eventually_of_forall fun x hx => ?_))
      rw [add_comm, ENNReal.zpow_add t_ne_zero ENNReal.coe_ne_top, zpow_one]
      exact mul_le_mul_left' hx.2.1 _
    _ = t * ∫⁻ x in s ∩ f ⁻¹' I, f x ∂μ := lintegral_const_mul _ f_meas
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
B : ↑↑ρ (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {⊤})
⊢ ∀ (n : ℤ), ↑↑ρ (s ∩ f ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1))) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1)))
[PROOFSTEP]
intro n
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
B : ↑↑ρ (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {⊤})
n : ℤ
⊢ ↑↑ρ (s ∩ f ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1))) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1)))
[PROOFSTEP]
let I := Ico ((t : ℝ≥0∞) ^ n) ((t : ℝ≥0∞) ^ (n + 1))
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
B : ↑↑ρ (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
⊢ ↑↑ρ (s ∩ f ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1))) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1)))
[PROOFSTEP]
have M : MeasurableSet (s ∩ f ⁻¹' I) := hs.inter (f_meas measurableSet_Ico)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
B : ↑↑ρ (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
⊢ ↑↑ρ (s ∩ f ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1))) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1)))
[PROOFSTEP]
simp only [M, withDensity_apply, coe_nnreal_smul_apply]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
B : ↑↑ρ (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
⊢ ↑↑ρ (s ∩ limRatioMeas v hρ ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1))) ≤
    ↑t * ∫⁻ (a : α) in s ∩ limRatioMeas v hρ ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1)), limRatioMeas v hρ a ∂μ
[PROOFSTEP]
calc
  ρ (s ∩ f ⁻¹' I) ≤ (t : ℝ≥0∞) ^ (n + 1) * μ (s ∩ f ⁻¹' I) :=
    by
    rw [← ENNReal.coe_zpow t_ne_zero']
    apply v.measure_le_mul_of_subset_limRatioMeas_lt hρ
    intro x hx
    apply hx.2.2.trans_le (le_of_eq _)
    rw [ENNReal.coe_zpow t_ne_zero']
  _ = ∫⁻ x in s ∩ f ⁻¹' I, (t : ℝ≥0∞) ^ (n + 1) ∂μ := by
    simp only [lintegral_const, MeasurableSet.univ, Measure.restrict_apply, univ_inter]
  _ ≤ ∫⁻ x in s ∩ f ⁻¹' I, t * f x ∂μ :=
    by
    apply lintegral_mono_ae ((ae_restrict_iff' M).2 (eventually_of_forall fun x hx => ?_))
    rw [add_comm, ENNReal.zpow_add t_ne_zero ENNReal.coe_ne_top, zpow_one]
    exact mul_le_mul_left' hx.2.1 _
  _ = t * ∫⁻ x in s ∩ f ⁻¹' I, f x ∂μ := lintegral_const_mul _ f_meas
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
B : ↑↑ρ (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
⊢ ↑↑ρ (s ∩ f ⁻¹' I) ≤ ↑t ^ (n + 1) * ↑↑μ (s ∩ f ⁻¹' I)
[PROOFSTEP]
rw [← ENNReal.coe_zpow t_ne_zero']
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
B : ↑↑ρ (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
⊢ ↑↑ρ (s ∩ f ⁻¹' I) ≤ ↑(t ^ (n + 1)) * ↑↑μ (s ∩ f ⁻¹' I)
[PROOFSTEP]
apply v.measure_le_mul_of_subset_limRatioMeas_lt hρ
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
B : ↑↑ρ (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
⊢ s ∩ f ⁻¹' I ⊆ {x | limRatioMeas v hρ x < ↑(t ^ (n + 1))}
[PROOFSTEP]
intro x hx
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
B : ↑↑ρ (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
x : α
hx : x ∈ s ∩ f ⁻¹' I
⊢ x ∈ {x | limRatioMeas v hρ x < ↑(t ^ (n + 1))}
[PROOFSTEP]
apply hx.2.2.trans_le (le_of_eq _)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
B : ↑↑ρ (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
x : α
hx : x ∈ s ∩ f ⁻¹' I
⊢ ↑t ^ (n + 1) = ↑(t ^ (n + 1))
[PROOFSTEP]
rw [ENNReal.coe_zpow t_ne_zero']
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
B : ↑↑ρ (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
⊢ ↑t ^ (n + 1) * ↑↑μ (s ∩ f ⁻¹' I) = ∫⁻ (x : α) in s ∩ f ⁻¹' I, ↑t ^ (n + 1) ∂μ
[PROOFSTEP]
simp only [lintegral_const, MeasurableSet.univ, Measure.restrict_apply, univ_inter]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
B : ↑↑ρ (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
⊢ ∫⁻ (x : α) in s ∩ f ⁻¹' I, ↑t ^ (n + 1) ∂μ ≤ ∫⁻ (x : α) in s ∩ f ⁻¹' I, ↑t * f x ∂μ
[PROOFSTEP]
apply lintegral_mono_ae ((ae_restrict_iff' M).2 (eventually_of_forall fun x hx => ?_))
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
B : ↑↑ρ (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
x : α
hx : x ∈ s ∩ f ⁻¹' I
⊢ ↑t ^ (n + 1) ≤ ↑t * f x
[PROOFSTEP]
rw [add_comm, ENNReal.zpow_add t_ne_zero ENNReal.coe_ne_top, zpow_one]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
B : ↑↑ρ (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {⊤})
n : ℤ
I : Set ℝ≥0∞ := Ico (↑t ^ n) (↑t ^ (n + 1))
M : MeasurableSet (s ∩ f ⁻¹' I)
x : α
hx : x ∈ s ∩ f ⁻¹' I
⊢ ↑t * ↑t ^ n ≤ ↑t * f x
[PROOFSTEP]
exact mul_le_mul_left' hx.2.1 _
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
t : ℝ≥0
ht : 1 < t
t_ne_zero' : t ≠ 0
t_ne_zero : ↑t ≠ 0
ν : Measure α := withDensity μ (limRatioMeas v hρ)
f : α → ℝ≥0∞ := limRatioMeas v hρ
f_meas : Measurable f
A : ↑↑ρ (s ∩ f ⁻¹' {0}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {0})
B : ↑↑ρ (s ∩ f ⁻¹' {⊤}) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' {⊤})
C : ∀ (n : ℤ), ↑↑ρ (s ∩ f ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1))) ≤ ↑↑(t • ν) (s ∩ f ⁻¹' Ico (↑t ^ n) (↑t ^ (n + 1)))
⊢ ↑↑ρ s ≤ ↑t * ↑↑(withDensity μ (limRatioMeas v hρ)) s
[PROOFSTEP]
calc
  ρ s = ρ (s ∩ f ⁻¹' {0}) + ρ (s ∩ f ⁻¹' {∞}) + ∑' n : ℤ, ρ (s ∩ f ⁻¹' Ico ((t : ℝ≥0∞) ^ n) ((t : ℝ≥0∞) ^ (n + 1))) :=
    measure_eq_measure_preimage_add_measure_tsum_Ico_zpow ρ f_meas hs ht
  _ ≤
      (t • ν) (s ∩ f ⁻¹' {0}) + (t • ν) (s ∩ f ⁻¹' {∞}) +
        ∑' n : ℤ, (t • ν) (s ∩ f ⁻¹' Ico ((t : ℝ≥0∞) ^ n) ((t : ℝ≥0∞) ^ (n + 1))) :=
    (add_le_add (add_le_add A B) (ENNReal.tsum_le_tsum C))
  _ = (t • ν) s := (measure_eq_measure_preimage_add_measure_tsum_Ico_zpow (t • ν) f_meas hs ht).symm
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
⊢ withDensity μ (limRatioMeas v hρ) = ρ
[PROOFSTEP]
ext1 s hs
[GOAL]
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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
⊢ ↑↑(withDensity μ (limRatioMeas v hρ)) s = ↑↑ρ s
[PROOFSTEP]
refine' le_antisymm _ _
[GOAL]
case h.refine'_1
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
⊢ ↑↑(withDensity μ (limRatioMeas v hρ)) s ≤ ↑↑ρ s
[PROOFSTEP]
have : Tendsto (fun t : ℝ≥0 => ((t : ℝ≥0∞) ^ 2 * ρ s : ℝ≥0∞)) (𝓝[>] 1) (𝓝 ((1 : ℝ≥0∞) ^ 2 * ρ s)) :=
  by
  refine' ENNReal.Tendsto.mul _ _ tendsto_const_nhds _
  · exact ENNReal.Tendsto.pow (ENNReal.tendsto_coe.2 nhdsWithin_le_nhds)
  · simp only [one_pow, ENNReal.coe_one, true_or_iff, Ne.def, not_false_iff, one_ne_zero]
  · simp only [one_pow, ENNReal.coe_one, Ne.def, or_true_iff, ENNReal.one_ne_top, not_false_iff]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
⊢ Tendsto (fun t => ↑t ^ 2 * ↑↑ρ s) (𝓝[Ioi 1] 1) (𝓝 (1 ^ 2 * ↑↑ρ s))
[PROOFSTEP]
refine' ENNReal.Tendsto.mul _ _ tendsto_const_nhds _
[GOAL]
case refine'_1
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
⊢ Tendsto (fun t => ↑t ^ 2) (𝓝[Ioi 1] 1) (𝓝 (1 ^ 2))
[PROOFSTEP]
exact ENNReal.Tendsto.pow (ENNReal.tendsto_coe.2 nhdsWithin_le_nhds)
[GOAL]
case refine'_2
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
⊢ 1 ^ 2 ≠ 0 ∨ ↑↑ρ s ≠ ⊤
[PROOFSTEP]
simp only [one_pow, ENNReal.coe_one, true_or_iff, Ne.def, not_false_iff, one_ne_zero]
[GOAL]
case refine'_3
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
⊢ ↑↑ρ s ≠ 0 ∨ 1 ^ 2 ≠ ⊤
[PROOFSTEP]
simp only [one_pow, ENNReal.coe_one, Ne.def, or_true_iff, ENNReal.one_ne_top, not_false_iff]
[GOAL]
case h.refine'_1
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
this : Tendsto (fun t => ↑t ^ 2 * ↑↑ρ s) (𝓝[Ioi 1] 1) (𝓝 (1 ^ 2 * ↑↑ρ s))
⊢ ↑↑(withDensity μ (limRatioMeas v hρ)) s ≤ ↑↑ρ s
[PROOFSTEP]
simp only [one_pow, one_mul, ENNReal.coe_one] at this 
[GOAL]
case h.refine'_1
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
this : Tendsto (fun t => ↑t ^ 2 * ↑↑ρ s) (𝓝[Ioi 1] 1) (𝓝 (↑↑ρ s))
⊢ ↑↑(withDensity μ (limRatioMeas v hρ)) s ≤ ↑↑ρ s
[PROOFSTEP]
refine' ge_of_tendsto this _
[GOAL]
case h.refine'_1
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
this : Tendsto (fun t => ↑t ^ 2 * ↑↑ρ s) (𝓝[Ioi 1] 1) (𝓝 (↑↑ρ s))
⊢ ∀ᶠ (c : ℝ≥0) in 𝓝[Ioi 1] 1, ↑↑(withDensity μ (limRatioMeas v hρ)) s ≤ ↑c ^ 2 * ↑↑ρ s
[PROOFSTEP]
filter_upwards [self_mem_nhdsWithin] with _ ht
[GOAL]
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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
this : Tendsto (fun t => ↑t ^ 2 * ↑↑ρ s) (𝓝[Ioi 1] 1) (𝓝 (↑↑ρ s))
a✝ : ℝ≥0
ht : a✝ ∈ Ioi 1
⊢ ↑↑(withDensity μ (limRatioMeas v hρ)) s ≤ ↑a✝ ^ 2 * ↑↑ρ s
[PROOFSTEP]
exact v.withDensity_le_mul hρ hs ht
[GOAL]
case h.refine'_2
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
⊢ ↑↑ρ s ≤ ↑↑(withDensity μ (limRatioMeas v hρ)) s
[PROOFSTEP]
have :
  Tendsto (fun t : ℝ≥0 => (t : ℝ≥0∞) * μ.withDensity (v.limRatioMeas hρ) s) (𝓝[>] 1)
    (𝓝 ((1 : ℝ≥0∞) * μ.withDensity (v.limRatioMeas hρ) s)) :=
  by
  refine' ENNReal.Tendsto.mul_const (ENNReal.tendsto_coe.2 nhdsWithin_le_nhds) _
  simp only [ENNReal.coe_one, true_or_iff, Ne.def, not_false_iff, one_ne_zero]
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
⊢ Tendsto (fun t => ↑t * ↑↑(withDensity μ (limRatioMeas v hρ)) s) (𝓝[Ioi 1] 1)
    (𝓝 (1 * ↑↑(withDensity μ (limRatioMeas v hρ)) s))
[PROOFSTEP]
refine' ENNReal.Tendsto.mul_const (ENNReal.tendsto_coe.2 nhdsWithin_le_nhds) _
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
⊢ 1 ≠ 0 ∨ ↑↑(withDensity μ (limRatioMeas v hρ)) s ≠ ⊤
[PROOFSTEP]
simp only [ENNReal.coe_one, true_or_iff, Ne.def, not_false_iff, one_ne_zero]
[GOAL]
case h.refine'_2
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
this :
  Tendsto (fun t => ↑t * ↑↑(withDensity μ (limRatioMeas v hρ)) s) (𝓝[Ioi 1] 1)
    (𝓝 (1 * ↑↑(withDensity μ (limRatioMeas v hρ)) s))
⊢ ↑↑ρ s ≤ ↑↑(withDensity μ (limRatioMeas v hρ)) s
[PROOFSTEP]
simp only [one_mul, ENNReal.coe_one] at this 
[GOAL]
case h.refine'_2
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
this :
  Tendsto (fun t => ↑t * ↑↑(withDensity μ (limRatioMeas v hρ)) s) (𝓝[Ioi 1] 1)
    (𝓝 (↑↑(withDensity μ (limRatioMeas v hρ)) s))
⊢ ↑↑ρ s ≤ ↑↑(withDensity μ (limRatioMeas v hρ)) s
[PROOFSTEP]
refine' ge_of_tendsto this _
[GOAL]
case h.refine'_2
α : 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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
this :
  Tendsto (fun t => ↑t * ↑↑(withDensity μ (limRatioMeas v hρ)) s) (𝓝[Ioi 1] 1)
    (𝓝 (↑↑(withDensity μ (limRatioMeas v hρ)) s))
⊢ ∀ᶠ (c : ℝ≥0) in 𝓝[Ioi 1] 1, ↑↑ρ s ≤ ↑c * ↑↑(withDensity μ (limRatioMeas v hρ)) s
[PROOFSTEP]
filter_upwards [self_mem_nhdsWithin] with _ ht
[GOAL]
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 ρ
hρ : ρ ≪ μ
s : Set α
hs : MeasurableSet s
this :
  Tendsto (fun t => ↑t * ↑↑(withDensity μ (limRatioMeas v hρ)) s) (𝓝[Ioi 1] 1)
    (𝓝 (↑↑(withDensity μ (limRatioMeas v hρ)) s))
a✝ : ℝ≥0
ht : a✝ ∈ Ioi 1
⊢ ↑↑ρ s ≤ ↑a✝ * ↑↑(withDensity μ (limRatioMeas v hρ)) s
[PROOFSTEP]
exact v.le_mul_withDensity hρ hs ht
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv ρ μ x))
[PROOFSTEP]
have A : (μ.withDensity (v.limRatioMeas hρ)).rnDeriv μ =ᵐ[μ] v.limRatioMeas hρ :=
  rnDeriv_withDensity μ (v.limRatioMeas_measurable hρ)
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
A : rnDeriv (withDensity μ (limRatioMeas v hρ)) μ =ᶠ[ae μ] limRatioMeas v hρ
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv ρ μ x))
[PROOFSTEP]
rw [v.withDensity_limRatioMeas_eq hρ] at A 
[GOAL]
α : 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 ρ
hρ : ρ ≪ μ
A : rnDeriv ρ μ =ᶠ[ae μ] limRatioMeas v hρ
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv ρ μ x))
[PROOFSTEP]
filter_upwards [v.ae_tendsto_limRatioMeas hρ, A] with _ _ h'x
[GOAL]
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 ρ
hρ : ρ ≪ μ
A : rnDeriv ρ μ =ᶠ[ae μ] limRatioMeas v hρ
a✝¹ : α
a✝ : Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v a✝¹) (𝓝 (limRatioMeas v hρ a✝¹))
h'x : rnDeriv ρ μ a✝¹ = limRatioMeas v hρ a✝¹
⊢ Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v a✝¹) (𝓝 (rnDeriv ρ μ a✝¹))
[PROOFSTEP]
rwa [h'x]
[GOAL]
α : 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 ρ
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv ρ μ x))
[PROOFSTEP]
let t := μ.withDensity (ρ.rnDeriv μ)
[GOAL]
α : 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 ρ
t : Measure α := withDensity μ (rnDeriv ρ μ)
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv ρ μ x))
[PROOFSTEP]
have eq_add : ρ = ρ.singularPart μ + t := haveLebesgueDecomposition_add _ _
[GOAL]
α : 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 ρ
t : Measure α := withDensity μ (rnDeriv ρ μ)
eq_add : ρ = singularPart ρ μ + t
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv ρ μ x))
[PROOFSTEP]
have A : ∀ᵐ x ∂μ, Tendsto (fun a => ρ.singularPart μ a / μ a) (v.filterAt x) (𝓝 0) :=
  v.ae_eventually_measure_zero_of_singular (mutuallySingular_singularPart ρ μ)
[GOAL]
α : 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 ρ
t : Measure α := withDensity μ (rnDeriv ρ μ)
eq_add : ρ = singularPart ρ μ + t
A : ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑(singularPart ρ μ) a / ↑↑μ a) (filterAt v x) (𝓝 0)
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv ρ μ x))
[PROOFSTEP]
have B : ∀ᵐ x ∂μ, t.rnDeriv μ x = ρ.rnDeriv μ x := rnDeriv_withDensity μ (measurable_rnDeriv ρ μ)
[GOAL]
α : 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 ρ
t : Measure α := withDensity μ (rnDeriv ρ μ)
eq_add : ρ = singularPart ρ μ + t
A : ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑(singularPart ρ μ) a / ↑↑μ a) (filterAt v x) (𝓝 0)
B : ∀ᵐ (x : α) ∂μ, rnDeriv t μ x = rnDeriv ρ μ x
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv ρ μ x))
[PROOFSTEP]
have C : ∀ᵐ x ∂μ, Tendsto (fun a => t a / μ a) (v.filterAt x) (𝓝 (t.rnDeriv μ x)) :=
  v.ae_tendsto_rnDeriv_of_absolutelyContinuous (withDensity_absolutelyContinuous _ _)
[GOAL]
α : 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 ρ
t : Measure α := withDensity μ (rnDeriv ρ μ)
eq_add : ρ = singularPart ρ μ + t
A : ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑(singularPart ρ μ) a / ↑↑μ a) (filterAt v x) (𝓝 0)
B : ∀ᵐ (x : α) ∂μ, rnDeriv t μ x = rnDeriv ρ μ x
C : ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑t a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv t μ x))
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv ρ μ x))
[PROOFSTEP]
filter_upwards [A, B, C] with _ Ax Bx Cx
[GOAL]
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 ρ
t : Measure α := withDensity μ (rnDeriv ρ μ)
eq_add : ρ = singularPart ρ μ + t
A : ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑(singularPart ρ μ) a / ↑↑μ a) (filterAt v x) (𝓝 0)
B : ∀ᵐ (x : α) ∂μ, rnDeriv t μ x = rnDeriv ρ μ x
C : ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑t a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv t μ x))
a✝ : α
Ax : Tendsto (fun a => ↑↑(singularPart ρ μ) a / ↑↑μ a) (filterAt v a✝) (𝓝 0)
Bx : rnDeriv (withDensity μ (rnDeriv ρ μ)) μ a✝ = rnDeriv ρ μ a✝
Cx :
  Tendsto (fun a => ↑↑(withDensity μ (rnDeriv ρ μ)) a / ↑↑μ a) (filterAt v a✝)
    (𝓝 (rnDeriv (withDensity μ (rnDeriv ρ μ)) μ a✝))
⊢ Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v a✝) (𝓝 (rnDeriv ρ μ a✝))
[PROOFSTEP]
convert Ax.add Cx using 1
[GOAL]
case h.e'_3
α : 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 ρ
t : Measure α := withDensity μ (rnDeriv ρ μ)
eq_add : ρ = singularPart ρ μ + t
A : ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑(singularPart ρ μ) a / ↑↑μ a) (filterAt v x) (𝓝 0)
B : ∀ᵐ (x : α) ∂μ, rnDeriv t μ x = rnDeriv ρ μ x
C : ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑t a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv t μ x))
a✝ : α
Ax : Tendsto (fun a => ↑↑(singularPart ρ μ) a / ↑↑μ a) (filterAt v a✝) (𝓝 0)
Bx : rnDeriv (withDensity μ (rnDeriv ρ μ)) μ a✝ = rnDeriv ρ μ a✝
Cx :
  Tendsto (fun a => ↑↑(withDensity μ (rnDeriv ρ μ)) a / ↑↑μ a) (filterAt v a✝)
    (𝓝 (rnDeriv (withDensity μ (rnDeriv ρ μ)) μ a✝))
⊢ (fun a => ↑↑ρ a / ↑↑μ a) = fun x => ↑↑(singularPart ρ μ) x / ↑↑μ x + ↑↑(withDensity μ (rnDeriv ρ μ)) x / ↑↑μ x
[PROOFSTEP]
ext1 a
[GOAL]
case h.e'_3.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 ρ
t : Measure α := withDensity μ (rnDeriv ρ μ)
eq_add : ρ = singularPart ρ μ + t
A : ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑(singularPart ρ μ) a / ↑↑μ a) (filterAt v x) (𝓝 0)
B : ∀ᵐ (x : α) ∂μ, rnDeriv t μ x = rnDeriv ρ μ x
C : ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑t a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv t μ x))
a✝ : α
Ax : Tendsto (fun a => ↑↑(singularPart ρ μ) a / ↑↑μ a) (filterAt v a✝) (𝓝 0)
Bx : rnDeriv (withDensity μ (rnDeriv ρ μ)) μ a✝ = rnDeriv ρ μ a✝
Cx :
  Tendsto (fun a => ↑↑(withDensity μ (rnDeriv ρ μ)) a / ↑↑μ a) (filterAt v a✝)
    (𝓝 (rnDeriv (withDensity μ (rnDeriv ρ μ)) μ a✝))
a : Set α
⊢ ↑↑ρ a / ↑↑μ a = ↑↑(singularPart ρ μ) a / ↑↑μ a + ↑↑(withDensity μ (rnDeriv ρ μ)) a / ↑↑μ a
[PROOFSTEP]
conv_lhs => rw [eq_add]
[GOAL]
α : 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 ρ
t : Measure α := withDensity μ (rnDeriv ρ μ)
eq_add : ρ = singularPart ρ μ + t
A : ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑(singularPart ρ μ) a / ↑↑μ a) (filterAt v x) (𝓝 0)
B : ∀ᵐ (x : α) ∂μ, rnDeriv t μ x = rnDeriv ρ μ x
C : ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑t a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv t μ x))
a✝ : α
Ax : Tendsto (fun a => ↑↑(singularPart ρ μ) a / ↑↑μ a) (filterAt v a✝) (𝓝 0)
Bx : rnDeriv (withDensity μ (rnDeriv ρ μ)) μ a✝ = rnDeriv ρ μ a✝
Cx :
  Tendsto (fun a => ↑↑(withDensity μ (rnDeriv ρ μ)) a / ↑↑μ a) (filterAt v a✝)
    (𝓝 (rnDeriv (withDensity μ (rnDeriv ρ μ)) μ a✝))
a : Set α
| ↑↑ρ a / ↑↑μ a
[PROOFSTEP]
rw [eq_add]
[GOAL]
α : 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 ρ
t : Measure α := withDensity μ (rnDeriv ρ μ)
eq_add : ρ = singularPart ρ μ + t
A : ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑(singularPart ρ μ) a / ↑↑μ a) (filterAt v x) (𝓝 0)
B : ∀ᵐ (x : α) ∂μ, rnDeriv t μ x = rnDeriv ρ μ x
C : ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑t a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv t μ x))
a✝ : α
Ax : Tendsto (fun a => ↑↑(singularPart ρ μ) a / ↑↑μ a) (filterAt v a✝) (𝓝 0)
Bx : rnDeriv (withDensity μ (rnDeriv ρ μ)) μ a✝ = rnDeriv ρ μ a✝
Cx :
  Tendsto (fun a => ↑↑(withDensity μ (rnDeriv ρ μ)) a / ↑↑μ a) (filterAt v a✝)
    (𝓝 (rnDeriv (withDensity μ (rnDeriv ρ μ)) μ a✝))
a : Set α
| ↑↑ρ a / ↑↑μ a
[PROOFSTEP]
rw [eq_add]
[GOAL]
α : 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 ρ
t : Measure α := withDensity μ (rnDeriv ρ μ)
eq_add : ρ = singularPart ρ μ + t
A : ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑(singularPart ρ μ) a / ↑↑μ a) (filterAt v x) (𝓝 0)
B : ∀ᵐ (x : α) ∂μ, rnDeriv t μ x = rnDeriv ρ μ x
C : ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑t a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv t μ x))
a✝ : α
Ax : Tendsto (fun a => ↑↑(singularPart ρ μ) a / ↑↑μ a) (filterAt v a✝) (𝓝 0)
Bx : rnDeriv (withDensity μ (rnDeriv ρ μ)) μ a✝ = rnDeriv ρ μ a✝
Cx :
  Tendsto (fun a => ↑↑(withDensity μ (rnDeriv ρ μ)) a / ↑↑μ a) (filterAt v a✝)
    (𝓝 (rnDeriv (withDensity μ (rnDeriv ρ μ)) μ a✝))
a : Set α
| ↑↑ρ a / ↑↑μ a
[PROOFSTEP]
rw [eq_add]
[GOAL]
case h.e'_3.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 ρ
t : Measure α := withDensity μ (rnDeriv ρ μ)
eq_add : ρ = singularPart ρ μ + t
A : ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑(singularPart ρ μ) a / ↑↑μ a) (filterAt v x) (𝓝 0)
B : ∀ᵐ (x : α) ∂μ, rnDeriv t μ x = rnDeriv ρ μ x
C : ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑t a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv t μ x))
a✝ : α
Ax : Tendsto (fun a => ↑↑(singularPart ρ μ) a / ↑↑μ a) (filterAt v a✝) (𝓝 0)
Bx : rnDeriv (withDensity μ (rnDeriv ρ μ)) μ a✝ = rnDeriv ρ μ a✝
Cx :
  Tendsto (fun a => ↑↑(withDensity μ (rnDeriv ρ μ)) a / ↑↑μ a) (filterAt v a✝)
    (𝓝 (rnDeriv (withDensity μ (rnDeriv ρ μ)) μ a✝))
a : Set α
⊢ ↑↑(singularPart ρ μ + t) a / ↑↑μ a = ↑↑(singularPart ρ μ) a / ↑↑μ a + ↑↑(withDensity μ (rnDeriv ρ μ)) a / ↑↑μ a
[PROOFSTEP]
simp only [Pi.add_apply, coe_add, ENNReal.add_div]
[GOAL]
case h.e'_5
α : 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 ρ
t : Measure α := withDensity μ (rnDeriv ρ μ)
eq_add : ρ = singularPart ρ μ + t
A : ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑(singularPart ρ μ) a / ↑↑μ a) (filterAt v x) (𝓝 0)
B : ∀ᵐ (x : α) ∂μ, rnDeriv t μ x = rnDeriv ρ μ x
C : ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑t a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv t μ x))
a✝ : α
Ax : Tendsto (fun a => ↑↑(singularPart ρ μ) a / ↑↑μ a) (filterAt v a✝) (𝓝 0)
Bx : rnDeriv (withDensity μ (rnDeriv ρ μ)) μ a✝ = rnDeriv ρ μ a✝
Cx :
  Tendsto (fun a => ↑↑(withDensity μ (rnDeriv ρ μ)) a / ↑↑μ a) (filterAt v a✝)
    (𝓝 (rnDeriv (withDensity μ (rnDeriv ρ μ)) μ a✝))
⊢ 𝓝 (rnDeriv ρ μ a✝) = 𝓝 (0 + rnDeriv (withDensity μ (rnDeriv ρ μ)) μ a✝)
[PROOFSTEP]
simp only [Bx, zero_add]
[GOAL]
α : 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 ρ
s : Set α
hs : MeasurableSet s
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑μ (s ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 (indicator s 1 x))
[PROOFSTEP]
haveI : IsLocallyFiniteMeasure (μ.restrict s) := isLocallyFiniteMeasure_of_le restrict_le_self
[GOAL]
α : 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 ρ
s : Set α
hs : MeasurableSet s
this : IsLocallyFiniteMeasure (Measure.restrict μ s)
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑μ (s ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 (indicator s 1 x))
[PROOFSTEP]
filter_upwards [ae_tendsto_rnDeriv v (μ.restrict s), rnDeriv_restrict μ hs]
[GOAL]
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 ρ
s : Set α
hs : MeasurableSet s
this : IsLocallyFiniteMeasure (Measure.restrict μ s)
⊢ ∀ (a : α),
    Tendsto (fun a => ↑↑(Measure.restrict μ s) a / ↑↑μ a) (filterAt v a) (𝓝 (rnDeriv (Measure.restrict μ s) μ a)) →
      rnDeriv (Measure.restrict μ s) μ a = indicator s 1 a →
        Tendsto (fun a => ↑↑μ (s ∩ a) / ↑↑μ a) (filterAt v a) (𝓝 (indicator s 1 a))
[PROOFSTEP]
intro x hx h'x
[GOAL]
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 ρ
s : Set α
hs : MeasurableSet s
this : IsLocallyFiniteMeasure (Measure.restrict μ s)
x : α
hx : Tendsto (fun a => ↑↑(Measure.restrict μ s) a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv (Measure.restrict μ s) μ x))
h'x : rnDeriv (Measure.restrict μ s) μ x = indicator s 1 x
⊢ Tendsto (fun a => ↑↑μ (s ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 (indicator s 1 x))
[PROOFSTEP]
simpa only [h'x, restrict_apply' hs, inter_comm] using hx
[GOAL]
α : 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 ρ
s : Set α
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ s, Tendsto (fun a => ↑↑μ (s ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 1)
[PROOFSTEP]
let t := toMeasurable μ s
[GOAL]
α : 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 ρ
s : Set α
t : Set α := toMeasurable μ s
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ s, Tendsto (fun a => ↑↑μ (s ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 1)
[PROOFSTEP]
have A : ∀ᵐ x ∂μ.restrict s, Tendsto (fun a => μ (t ∩ a) / μ a) (v.filterAt x) (𝓝 (t.indicator 1 x)) :=
  by
  apply ae_mono restrict_le_self
  apply ae_tendsto_measure_inter_div_of_measurableSet
  exact measurableSet_toMeasurable _ _
[GOAL]
α : 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 ρ
s : Set α
t : Set α := toMeasurable μ s
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ s, Tendsto (fun a => ↑↑μ (t ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 (indicator t 1 x))
[PROOFSTEP]
apply ae_mono restrict_le_self
[GOAL]
case a
α : 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 ρ
s : Set α
t : Set α := toMeasurable μ s
⊢ {x | (fun x => Tendsto (fun a => ↑↑μ (t ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 (indicator t 1 x))) x} ∈ ae μ
[PROOFSTEP]
apply ae_tendsto_measure_inter_div_of_measurableSet
[GOAL]
case a.hs
α : 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 ρ
s : Set α
t : Set α := toMeasurable μ s
⊢ MeasurableSet t
[PROOFSTEP]
exact measurableSet_toMeasurable _ _
[GOAL]
α : 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 ρ
s : Set α
t : Set α := toMeasurable μ s
A : ∀ᵐ (x : α) ∂Measure.restrict μ s, Tendsto (fun a => ↑↑μ (t ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 (indicator t 1 x))
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ s, Tendsto (fun a => ↑↑μ (s ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 1)
[PROOFSTEP]
have B : ∀ᵐ x ∂μ.restrict s, t.indicator 1 x = (1 : ℝ≥0∞) :=
  by
  refine' ae_restrict_of_ae_restrict_of_subset (subset_toMeasurable μ s) _
  filter_upwards [ae_restrict_mem (measurableSet_toMeasurable μ s)] with _ hx
  simp only [hx, Pi.one_apply, indicator_of_mem]
[GOAL]
α : 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 ρ
s : Set α
t : Set α := toMeasurable μ s
A : ∀ᵐ (x : α) ∂Measure.restrict μ s, Tendsto (fun a => ↑↑μ (t ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 (indicator t 1 x))
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ s, indicator t 1 x = 1
[PROOFSTEP]
refine' ae_restrict_of_ae_restrict_of_subset (subset_toMeasurable μ s) _
[GOAL]
α : 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 ρ
s : Set α
t : Set α := toMeasurable μ s
A : ∀ᵐ (x : α) ∂Measure.restrict μ s, Tendsto (fun a => ↑↑μ (t ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 (indicator t 1 x))
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ (toMeasurable μ s), indicator t 1 x = 1
[PROOFSTEP]
filter_upwards [ae_restrict_mem (measurableSet_toMeasurable μ s)] with _ hx
[GOAL]
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 ρ
s : Set α
t : Set α := toMeasurable μ s
A : ∀ᵐ (x : α) ∂Measure.restrict μ s, Tendsto (fun a => ↑↑μ (t ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 (indicator t 1 x))
a✝ : α
hx : a✝ ∈ toMeasurable μ s
⊢ indicator (toMeasurable μ s) 1 a✝ = 1
[PROOFSTEP]
simp only [hx, Pi.one_apply, indicator_of_mem]
[GOAL]
α : 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 ρ
s : Set α
t : Set α := toMeasurable μ s
A : ∀ᵐ (x : α) ∂Measure.restrict μ s, Tendsto (fun a => ↑↑μ (t ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 (indicator t 1 x))
B : ∀ᵐ (x : α) ∂Measure.restrict μ s, indicator t 1 x = 1
⊢ ∀ᵐ (x : α) ∂Measure.restrict μ s, Tendsto (fun a => ↑↑μ (s ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 1)
[PROOFSTEP]
filter_upwards [A, B] with x hx h'x
[GOAL]
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 ρ
s : Set α
t : Set α := toMeasurable μ s
A : ∀ᵐ (x : α) ∂Measure.restrict μ s, Tendsto (fun a => ↑↑μ (t ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 (indicator t 1 x))
B : ∀ᵐ (x : α) ∂Measure.restrict μ s, indicator t 1 x = 1
x : α
hx : Tendsto (fun a => ↑↑μ (toMeasurable μ s ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 (indicator (toMeasurable μ s) 1 x))
h'x : indicator (toMeasurable μ s) 1 x = 1
⊢ Tendsto (fun a => ↑↑μ (s ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 1)
[PROOFSTEP]
rw [h'x] at hx 
[GOAL]
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 ρ
s : Set α
t : Set α := toMeasurable μ s
A : ∀ᵐ (x : α) ∂Measure.restrict μ s, Tendsto (fun a => ↑↑μ (t ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 (indicator t 1 x))
B : ∀ᵐ (x : α) ∂Measure.restrict μ s, indicator t 1 x = 1
x : α
hx : Tendsto (fun a => ↑↑μ (toMeasurable μ s ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 1)
h'x : indicator (toMeasurable μ s) 1 x = 1
⊢ Tendsto (fun a => ↑↑μ (s ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 1)
[PROOFSTEP]
apply hx.congr' _
[GOAL]
α : 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 ρ
s : Set α
t : Set α := toMeasurable μ s
A : ∀ᵐ (x : α) ∂Measure.restrict μ s, Tendsto (fun a => ↑↑μ (t ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 (indicator t 1 x))
B : ∀ᵐ (x : α) ∂Measure.restrict μ s, indicator t 1 x = 1
x : α
hx : Tendsto (fun a => ↑↑μ (toMeasurable μ s ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 1)
h'x : indicator (toMeasurable μ s) 1 x = 1
⊢ (fun a => ↑↑μ (toMeasurable μ s ∩ a) / ↑↑μ a) =ᶠ[filterAt v x] fun a => ↑↑μ (s ∩ a) / ↑↑μ a
[PROOFSTEP]
filter_upwards [v.eventually_filterAt_measurableSet x] with _ ha
[GOAL]
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 ρ
s : Set α
t : Set α := toMeasurable μ s
A : ∀ᵐ (x : α) ∂Measure.restrict μ s, Tendsto (fun a => ↑↑μ (t ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 (indicator t 1 x))
B : ∀ᵐ (x : α) ∂Measure.restrict μ s, indicator t 1 x = 1
x : α
hx : Tendsto (fun a => ↑↑μ (toMeasurable μ s ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 1)
h'x : indicator (toMeasurable μ s) 1 x = 1
a✝ : Set α
ha : MeasurableSet a✝
⊢ ↑↑μ (toMeasurable μ s ∩ a✝) / ↑↑μ a✝ = ↑↑μ (s ∩ a✝) / ↑↑μ a✝
[PROOFSTEP]
congr 1
[GOAL]
case h.e_a
α : 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 ρ
s : Set α
t : Set α := toMeasurable μ s
A : ∀ᵐ (x : α) ∂Measure.restrict μ s, Tendsto (fun a => ↑↑μ (t ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 (indicator t 1 x))
B : ∀ᵐ (x : α) ∂Measure.restrict μ s, indicator t 1 x = 1
x : α
hx : Tendsto (fun a => ↑↑μ (toMeasurable μ s ∩ a) / ↑↑μ a) (filterAt v x) (𝓝 1)
h'x : indicator (toMeasurable μ s) 1 x = 1
a✝ : Set α
ha : MeasurableSet a✝
⊢ ↑↑μ (toMeasurable μ s ∩ a✝) = ↑↑μ (s ∩ a✝)
[PROOFSTEP]
exact measure_toMeasurable_inter_of_sigmaFinite ha _
[GOAL]
α : 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 : α → ℝ≥0∞
hf : Measurable f
h'f : ∫⁻ (y : α), f y ∂μ ≠ ⊤
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => (∫⁻ (y : α) in a, f y ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 (f x))
[PROOFSTEP]
let ρ := μ.withDensity f
[GOAL]
α : 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 : α → ℝ≥0∞
hf : Measurable f
h'f : ∫⁻ (y : α), f y ∂μ ≠ ⊤
ρ : Measure α := withDensity μ f
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => (∫⁻ (y : α) in a, f y ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 (f x))
[PROOFSTEP]
have : IsFiniteMeasure ρ := isFiniteMeasure_withDensity h'f
[GOAL]
α : 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 : α → ℝ≥0∞
hf : Measurable f
h'f : ∫⁻ (y : α), f y ∂μ ≠ ⊤
ρ : Measure α := withDensity μ f
this : IsFiniteMeasure ρ
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => (∫⁻ (y : α) in a, f y ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 (f x))
[PROOFSTEP]
filter_upwards [ae_tendsto_rnDeriv v ρ, rnDeriv_withDensity μ hf] with x hx h'x
[GOAL]
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 : α → ℝ≥0∞
hf : Measurable f
h'f : ∫⁻ (y : α), f y ∂μ ≠ ⊤
ρ : Measure α := withDensity μ f
this : IsFiniteMeasure ρ
x : α
hx : Tendsto (fun a => ↑↑(withDensity μ f) a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv (withDensity μ f) μ x))
h'x : rnDeriv (withDensity μ f) μ x = f x
⊢ Tendsto (fun a => (∫⁻ (y : α) in a, f y ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 (f x))
[PROOFSTEP]
rw [← h'x]
[GOAL]
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 : α → ℝ≥0∞
hf : Measurable f
h'f : ∫⁻ (y : α), f y ∂μ ≠ ⊤
ρ : Measure α := withDensity μ f
this : IsFiniteMeasure ρ
x : α
hx : Tendsto (fun a => ↑↑(withDensity μ f) a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv (withDensity μ f) μ x))
h'x : rnDeriv (withDensity μ f) μ x = f x
⊢ Tendsto (fun a => (∫⁻ (y : α) in a, f y ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv (withDensity μ f) μ x))
[PROOFSTEP]
apply hx.congr' _
[GOAL]
α : 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 : α → ℝ≥0∞
hf : Measurable f
h'f : ∫⁻ (y : α), f y ∂μ ≠ ⊤
ρ : Measure α := withDensity μ f
this : IsFiniteMeasure ρ
x : α
hx : Tendsto (fun a => ↑↑(withDensity μ f) a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv (withDensity μ f) μ x))
h'x : rnDeriv (withDensity μ f) μ x = f x
⊢ (fun a => ↑↑(withDensity μ f) a / ↑↑μ a) =ᶠ[filterAt v x] fun a => (∫⁻ (y : α) in a, f y ∂μ) / ↑↑μ a
[PROOFSTEP]
filter_upwards [v.eventually_filterAt_measurableSet x] with a ha
[GOAL]
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 : α → ℝ≥0∞
hf : Measurable f
h'f : ∫⁻ (y : α), f y ∂μ ≠ ⊤
ρ : Measure α := withDensity μ f
this : IsFiniteMeasure ρ
x : α
hx : Tendsto (fun a => ↑↑(withDensity μ f) a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv (withDensity μ f) μ x))
h'x : rnDeriv (withDensity μ f) μ x = f x
a : Set α
ha : MeasurableSet a
⊢ ↑↑(withDensity μ f) a / ↑↑μ a = (∫⁻ (y : α) in a, f y ∂μ) / ↑↑μ a
[PROOFSTEP]
rw [← withDensity_apply f ha]
[GOAL]
α : 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 : α → ℝ≥0∞
hf : AEMeasurable f
h'f : ∫⁻ (y : α), f y ∂μ ≠ ⊤
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => (∫⁻ (y : α) in a, f y ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 (f x))
[PROOFSTEP]
have A : (∫⁻ y, hf.mk f y ∂μ) ≠ ∞ := by
  convert h'f using 1
  apply lintegral_congr_ae
  exact hf.ae_eq_mk.symm
[GOAL]
α : 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 : α → ℝ≥0∞
hf : AEMeasurable f
h'f : ∫⁻ (y : α), f y ∂μ ≠ ⊤
⊢ ∫⁻ (y : α), AEMeasurable.mk f hf y ∂μ ≠ ⊤
[PROOFSTEP]
convert h'f using 1
[GOAL]
case h.e'_2
α : 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 : α → ℝ≥0∞
hf : AEMeasurable f
h'f : ∫⁻ (y : α), f y ∂μ ≠ ⊤
⊢ ∫⁻ (y : α), AEMeasurable.mk f hf y ∂μ = ∫⁻ (y : α), f y ∂μ
[PROOFSTEP]
apply lintegral_congr_ae
[GOAL]
case h.e'_2.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 : α → ℝ≥0∞
hf : AEMeasurable f
h'f : ∫⁻ (y : α), f y ∂μ ≠ ⊤
⊢ (fun a => AEMeasurable.mk f hf a) =ᶠ[ae μ] fun a => f a
[PROOFSTEP]
exact hf.ae_eq_mk.symm
[GOAL]
α : 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 : α → ℝ≥0∞
hf : AEMeasurable f
h'f : ∫⁻ (y : α), f y ∂μ ≠ ⊤
A : ∫⁻ (y : α), AEMeasurable.mk f hf y ∂μ ≠ ⊤
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => (∫⁻ (y : α) in a, f y ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 (f x))
[PROOFSTEP]
filter_upwards [v.ae_tendsto_lintegral_div' hf.measurable_mk A, hf.ae_eq_mk] with x hx h'x
[GOAL]
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 : α → ℝ≥0∞
hf : AEMeasurable f
h'f : ∫⁻ (y : α), f y ∂μ ≠ ⊤
A : ∫⁻ (y : α), AEMeasurable.mk f hf y ∂μ ≠ ⊤
x : α
hx : Tendsto (fun a => (∫⁻ (y : α) in a, AEMeasurable.mk f hf y ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 (AEMeasurable.mk f hf x))
h'x : f x = AEMeasurable.mk f hf x
⊢ Tendsto (fun a => (∫⁻ (y : α) in a, f y ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 (f x))
[PROOFSTEP]
rw [h'x]
[GOAL]
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 : α → ℝ≥0∞
hf : AEMeasurable f
h'f : ∫⁻ (y : α), f y ∂μ ≠ ⊤
A : ∫⁻ (y : α), AEMeasurable.mk f hf y ∂μ ≠ ⊤
x : α
hx : Tendsto (fun a => (∫⁻ (y : α) in a, AEMeasurable.mk f hf y ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 (AEMeasurable.mk f hf x))
h'x : f x = AEMeasurable.mk f hf x
⊢ Tendsto (fun a => (∫⁻ (y : α) in a, f y ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 (AEMeasurable.mk f hf x))
[PROOFSTEP]
convert hx using 1
[GOAL]
case h.e'_3
α : 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 : α → ℝ≥0∞
hf : AEMeasurable f
h'f : ∫⁻ (y : α), f y ∂μ ≠ ⊤
A : ∫⁻ (y : α), AEMeasurable.mk f hf y ∂μ ≠ ⊤
x : α
hx : Tendsto (fun a => (∫⁻ (y : α) in a, AEMeasurable.mk f hf y ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 (AEMeasurable.mk f hf x))
h'x : f x = AEMeasurable.mk f hf x
⊢ (fun a => (∫⁻ (y : α) in a, f y ∂μ) / ↑↑μ a) = fun a => (∫⁻ (y : α) in a, AEMeasurable.mk f hf y ∂μ) / ↑↑μ a
[PROOFSTEP]
ext1 a
[GOAL]
case h.e'_3.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 : α → ℝ≥0∞
hf : AEMeasurable f
h'f : ∫⁻ (y : α), f y ∂μ ≠ ⊤
A : ∫⁻ (y : α), AEMeasurable.mk f hf y ∂μ ≠ ⊤
x : α
hx : Tendsto (fun a => (∫⁻ (y : α) in a, AEMeasurable.mk f hf y ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 (AEMeasurable.mk f hf x))
h'x : f x = AEMeasurable.mk f hf x
a : Set α
⊢ (∫⁻ (y : α) in a, f y ∂μ) / ↑↑μ a = (∫⁻ (y : α) in a, AEMeasurable.mk f hf y ∂μ) / ↑↑μ a
[PROOFSTEP]
congr 1
[GOAL]
case h.e'_3.h.e_a
α : 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 : α → ℝ≥0∞
hf : AEMeasurable f
h'f : ∫⁻ (y : α), f y ∂μ ≠ ⊤
A : ∫⁻ (y : α), AEMeasurable.mk f hf y ∂μ ≠ ⊤
x : α
hx : Tendsto (fun a => (∫⁻ (y : α) in a, AEMeasurable.mk f hf y ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 (AEMeasurable.mk f hf x))
h'x : f x = AEMeasurable.mk f hf x
a : Set α
⊢ ∫⁻ (y : α) in a, f y ∂μ = ∫⁻ (y : α) in a, AEMeasurable.mk f hf y ∂μ
[PROOFSTEP]
apply lintegral_congr_ae
[GOAL]
case h.e'_3.h.e_a.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 : α → ℝ≥0∞
hf : AEMeasurable f
h'f : ∫⁻ (y : α), f y ∂μ ≠ ⊤
A : ∫⁻ (y : α), AEMeasurable.mk f hf y ∂μ ≠ ⊤
x : α
hx : Tendsto (fun a => (∫⁻ (y : α) in a, AEMeasurable.mk f hf y ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 (AEMeasurable.mk f hf x))
h'x : f x = AEMeasurable.mk f hf x
a : Set α
⊢ (fun a => f a) =ᶠ[ae (Measure.restrict μ a)] fun a => AEMeasurable.mk f hf a
[PROOFSTEP]
exact ae_restrict_of_ae hf.ae_eq_mk
[GOAL]
α : 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) (filterAt v x) (𝓝 0)
[PROOFSTEP]
let A := MeasureTheory.Measure.finiteSpanningSetsInOpen' μ
[GOAL]
α : 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) (filterAt v x) (𝓝 0)
[PROOFSTEP]
rcases h'f.isSeparable_range with ⟨t, t_count, ht⟩
[GOAL]
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 : Set.Countable t
ht : range f ⊆ closure t
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
[PROOFSTEP]
have main :
  ∀ᵐ x ∂μ,
    ∀ᵉ (n : ℕ) (c ∈ t),
      Tendsto (fun a => (∫⁻ y in a, ‖f y - (A.set n).indicator (fun _ => c) y‖₊ ∂μ) / μ a) (v.filterAt x)
        (𝓝 ‖f x - (A.set n).indicator (fun _ => c) x‖₊) :=
  by
  simp_rw [ae_all_iff, ae_ball_iff t_count]
  intro n c _
  apply ae_tendsto_lintegral_div'
  · refine' (h'f.sub _).ennnorm
    exact stronglyMeasurable_const.indicator (IsOpen.measurableSet (A.set_mem n))
  · apply ne_of_lt
    calc
      (∫⁻ y, ↑‖f y - (A.set n).indicator (fun _ : α => c) y‖₊ ∂μ) ≤
          ∫⁻ y, ‖f y‖₊ + ‖(A.set n).indicator (fun _ : α => c) y‖₊ ∂μ :=
        by
        apply lintegral_mono
        intro x
        dsimp
        rw [← ENNReal.coe_add]
        exact ENNReal.coe_le_coe.2 (nnnorm_sub_le _ _)
      _ = (∫⁻ y, ‖f y‖₊ ∂μ) + ∫⁻ y, ‖(A.set n).indicator (fun _ : α => c) y‖₊ ∂μ := (lintegral_add_left h'f.ennnorm _)
      _ < ∞ + ∞ :=
        haveI I : Integrable ((A.set n).indicator fun _ : α => c) μ := by
          simp only [integrable_indicator_iff (IsOpen.measurableSet (A.set_mem n)), integrableOn_const, A.finite n,
            or_true_iff]
        ENNReal.add_lt_add hf.2 I.2
[GOAL]
α : 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 : Set.Countable t
ht : range f ⊆ closure t
⊢ ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
[PROOFSTEP]
simp_rw [ae_all_iff, ae_ball_iff t_count]
[GOAL]
α : 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 : Set.Countable t
ht : range f ⊆ closure t
⊢ ∀ (i : ℕ) (i_1 : E),
    i_1 ∈ t →
      ∀ᵐ (x : α) ∂μ,
        Tendsto
          (fun a =>
            (∫⁻ (y : α) in a,
                ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) i) (fun x => i_1) y‖₊ ∂μ) /
              ↑↑μ a)
          (filterAt v x)
          (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) i) (fun x => i_1) x‖₊)
[PROOFSTEP]
intro n c _
[GOAL]
α : 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 : Set.Countable t
ht : range f ⊆ closure t
n : ℕ
c : E
hi✝ : c ∈ t
⊢ ∀ᵐ (x : α) ∂μ,
    Tendsto
      (fun a =>
        (∫⁻ (y : α) in a,
            ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
          ↑↑μ a)
      (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
[PROOFSTEP]
apply ae_tendsto_lintegral_div'
[GOAL]
case hf
α : 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 : Set.Countable t
ht : range f ⊆ closure t
n : ℕ
c : E
hi✝ : c ∈ t
⊢ Measurable fun y => ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊
[PROOFSTEP]
refine' (h'f.sub _).ennnorm
[GOAL]
case hf
α : 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 : Set.Countable t
ht : range f ⊆ closure t
n : ℕ
c : E
hi✝ : c ∈ t
⊢ StronglyMeasurable fun y => indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y
[PROOFSTEP]
exact stronglyMeasurable_const.indicator (IsOpen.measurableSet (A.set_mem n))
[GOAL]
case h'f
α : 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 : Set.Countable t
ht : range f ⊆ closure t
n : ℕ
c : E
hi✝ : c ∈ t
⊢ ∫⁻ (y : α), ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ ≠ ⊤
[PROOFSTEP]
apply ne_of_lt
[GOAL]
case h'f.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 : Set.Countable t
ht : range f ⊆ closure t
n : ℕ
c : E
hi✝ : c ∈ t
⊢ ∫⁻ (y : α), ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ < ⊤
[PROOFSTEP]
calc
  (∫⁻ y, ↑‖f y - (A.set n).indicator (fun _ : α => c) y‖₊ ∂μ) ≤
      ∫⁻ y, ‖f y‖₊ + ‖(A.set n).indicator (fun _ : α => c) y‖₊ ∂μ :=
    by
    apply lintegral_mono
    intro x
    dsimp
    rw [← ENNReal.coe_add]
    exact ENNReal.coe_le_coe.2 (nnnorm_sub_le _ _)
  _ = (∫⁻ y, ‖f y‖₊ ∂μ) + ∫⁻ y, ‖(A.set n).indicator (fun _ : α => c) y‖₊ ∂μ := (lintegral_add_left h'f.ennnorm _)
  _ < ∞ + ∞ :=
    haveI I : Integrable ((A.set n).indicator fun _ : α => c) μ := by
      simp only [integrable_indicator_iff (IsOpen.measurableSet (A.set_mem n)), integrableOn_const, A.finite n,
        or_true_iff]
    ENNReal.add_lt_add hf.2 I.2
[GOAL]
α : 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 : Set.Countable t
ht : range f ⊆ closure t
n : ℕ
c : E
hi✝ : c ∈ t
⊢ ∫⁻ (y : α), ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ ≤
    ∫⁻ (y : α), ↑‖f y‖₊ + ↑‖indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ
[PROOFSTEP]
apply lintegral_mono
[GOAL]
case hfg
α : 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 : Set.Countable t
ht : range f ⊆ closure t
n : ℕ
c : E
hi✝ : c ∈ t
⊢ (fun a => ↑‖f a - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) a‖₊) ≤ fun a =>
    ↑‖f a‖₊ + ↑‖indicator (FiniteSpanningSetsIn.set A n) (fun x => c) a‖₊
[PROOFSTEP]
intro x
[GOAL]
case hfg
α : 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 : Set.Countable t
ht : range f ⊆ closure t
n : ℕ
c : E
hi✝ : c ∈ t
x : α
⊢ (fun a => ↑‖f a - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) a‖₊) x ≤
    (fun a => ↑‖f a‖₊ + ↑‖indicator (FiniteSpanningSetsIn.set A n) (fun x => c) a‖₊) x
[PROOFSTEP]
dsimp
[GOAL]
case hfg
α : 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 : Set.Countable t
ht : range f ⊆ closure t
n : ℕ
c : E
hi✝ : c ∈ t
x : α
⊢ ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊ ≤
    ↑‖f x‖₊ + ↑‖indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊
[PROOFSTEP]
rw [← ENNReal.coe_add]
[GOAL]
case hfg
α : 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 : Set.Countable t
ht : range f ⊆ closure t
n : ℕ
c : E
hi✝ : c ∈ t
x : α
⊢ ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊ ≤
    ↑(‖f x‖₊ + ‖indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
[PROOFSTEP]
exact ENNReal.coe_le_coe.2 (nnnorm_sub_le _ _)
[GOAL]
α : 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 : Set.Countable t
ht : range f ⊆ closure t
n : ℕ
c : E
hi✝ : c ∈ t
⊢ Integrable (indicator (FiniteSpanningSetsIn.set A n) fun x => c)
[PROOFSTEP]
simp only [integrable_indicator_iff (IsOpen.measurableSet (A.set_mem n)), integrableOn_const, A.finite n, or_true_iff]
[GOAL]
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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
[PROOFSTEP]
filter_upwards [main, v.ae_eventually_measure_pos] with x hx h'x
[GOAL]
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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
⊢ Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
[PROOFSTEP]
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 set_lintegral_congr_fun h'a
  apply eventually_of_forall fun y => ?_
  intro hy
  simp only [ha hy, indicator_of_mem]
[GOAL]
α : 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
⊢ ∀ (c : E), c ∈ t → Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 ↑‖f x - c‖₊)
[PROOFSTEP]
intro c hc
[GOAL]
α : 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
c : E
hc : c ∈ t
⊢ Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 ↑‖f x - c‖₊)
[PROOFSTEP]
obtain ⟨n, xn⟩ : ∃ n, x ∈ A.set n := by simpa [← A.spanning] using mem_univ x
[GOAL]
α : 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
c : E
hc : c ∈ t
⊢ ∃ n, x ∈ FiniteSpanningSetsIn.set A n
[PROOFSTEP]
simpa [← A.spanning] using mem_univ x
[GOAL]
case 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
c : E
hc : c ∈ t
n : ℕ
xn : x ∈ FiniteSpanningSetsIn.set A n
⊢ Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 ↑‖f x - c‖₊)
[PROOFSTEP]
specialize hx n c hc
[GOAL]
case 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
c : E
hc : c ∈ t
n : ℕ
xn : x ∈ FiniteSpanningSetsIn.set A n
hx :
  Tendsto
    (fun a =>
      (∫⁻ (y : α) in a,
          ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
        ↑↑μ a)
    (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
⊢ Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 ↑‖f x - c‖₊)
[PROOFSTEP]
simp only [xn, indicator_of_mem] at hx 
[GOAL]
case 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
c : E
hc : c ∈ t
n : ℕ
xn : x ∈ FiniteSpanningSetsIn.set A n
hx :
  Tendsto
    (fun a =>
      (∫⁻ (y : α) in a,
          ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
        ↑↑μ a)
    (filterAt v x) (𝓝 ↑‖f x - c‖₊)
⊢ Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 ↑‖f x - c‖₊)
[PROOFSTEP]
apply hx.congr' _
[GOAL]
α : 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
c : E
hc : c ∈ t
n : ℕ
xn : x ∈ FiniteSpanningSetsIn.set A n
hx :
  Tendsto
    (fun a =>
      (∫⁻ (y : α) in a,
          ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
        ↑↑μ a)
    (filterAt v x) (𝓝 ↑‖f x - c‖₊)
⊢ (fun a =>
      (∫⁻ (y : α) in a,
          ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
        ↑↑μ a) =ᶠ[filterAt v x]
    fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a
[PROOFSTEP]
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
[GOAL]
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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
c : E
hc : c ∈ t
n : ℕ
xn : x ∈ FiniteSpanningSetsIn.set A n
hx :
  Tendsto
    (fun a =>
      (∫⁻ (y : α) in a,
          ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
        ↑↑μ a)
    (filterAt v x) (𝓝 ↑‖f x - c‖₊)
a : Set α
ha : a ⊆ FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n
h'a : MeasurableSet a
⊢ (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
      ↑↑μ a =
    (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a
[PROOFSTEP]
congr 1
[GOAL]
case h.e_a
α : 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
c : E
hc : c ∈ t
n : ℕ
xn : x ∈ FiniteSpanningSetsIn.set A n
hx :
  Tendsto
    (fun a =>
      (∫⁻ (y : α) in a,
          ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
        ↑↑μ a)
    (filterAt v x) (𝓝 ↑‖f x - c‖₊)
a : Set α
ha : a ⊆ FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n
h'a : MeasurableSet a
⊢ ∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ =
    ∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ
[PROOFSTEP]
apply set_lintegral_congr_fun h'a
[GOAL]
case h.e_a
α : 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
c : E
hc : c ∈ t
n : ℕ
xn : x ∈ FiniteSpanningSetsIn.set A n
hx :
  Tendsto
    (fun a =>
      (∫⁻ (y : α) in a,
          ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
        ↑↑μ a)
    (filterAt v x) (𝓝 ↑‖f x - c‖₊)
a : Set α
ha : a ⊆ FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n
h'a : MeasurableSet a
⊢ ∀ᵐ (x : α) ∂μ,
    x ∈ a → ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊ = ↑‖f x - c‖₊
[PROOFSTEP]
apply eventually_of_forall fun y => ?_
[GOAL]
α : 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
c : E
hc : c ∈ t
n : ℕ
xn : x ∈ FiniteSpanningSetsIn.set A n
hx :
  Tendsto
    (fun a =>
      (∫⁻ (y : α) in a,
          ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
        ↑↑μ a)
    (filterAt v x) (𝓝 ↑‖f x - c‖₊)
a : Set α
ha : a ⊆ FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n
h'a : MeasurableSet a
y : α
⊢ y ∈ a → ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ = ↑‖f y - c‖₊
[PROOFSTEP]
intro hy
[GOAL]
α : 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
c : E
hc : c ∈ t
n : ℕ
xn : x ∈ FiniteSpanningSetsIn.set A n
hx :
  Tendsto
    (fun a =>
      (∫⁻ (y : α) in a,
          ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
        ↑↑μ a)
    (filterAt v x) (𝓝 ↑‖f x - c‖₊)
a : Set α
ha : a ⊆ FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n
h'a : MeasurableSet a
y : α
hy : y ∈ a
⊢ ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ = ↑‖f y - c‖₊
[PROOFSTEP]
simp only [ha hy, indicator_of_mem]
[GOAL]
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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
M : ∀ (c : E), c ∈ t → Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 ↑‖f x - c‖₊)
⊢ Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
[PROOFSTEP]
apply ENNReal.tendsto_nhds_zero.2 fun ε εpos => ?_
[GOAL]
α : 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
M : ∀ (c : E), c ∈ t → Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 ↑‖f x - c‖₊)
ε : ℝ≥0∞
εpos : ε > 0
⊢ ∀ᶠ (x_1 : Set α) in filterAt v x, (∫⁻ (y : α) in x_1, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ x_1 ≤ ε
[PROOFSTEP]
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))
[GOAL]
α : 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
M : ∀ (c : E), c ∈ t → Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 ↑‖f x - c‖₊)
ε : ℝ≥0∞
εpos : ε > 0
⊢ ∃ c, c ∈ t ∧ ↑‖f x - c‖₊ < ε / 2
[PROOFSTEP]
simp_rw [← edist_eq_coe_nnnorm_sub]
[GOAL]
α : 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
M : ∀ (c : E), c ∈ t → Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 ↑‖f x - c‖₊)
ε : ℝ≥0∞
εpos : ε > 0
⊢ ∃ c, c ∈ t ∧ edist (f x) c < ε / 2
[PROOFSTEP]
have : f x ∈ closure t := ht (mem_range_self _)
[GOAL]
α : 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
M : ∀ (c : E), c ∈ t → Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 ↑‖f x - c‖₊)
ε : ℝ≥0∞
εpos : ε > 0
this : f x ∈ closure t
⊢ ∃ c, c ∈ t ∧ edist (f x) c < ε / 2
[PROOFSTEP]
exact EMetric.mem_closure_iff.1 this (ε / 2) (ENNReal.half_pos (ne_of_gt εpos))
[GOAL]
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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
M : ∀ (c : E), c ∈ t → Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 ↑‖f x - c‖₊)
ε : ℝ≥0∞
εpos : ε > 0
c : E
ct : c ∈ t
xc : ↑‖f x - c‖₊ < ε / 2
⊢ ∀ᶠ (x_1 : Set α) in filterAt v x, (∫⁻ (y : α) in x_1, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ x_1 ≤ ε
[PROOFSTEP]
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
[GOAL]
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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
M : ∀ (c : E), c ∈ t → Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v 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 ≤ ε
[PROOFSTEP]
apply ENNReal.div_le_of_le_mul
[GOAL]
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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
M : ∀ (c : E), c ∈ t → Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v 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
[PROOFSTEP]
calc
  (∫⁻ y in a, ‖f y - f x‖₊ ∂μ) ≤ ∫⁻ y in a, ‖f y - c‖₊ + ‖f x - c‖₊ ∂μ :=
    by
    apply lintegral_mono fun x => ?_
    simpa only [← edist_eq_coe_nnnorm_sub] using edist_triangle_right _ _ _
  _ = (∫⁻ y in a, ‖f y - c‖₊ ∂μ) + ∫⁻ _ in a, ‖f x - c‖₊ ∂μ := (lintegral_add_right _ measurable_const)
  _ ≤ ε / 2 * μ a + ε / 2 * μ a := by
    refine' add_le_add _ _
    · rw [ENNReal.div_lt_iff (Or.inl h'a.ne') (Or.inl h''a.ne)] at ha 
      exact ha.le
    · simp only [lintegral_const, Measure.restrict_apply, MeasurableSet.univ, univ_inter]
      exact mul_le_mul_right' xc.le _
  _ = ε * μ a := by rw [← add_mul, ENNReal.add_halves]
[GOAL]
α : 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
M : ∀ (c : E), c ∈ t → Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v 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‖₊ ∂μ ≤ ∫⁻ (y : α) in a, ↑‖f y - c‖₊ + ↑‖f x - c‖₊ ∂μ
[PROOFSTEP]
apply lintegral_mono fun x => ?_
[GOAL]
α : 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x✝ : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x✝)
        (𝓝 ↑‖f x✝ - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x✝‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x✝, 0 < ↑↑μ a
M : ∀ (c : E), c ∈ t → Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v 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 < ⊤
x : α
⊢ ↑‖f x - f x✝‖₊ ≤ ↑‖f x - c‖₊ + ↑‖f x✝ - c‖₊
[PROOFSTEP]
simpa only [← edist_eq_coe_nnnorm_sub] using edist_triangle_right _ _ _
[GOAL]
α : 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
M : ∀ (c : E), c ∈ t → Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v 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 - c‖₊ ∂μ + ∫⁻ (x_1 : α) in a, ↑‖f x - c‖₊ ∂μ ≤ ε / 2 * ↑↑μ a + ε / 2 * ↑↑μ a
[PROOFSTEP]
refine' add_le_add _ _
[GOAL]
case refine'_1
α : 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
M : ∀ (c : E), c ∈ t → Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v 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 - c‖₊ ∂μ ≤ ε / 2 * ↑↑μ a
[PROOFSTEP]
rw [ENNReal.div_lt_iff (Or.inl h'a.ne') (Or.inl h''a.ne)] at ha 
[GOAL]
case refine'_1
α : 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
M : ∀ (c : E), c ∈ t → Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v 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‖₊ ∂μ < ε / 2 * ↑↑μ a
h'a : 0 < ↑↑μ a
h''a : ↑↑μ a < ⊤
⊢ ∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ ≤ ε / 2 * ↑↑μ a
[PROOFSTEP]
exact ha.le
[GOAL]
case refine'_2
α : 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
M : ∀ (c : E), c ∈ t → Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v 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 < ⊤
⊢ ∫⁻ (x_1 : α) in a, ↑‖f x - c‖₊ ∂μ ≤ ε / 2 * ↑↑μ a
[PROOFSTEP]
simp only [lintegral_const, Measure.restrict_apply, MeasurableSet.univ, univ_inter]
[GOAL]
case refine'_2
α : 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
M : ∀ (c : E), c ∈ t → Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v 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 < ⊤
⊢ ↑‖f x - c‖₊ * ↑↑μ a ≤ ε / 2 * ↑↑μ a
[PROOFSTEP]
exact mul_le_mul_right' xc.le _
[GOAL]
α : 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 : Set.Countable t
ht : range f ⊆ closure t
main :
  ∀ᵐ (x : α) ∂μ,
    ∀ (n : ℕ) (c : E),
      c ∈ t →
        Tendsto
          (fun a => (∫⁻ (y : α) in a, ↑‖f y - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) y‖₊ ∂μ) / ↑↑μ a)
          (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set A n) (fun x => c) x‖₊)
x : α
hx :
  ∀ (n : ℕ) (c : E),
    c ∈ t →
      Tendsto
        (fun a =>
          (∫⁻ (y : α) in a,
              ↑‖f y - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) y‖₊ ∂μ) /
            ↑↑μ a)
        (filterAt v x) (𝓝 ↑‖f x - indicator (FiniteSpanningSetsIn.set (finiteSpanningSetsInOpen' μ) n) (fun x => c) x‖₊)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
M : ∀ (c : E), c ∈ t → Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - c‖₊ ∂μ) / ↑↑μ a) (filterAt v 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 < ⊤
⊢ ε / 2 * ↑↑μ a + ε / 2 * ↑↑μ a = ε * ↑↑μ a
[PROOFSTEP]
rw [← add_mul, ENNReal.add_halves]
[GOAL]
α : 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
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
[PROOFSTEP]
have I : Integrable (hf.1.mk f) μ := hf.congr hf.1.ae_eq_mk
[GOAL]
α : 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
I : Integrable (AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ))
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
[PROOFSTEP]
filter_upwards [v.ae_tendsto_lintegral_nnnorm_sub_div'_of_integrable I hf.1.stronglyMeasurable_mk, hf.1.ae_eq_mk] with x
  hx h'x
[GOAL]
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
I : Integrable (AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ))
x : α
hx :
  Tendsto
    (fun a =>
      (∫⁻ (y : α) in a,
          ↑‖AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) y -
                AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) x‖₊ ∂μ) /
        ↑↑μ a)
    (filterAt v x) (𝓝 0)
h'x : f x = AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) x
⊢ Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
[PROOFSTEP]
apply hx.congr _
[GOAL]
α : 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
I : Integrable (AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ))
x : α
hx :
  Tendsto
    (fun a =>
      (∫⁻ (y : α) in a,
          ↑‖AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) y -
                AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) x‖₊ ∂μ) /
        ↑↑μ a)
    (filterAt v x) (𝓝 0)
h'x : f x = AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) x
⊢ ∀ (x_1 : Set α),
    (∫⁻ (y : α) in x_1,
          ↑‖AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) y -
                AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) x‖₊ ∂μ) /
        ↑↑μ x_1 =
      (∫⁻ (y : α) in x_1, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ x_1
[PROOFSTEP]
intro a
[GOAL]
α : 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
I : Integrable (AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ))
x : α
hx :
  Tendsto
    (fun a =>
      (∫⁻ (y : α) in a,
          ↑‖AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) y -
                AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) x‖₊ ∂μ) /
        ↑↑μ a)
    (filterAt v x) (𝓝 0)
h'x : f x = AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) x
a : Set α
⊢ (∫⁻ (y : α) in a,
        ↑‖AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) y -
              AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) x‖₊ ∂μ) /
      ↑↑μ a =
    (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a
[PROOFSTEP]
congr 1
[GOAL]
case e_a
α : 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
I : Integrable (AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ))
x : α
hx :
  Tendsto
    (fun a =>
      (∫⁻ (y : α) in a,
          ↑‖AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) y -
                AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) x‖₊ ∂μ) /
        ↑↑μ a)
    (filterAt v x) (𝓝 0)
h'x : f x = AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) x
a : Set α
⊢ ∫⁻ (y : α) in a,
      ↑‖AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) y -
            AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) x‖₊ ∂μ =
    ∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ
[PROOFSTEP]
apply lintegral_congr_ae
[GOAL]
case e_a.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
I : Integrable (AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ))
x : α
hx :
  Tendsto
    (fun a =>
      (∫⁻ (y : α) in a,
          ↑‖AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) y -
                AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) x‖₊ ∂μ) /
        ↑↑μ a)
    (filterAt v x) (𝓝 0)
h'x : f x = AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) x
a : Set α
⊢ (fun a =>
      ↑‖AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) a -
            AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) x‖₊) =ᶠ[ae (Measure.restrict μ a)]
    fun a => ↑‖f a - f x‖₊
[PROOFSTEP]
apply ae_restrict_of_ae
[GOAL]
case e_a.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
I : Integrable (AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ))
x : α
hx :
  Tendsto
    (fun a =>
      (∫⁻ (y : α) in a,
          ↑‖AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) y -
                AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) x‖₊ ∂μ) /
        ↑↑μ a)
    (filterAt v x) (𝓝 0)
h'x : f x = AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) x
a : Set α
⊢ ∀ᵐ (x_1 : α) ∂μ,
    (fun a =>
          ↑‖AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) a -
                AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) x‖₊)
        x_1 =
      (fun a => ↑‖f a - f x‖₊) x_1
[PROOFSTEP]
filter_upwards [hf.1.ae_eq_mk] with y hy
[GOAL]
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
I : Integrable (AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ))
x : α
hx :
  Tendsto
    (fun a =>
      (∫⁻ (y : α) in a,
          ↑‖AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) y -
                AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) x‖₊ ∂μ) /
        ↑↑μ a)
    (filterAt v x) (𝓝 0)
h'x : f x = AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) x
a : Set α
y : α
hy : f y = AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) y
⊢ ↑‖AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) y -
          AEStronglyMeasurable.mk f (_ : AEStronglyMeasurable f μ) x‖₊ =
    ↑‖f y - f x‖₊
[PROOFSTEP]
rw [hy, h'x]
[GOAL]
α : 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 : LocallyIntegrable f
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
[PROOFSTEP]
rcases hf.exists_nat_integrableOn with ⟨u, u_open, u_univ, hu⟩
[GOAL]
case intro.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 : LocallyIntegrable f
u : ℕ → Set α
u_open : ∀ (n : ℕ), IsOpen (u n)
u_univ : ⋃ (n : ℕ), u n = univ
hu : ∀ (n : ℕ), IntegrableOn f (u n)
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
[PROOFSTEP]
have :
  ∀ n,
    ∀ᵐ x ∂μ,
      Tendsto (fun a => (∫⁻ y in a, ‖(u n).indicator f y - (u n).indicator f x‖₊ ∂μ) / μ a) (v.filterAt x) (𝓝 0) :=
  by
  intro n
  apply ae_tendsto_lintegral_nnnorm_sub_div_of_integrable
  exact (integrable_indicator_iff (u_open n).measurableSet).2 (hu n)
[GOAL]
α : 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 : LocallyIntegrable f
u : ℕ → Set α
u_open : ∀ (n : ℕ), IsOpen (u n)
u_univ : ⋃ (n : ℕ), u n = univ
hu : ∀ (n : ℕ), IntegrableOn f (u n)
⊢ ∀ (n : ℕ),
    ∀ᵐ (x : α) ∂μ,
      Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖indicator (u n) f y - indicator (u n) f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x)
        (𝓝 0)
[PROOFSTEP]
intro n
[GOAL]
α : 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 : LocallyIntegrable f
u : ℕ → Set α
u_open : ∀ (n : ℕ), IsOpen (u n)
u_univ : ⋃ (n : ℕ), u n = univ
hu : ∀ (n : ℕ), IntegrableOn f (u n)
n : ℕ
⊢ ∀ᵐ (x : α) ∂μ,
    Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖indicator (u n) f y - indicator (u n) f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
[PROOFSTEP]
apply ae_tendsto_lintegral_nnnorm_sub_div_of_integrable
[GOAL]
case hf
α : 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 : LocallyIntegrable f
u : ℕ → Set α
u_open : ∀ (n : ℕ), IsOpen (u n)
u_univ : ⋃ (n : ℕ), u n = univ
hu : ∀ (n : ℕ), IntegrableOn f (u n)
n : ℕ
⊢ Integrable fun y => indicator (u n) f y
[PROOFSTEP]
exact (integrable_indicator_iff (u_open n).measurableSet).2 (hu n)
[GOAL]
case intro.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 : LocallyIntegrable f
u : ℕ → Set α
u_open : ∀ (n : ℕ), IsOpen (u n)
u_univ : ⋃ (n : ℕ), u n = univ
hu : ∀ (n : ℕ), IntegrableOn f (u n)
this :
  ∀ (n : ℕ),
    ∀ᵐ (x : α) ∂μ,
      Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖indicator (u n) f y - indicator (u n) f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x)
        (𝓝 0)
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
[PROOFSTEP]
filter_upwards [ae_all_iff.2 this] with x hx
[GOAL]
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 : LocallyIntegrable f
u : ℕ → Set α
u_open : ∀ (n : ℕ), IsOpen (u n)
u_univ : ⋃ (n : ℕ), u n = univ
hu : ∀ (n : ℕ), IntegrableOn f (u n)
this :
  ∀ (n : ℕ),
    ∀ᵐ (x : α) ∂μ,
      Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖indicator (u n) f y - indicator (u n) f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x)
        (𝓝 0)
x : α
hx :
  ∀ (i : ℕ),
    Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖indicator (u i) f y - indicator (u i) f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
⊢ Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
[PROOFSTEP]
obtain ⟨n, hn⟩ : ∃ n, x ∈ u n := by simpa only [← u_univ, mem_iUnion] using mem_univ x
[GOAL]
α : 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 : LocallyIntegrable f
u : ℕ → Set α
u_open : ∀ (n : ℕ), IsOpen (u n)
u_univ : ⋃ (n : ℕ), u n = univ
hu : ∀ (n : ℕ), IntegrableOn f (u n)
this :
  ∀ (n : ℕ),
    ∀ᵐ (x : α) ∂μ,
      Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖indicator (u n) f y - indicator (u n) f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x)
        (𝓝 0)
x : α
hx :
  ∀ (i : ℕ),
    Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖indicator (u i) f y - indicator (u i) f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
⊢ ∃ n, x ∈ u n
[PROOFSTEP]
simpa only [← u_univ, mem_iUnion] using mem_univ x
[GOAL]
case h.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 : LocallyIntegrable f
u : ℕ → Set α
u_open : ∀ (n : ℕ), IsOpen (u n)
u_univ : ⋃ (n : ℕ), u n = univ
hu : ∀ (n : ℕ), IntegrableOn f (u n)
this :
  ∀ (n : ℕ),
    ∀ᵐ (x : α) ∂μ,
      Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖indicator (u n) f y - indicator (u n) f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x)
        (𝓝 0)
x : α
hx :
  ∀ (i : ℕ),
    Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖indicator (u i) f y - indicator (u i) f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
n : ℕ
hn : x ∈ u n
⊢ Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
[PROOFSTEP]
apply Tendsto.congr' _ (hx n)
[GOAL]
α : 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 : LocallyIntegrable f
u : ℕ → Set α
u_open : ∀ (n : ℕ), IsOpen (u n)
u_univ : ⋃ (n : ℕ), u n = univ
hu : ∀ (n : ℕ), IntegrableOn f (u n)
this :
  ∀ (n : ℕ),
    ∀ᵐ (x : α) ∂μ,
      Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖indicator (u n) f y - indicator (u n) f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x)
        (𝓝 0)
x : α
hx :
  ∀ (i : ℕ),
    Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖indicator (u i) f y - indicator (u i) f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
n : ℕ
hn : x ∈ u n
⊢ (fun a => (∫⁻ (y : α) in a, ↑‖indicator (u n) f y - indicator (u n) f x‖₊ ∂μ) / ↑↑μ a) =ᶠ[filterAt v x] fun a =>
    (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a
[PROOFSTEP]
filter_upwards [v.eventually_filterAt_subset_of_nhds ((u_open n).mem_nhds hn),
  v.eventually_filterAt_measurableSet x] with a ha h'a
[GOAL]
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 : LocallyIntegrable f
u : ℕ → Set α
u_open : ∀ (n : ℕ), IsOpen (u n)
u_univ : ⋃ (n : ℕ), u n = univ
hu : ∀ (n : ℕ), IntegrableOn f (u n)
this :
  ∀ (n : ℕ),
    ∀ᵐ (x : α) ∂μ,
      Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖indicator (u n) f y - indicator (u n) f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x)
        (𝓝 0)
x : α
hx :
  ∀ (i : ℕ),
    Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖indicator (u i) f y - indicator (u i) f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
n : ℕ
hn : x ∈ u n
a : Set α
ha : a ⊆ u n
h'a : MeasurableSet a
⊢ (∫⁻ (y : α) in a, ↑‖indicator (u n) f y - indicator (u n) f x‖₊ ∂μ) / ↑↑μ a =
    (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a
[PROOFSTEP]
congr 1
[GOAL]
case h.e_a
α : 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 : LocallyIntegrable f
u : ℕ → Set α
u_open : ∀ (n : ℕ), IsOpen (u n)
u_univ : ⋃ (n : ℕ), u n = univ
hu : ∀ (n : ℕ), IntegrableOn f (u n)
this :
  ∀ (n : ℕ),
    ∀ᵐ (x : α) ∂μ,
      Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖indicator (u n) f y - indicator (u n) f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x)
        (𝓝 0)
x : α
hx :
  ∀ (i : ℕ),
    Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖indicator (u i) f y - indicator (u i) f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
n : ℕ
hn : x ∈ u n
a : Set α
ha : a ⊆ u n
h'a : MeasurableSet a
⊢ ∫⁻ (y : α) in a, ↑‖indicator (u n) f y - indicator (u n) f x‖₊ ∂μ = ∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ
[PROOFSTEP]
refine' set_lintegral_congr_fun h'a (eventually_of_forall (fun y hy ↦ _))
[GOAL]
case h.e_a
α : 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 : LocallyIntegrable f
u : ℕ → Set α
u_open : ∀ (n : ℕ), IsOpen (u n)
u_univ : ⋃ (n : ℕ), u n = univ
hu : ∀ (n : ℕ), IntegrableOn f (u n)
this :
  ∀ (n : ℕ),
    ∀ᵐ (x : α) ∂μ,
      Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖indicator (u n) f y - indicator (u n) f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x)
        (𝓝 0)
x : α
hx :
  ∀ (i : ℕ),
    Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖indicator (u i) f y - indicator (u i) f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
n : ℕ
hn : x ∈ u n
a : Set α
ha : a ⊆ u n
h'a : MeasurableSet a
y : α
hy : y ∈ a
⊢ ↑‖indicator (u n) f y - indicator (u n) f x‖₊ = ↑‖f y - f x‖₊
[PROOFSTEP]
rw [indicator_of_mem (ha hy) f, indicator_of_mem hn f]
[GOAL]
α : 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 ρ
x : α
f : α → E
hf : LocallyIntegrable f
⊢ ∀ᶠ (a : Set α) in filterAt v x, IntegrableOn f a
[PROOFSTEP]
rcases hf x with ⟨w, w_nhds, hw⟩
[GOAL]
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 ρ
x : α
f : α → E
hf : LocallyIntegrable f
w : Set α
w_nhds : w ∈ 𝓝 x
hw : IntegrableOn f w
⊢ ∀ᶠ (a : Set α) in filterAt v x, IntegrableOn f a
[PROOFSTEP]
filter_upwards [v.eventually_filterAt_subset_of_nhds w_nhds] with a ha
[GOAL]
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 ρ
x : α
f : α → E
hf : LocallyIntegrable f
w : Set α
w_nhds : w ∈ 𝓝 x
hw : IntegrableOn f w
a : Set α
ha : a ⊆ w
⊢ IntegrableOn f a
[PROOFSTEP]
exact hw.mono_set ha
[GOAL]
α : 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 : LocallyIntegrable f
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ⨍ (y : α) in a, ‖f y - f x‖ ∂μ) (filterAt v x) (𝓝 0)
[PROOFSTEP]
filter_upwards [v.ae_tendsto_lintegral_nnnorm_sub_div hf] with x hx
[GOAL]
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 : LocallyIntegrable f
x : α
hx : Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
⊢ Tendsto (fun a => ⨍ (y : α) in a, ‖f y - f x‖ ∂μ) (filterAt v x) (𝓝 0)
[PROOFSTEP]
have := (ENNReal.tendsto_toReal ENNReal.zero_ne_top).comp hx
[GOAL]
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 : LocallyIntegrable f
x : α
hx : Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
this :
  Tendsto (ENNReal.toReal ∘ fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 (ENNReal.toReal 0))
⊢ Tendsto (fun a => ⨍ (y : α) in a, ‖f y - f x‖ ∂μ) (filterAt v x) (𝓝 0)
[PROOFSTEP]
simp only [ENNReal.zero_toReal] at this 
[GOAL]
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 : LocallyIntegrable f
x : α
hx : Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
this : Tendsto (ENNReal.toReal ∘ fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
⊢ Tendsto (fun a => ⨍ (y : α) in a, ‖f y - f x‖ ∂μ) (filterAt v x) (𝓝 0)
[PROOFSTEP]
apply Tendsto.congr' _ this
[GOAL]
α : 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 : LocallyIntegrable f
x : α
hx : Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
this : Tendsto (ENNReal.toReal ∘ fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
⊢ (ENNReal.toReal ∘ fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) =ᶠ[filterAt v x] fun a =>
    ⨍ (y : α) in a, ‖f y - f x‖ ∂μ
[PROOFSTEP]
filter_upwards [v.eventually_measure_lt_top x, v.eventually_filterAt_integrableOn x hf] with a h'a h''a
[GOAL]
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 : LocallyIntegrable f
x : α
hx : Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
this : Tendsto (ENNReal.toReal ∘ fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
a : Set α
h'a : ↑↑μ a < ⊤
h''a : IntegrableOn f a
⊢ (ENNReal.toReal ∘ fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) a = ⨍ (y : α) in a, ‖f y - f x‖ ∂μ
[PROOFSTEP]
simp only [Function.comp_apply, ENNReal.toReal_div, setAverage_eq, div_eq_inv_mul]
[GOAL]
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 : LocallyIntegrable f
x : α
hx : Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
this : Tendsto (ENNReal.toReal ∘ fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
a : Set α
h'a : ↑↑μ a < ⊤
h''a : IntegrableOn f a
⊢ (ENNReal.toReal (↑↑μ a))⁻¹ * ENNReal.toReal (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) =
    (ENNReal.toReal (↑↑μ a))⁻¹ • ∫ (y : α) in a, ‖f y - f x‖ ∂μ
[PROOFSTEP]
have A : IntegrableOn (fun y => (‖f y - f x‖₊ : ℝ)) a μ :=
  by
  simp_rw [coe_nnnorm]
  exact (h''a.sub (integrableOn_const.2 (Or.inr h'a))).norm
[GOAL]
α : 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 : LocallyIntegrable f
x : α
hx : Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
this : Tendsto (ENNReal.toReal ∘ fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
a : Set α
h'a : ↑↑μ a < ⊤
h''a : IntegrableOn f a
⊢ IntegrableOn (fun y => ↑‖f y - f x‖₊) a
[PROOFSTEP]
simp_rw [coe_nnnorm]
[GOAL]
α : 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 : LocallyIntegrable f
x : α
hx : Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
this : Tendsto (ENNReal.toReal ∘ fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
a : Set α
h'a : ↑↑μ a < ⊤
h''a : IntegrableOn f a
⊢ IntegrableOn (fun y => ‖f y - f x‖) a
[PROOFSTEP]
exact (h''a.sub (integrableOn_const.2 (Or.inr h'a))).norm
[GOAL]
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 : LocallyIntegrable f
x : α
hx : Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
this : Tendsto (ENNReal.toReal ∘ fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
a : Set α
h'a : ↑↑μ a < ⊤
h''a : IntegrableOn f a
A : IntegrableOn (fun y => ↑‖f y - f x‖₊) a
⊢ (ENNReal.toReal (↑↑μ a))⁻¹ * ENNReal.toReal (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) =
    (ENNReal.toReal (↑↑μ a))⁻¹ • ∫ (y : α) in a, ‖f y - f x‖ ∂μ
[PROOFSTEP]
rw [lintegral_coe_eq_integral _ A, ENNReal.toReal_ofReal]
[GOAL]
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 : LocallyIntegrable f
x : α
hx : Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
this : Tendsto (ENNReal.toReal ∘ fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
a : Set α
h'a : ↑↑μ a < ⊤
h''a : IntegrableOn f a
A : IntegrableOn (fun y => ↑‖f y - f x‖₊) a
⊢ (ENNReal.toReal (↑↑μ a))⁻¹ * ∫ (a : α) in a, ↑‖f a - f x‖₊ ∂μ =
    (ENNReal.toReal (↑↑μ a))⁻¹ • ∫ (y : α) in a, ‖f y - f x‖ ∂μ
[PROOFSTEP]
simp_rw [coe_nnnorm]
[GOAL]
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 : LocallyIntegrable f
x : α
hx : Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
this : Tendsto (ENNReal.toReal ∘ fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
a : Set α
h'a : ↑↑μ a < ⊤
h''a : IntegrableOn f a
A : IntegrableOn (fun y => ↑‖f y - f x‖₊) a
⊢ (ENNReal.toReal (↑↑μ a))⁻¹ * ∫ (a : α) in a, ‖f a - f x‖ ∂μ =
    (ENNReal.toReal (↑↑μ a))⁻¹ • ∫ (y : α) in a, ‖f y - f x‖ ∂μ
[PROOFSTEP]
rfl
[GOAL]
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 : LocallyIntegrable f
x : α
hx : Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
this : Tendsto (ENNReal.toReal ∘ fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
a : Set α
h'a : ↑↑μ a < ⊤
h''a : IntegrableOn f a
A : IntegrableOn (fun y => ↑‖f y - f x‖₊) a
⊢ 0 ≤ ∫ (a : α) in a, ↑‖f a - f x‖₊ ∂μ
[PROOFSTEP]
apply integral_nonneg
[GOAL]
case h.hf
α : 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 : LocallyIntegrable f
x : α
hx : Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
this : Tendsto (ENNReal.toReal ∘ fun a => (∫⁻ (y : α) in a, ↑‖f y - f x‖₊ ∂μ) / ↑↑μ a) (filterAt v x) (𝓝 0)
a : Set α
h'a : ↑↑μ a < ⊤
h''a : IntegrableOn f a
A : IntegrableOn (fun y => ↑‖f y - f x‖₊) a
⊢ 0 ≤ fun a => ↑‖f a - f x‖₊
[PROOFSTEP]
intro x
[GOAL]
case h.hf
α : 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 : LocallyIntegrable f
x✝ : α
hx : Tendsto (fun a => (∫⁻ (y : α) in a, ↑‖f y - f x✝‖₊ ∂μ) / ↑↑μ a) (filterAt v x✝) (𝓝 0)
this : Tendsto (ENNReal.toReal ∘ fun a => (∫⁻ (y : α) in a, ↑‖f y - f x✝‖₊ ∂μ) / ↑↑μ a) (filterAt v x✝) (𝓝 0)
a : Set α
h'a : ↑↑μ a < ⊤
h''a : IntegrableOn f a
A : IntegrableOn (fun y => ↑‖f y - f x✝‖₊) a
x : α
⊢ OfNat.ofNat 0 x ≤ (fun a => ↑‖f a - f x✝‖₊) x
[PROOFSTEP]
exact NNReal.coe_nonneg _
[GOAL]
α : 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 ρ
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f : α → E
hf : LocallyIntegrable f
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ⨍ (y : α) in a, f y ∂μ) (filterAt v x) (𝓝 (f x))
[PROOFSTEP]
filter_upwards [v.ae_tendsto_average_norm_sub hf, v.ae_eventually_measure_pos] with x hx h'x
[GOAL]
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 ρ
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f : α → E
hf : LocallyIntegrable f
x : α
hx : Tendsto (fun a => ⨍ (y : α) in a, ‖f y - f x‖ ∂μ) (filterAt v x) (𝓝 0)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
⊢ Tendsto (fun a => ⨍ (y : α) in a, f y ∂μ) (filterAt v x) (𝓝 (f x))
[PROOFSTEP]
rw [tendsto_iff_norm_tendsto_zero]
[GOAL]
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 ρ
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f : α → E
hf : LocallyIntegrable f
x : α
hx : Tendsto (fun a => ⨍ (y : α) in a, ‖f y - f x‖ ∂μ) (filterAt v x) (𝓝 0)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
⊢ Tendsto (fun e => ‖⨍ (y : α) in e, f y ∂μ - f x‖) (filterAt v x) (𝓝 0)
[PROOFSTEP]
refine' squeeze_zero' (eventually_of_forall fun a => norm_nonneg _) _ hx
[GOAL]
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 ρ
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f : α → E
hf : LocallyIntegrable f
x : α
hx : Tendsto (fun a => ⨍ (y : α) in a, ‖f y - f x‖ ∂μ) (filterAt v x) (𝓝 0)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
⊢ ∀ᶠ (t : Set α) in filterAt v x, ‖⨍ (y : α) in t, f y ∂μ - f x‖ ≤ ⨍ (y : α) in t, ‖f y - f x‖ ∂μ
[PROOFSTEP]
filter_upwards [h'x, v.eventually_measure_lt_top x, v.eventually_filterAt_integrableOn x hf] with a ha h'a h''a
[GOAL]
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 ρ
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f : α → E
hf : LocallyIntegrable f
x : α
hx : Tendsto (fun a => ⨍ (y : α) in a, ‖f y - f x‖ ∂μ) (filterAt v x) (𝓝 0)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
a : Set α
ha : 0 < ↑↑μ a
h'a : ↑↑μ a < ⊤
h''a : IntegrableOn f a
⊢ ‖⨍ (y : α) in a, f y ∂μ - f x‖ ≤ ⨍ (y : α) in a, ‖f y - f x‖ ∂μ
[PROOFSTEP]
nth_rw 1 [← setAverage_const ha.ne' h'a.ne (f x)]
[GOAL]
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 ρ
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f : α → E
hf : LocallyIntegrable f
x : α
hx : Tendsto (fun a => ⨍ (y : α) in a, ‖f y - f x‖ ∂μ) (filterAt v x) (𝓝 0)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
a : Set α
ha : 0 < ↑↑μ a
h'a : ↑↑μ a < ⊤
h''a : IntegrableOn f a
⊢ ‖⨍ (y : α) in a, f y ∂μ - ⨍ (x_1 : α) in a, f x ∂μ‖ ≤ ⨍ (y : α) in a, ‖f y - f x‖ ∂μ
[PROOFSTEP]
simp_rw [setAverage_eq']
[GOAL]
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 ρ
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f : α → E
hf : LocallyIntegrable f
x : α
hx : Tendsto (fun a => ⨍ (y : α) in a, ‖f y - f x‖ ∂μ) (filterAt v x) (𝓝 0)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
a : Set α
ha : 0 < ↑↑μ a
h'a : ↑↑μ a < ⊤
h''a : IntegrableOn f a
⊢ ‖∫ (y : α), f y ∂(↑↑μ a)⁻¹ • Measure.restrict μ a - ∫ (x_1 : α), f x ∂(↑↑μ a)⁻¹ • Measure.restrict μ a‖ ≤
    ∫ (y : α), ‖f y - f x‖ ∂(↑↑μ a)⁻¹ • Measure.restrict μ a
[PROOFSTEP]
rw [← integral_sub]
[GOAL]
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 ρ
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f : α → E
hf : LocallyIntegrable f
x : α
hx : Tendsto (fun a => ⨍ (y : α) in a, ‖f y - f x‖ ∂μ) (filterAt v x) (𝓝 0)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
a : Set α
ha : 0 < ↑↑μ a
h'a : ↑↑μ a < ⊤
h''a : IntegrableOn f a
⊢ ‖∫ (a : α), f a - f x ∂(↑↑μ a)⁻¹ • Measure.restrict μ a‖ ≤ ∫ (y : α), ‖f y - f x‖ ∂(↑↑μ a)⁻¹ • Measure.restrict μ a
[PROOFSTEP]
exact norm_integral_le_integral_norm _
[GOAL]
case h.hf
α : 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 ρ
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f : α → E
hf : LocallyIntegrable f
x : α
hx : Tendsto (fun a => ⨍ (y : α) in a, ‖f y - f x‖ ∂μ) (filterAt v x) (𝓝 0)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
a : Set α
ha : 0 < ↑↑μ a
h'a : ↑↑μ a < ⊤
h''a : IntegrableOn f a
⊢ Integrable fun y => f y
[PROOFSTEP]
exact (integrable_inv_smul_measure ha.ne' h'a.ne).2 h''a
[GOAL]
case h.hg
α : 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 ρ
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f : α → E
hf : LocallyIntegrable f
x : α
hx : Tendsto (fun a => ⨍ (y : α) in a, ‖f y - f x‖ ∂μ) (filterAt v x) (𝓝 0)
h'x : ∀ᶠ (a : Set α) in filterAt v x, 0 < ↑↑μ a
a : Set α
ha : 0 < ↑↑μ a
h'a : ↑↑μ a < ⊤
h''a : IntegrableOn f a
⊢ Integrable fun x_1 => f x
[PROOFSTEP]
exact (integrable_inv_smul_measure ha.ne' h'a.ne).2 (integrableOn_const.2 (Or.inr h'a))
