Theorem: VitaliFamily.mul_measure_le_of_subset_lt_limRatioMeas
File: Mathlib/MeasureTheory/Covering/Differentiation.lean

tactic: let t := {x : α | Tendsto (fun a => ρ a / μ a) (v.filterAt x) (𝓝 (v.limRatioMeas hρ x))}
state_before: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.3960181
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.Measure α
inst✝ : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
q : ℝ≥0
s : Set α
h : s ⊆ {x | ↑q < limRatioMeas v hρ x}
⊢ ↑q * ↑↑μ s ≤ ↑↑ρ s

tactic: have A : μ (tᶜ) = 0 := v.ae_tendsto_limRatioMeas hρ
state_before: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.3960181
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.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

tactic: suffices H : (q • μ) (s ∩ t) ≤ ρ (s ∩ t)
state_before: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.3960181
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.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

tactic: 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, MulZeroClass.mul_zero, add_zero]; exact measure_mono (inter_subset_left _ _)
state_before: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.3960181
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.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 α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.3960181
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.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)

tactic: refine' v.measure_le_of_frequently_le _ (AbsolutelyContinuous.rfl.smul _) _ _
state_before: case H
α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.3960181
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.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)

tactic: intro x hx
state_before: case H
α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.3960181
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.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

tactic: have I : ∀ᶠ a in v.filterAt x, (q : ℝ≥0∞) < ρ a / μ a := (tendsto_order.1 hx.2).1 _ (h hx.1)
state_before: case H
α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.3960181
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.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

tactic: apply I.frequently.mono fun a ha => ?_
state_before: case H
α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.3960181
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.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

tactic: rw [coe_nnreal_smul_apply]
state_before: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.3960181
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.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

tactic: exact ENNReal.mul_le_of_le_div ha.le
state_before: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.3960181
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.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

tactic: rw [inter_union_compl]
state_before: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.3960181
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.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ᶜ)

tactic: apply add_le_add H
state_before: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.3960181
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.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ᶜ)

tactic: rw [coe_nnreal_smul_apply]
state_before: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.3960181
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.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ᶜ)

tactic: exact mul_le_mul_left' (measure_mono (inter_subset_right _ _)) _
state_before: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.3960181
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.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ᶜ)

tactic: rw [A, MulZeroClass.mul_zero, add_zero]
state_before: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.3960181
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.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

tactic: exact measure_mono (inter_subset_left _ _)
state_before: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.3960181
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.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