awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Lean 4 proof step from Mathlib.MeasureTheory.Covering.Differentiation (hypothesis)
Goal:
α : Type u_1
inst : PseudoMetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
inst_1 : SecondCountableTopology α
inst_2 : BorelSpace α
inst_3 : IsLocallyFiniteMeasure μ
ρ : Measure α
inst_4 : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α :=
  {x : α |
    ∃ (c : ℝ≥0∞),
      Tendsto
        (fun (a : Set α) ↦
          HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞))
        (v.filterAt x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | v.limRatio ρ x < (↑p : ℝ≥0∞)} ∩ o n
w : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | (↑q : ℝ≥0∞) < v.limRatio ρ x} ∩ o n
m n : ℕ
I : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (u m) : ℝ≥0∞) (∞ : ℝ≥0∞)
J : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (w n) : ℝ≥0∞) (∞ : ℝ≥0∞)
⊢ Eq (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) : ℝ≥0∞) (0 : ℝ≥0∞)
have A : (ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
  HMul.hMul (β := ℝ≥0∞) (↑p : ℝ≥0∞)
    ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) : ℝ≥0∞)
Tactic: 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, or_true, 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]
-- Lean 4 proof step from Mathlib.MeasureTheory.Covering.Differentiation (goal)
Goal:
α : Type u_1
inst : PseudoMetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
inst_1 : SecondCountableTopology α
inst_2 : BorelSpace α
inst_3 : IsLocallyFiniteMeasure μ
ρ : Measure α
inst_4 : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α :=
  {x : α |
    ∃ (c : ℝ≥0∞),
      Tendsto
        (fun (a : Set α) ↦
          HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞))
        (v.filterAt x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | v.limRatio ρ x < (↑p : ℝ≥0∞)} ∩ o n
w : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | (↑q : ℝ≥0∞) < v.limRatio ρ x} ∩ o n
m n : ℕ
I : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (u m) : ℝ≥0∞) (∞ : ℝ≥0∞)
J : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (w n) : ℝ≥0∞) (∞ : ℝ≥0∞)
A :
  (ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    HMul.hMul (β := ℝ≥0∞) (↑p : ℝ≥0∞)
      ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) : ℝ≥0∞)
| HMul.hMul (β := ℝ≥0∞) (↑q : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ w n) : ℝ≥0∞)
have rw : HMul.hMul (β := ℝ≥0∞) (↑q : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (w n ∩ toMeasurable (ρ + μ) (u m)) : ℝ≥0∞)
Tactic: rw [inter_comm]
-- Lean 4 proof step from Mathlib.MeasureTheory.Covering.Differentiation (goal)
Goal:
α : Type u_1
inst : PseudoMetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
inst_1 : SecondCountableTopology α
inst_2 : BorelSpace α
inst_3 : IsLocallyFiniteMeasure μ
ρ : Measure α
inst_4 : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α :=
  {x : α |
    ∃ (c : ℝ≥0∞),
      Tendsto
        (fun (a : Set α) ↦
          HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞))
        (v.filterAt x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | v.limRatio ρ x < (↑p : ℝ≥0∞)} ∩ o n
w : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | (↑q : ℝ≥0∞) < v.limRatio ρ x} ∩ o n
m n : ℕ
I : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (u m) : ℝ≥0∞) (∞ : ℝ≥0∞)
J : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (w n) : ℝ≥0∞) (∞ : ℝ≥0∞)
A :
  (ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    HMul.hMul (β := ℝ≥0∞) (↑p : ℝ≥0∞)
      ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) : ℝ≥0∞)
⊢ HMul.hMul (β := ℝ≥0∞) (↑q : ℝ≥0∞)
      ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) : ℝ≥0∞) =
    HMul.hMul (β := ℝ≥0∞) (↑q : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ w n) : ℝ≥0∞)
have conv_rhs : HMul.hMul (β := ℝ≥0∞) (↑q : ℝ≥0∞)
    ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) : ℝ≥0∞) =
  HMul.hMul (β := ℝ≥0∞) (↑q : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (w n ∩ toMeasurable (ρ + μ) (u m)) : ℝ≥0∞)
Tactic: conv_rhs => rw [inter_comm]
-- Lean 4 proof step from Mathlib.MeasureTheory.Covering.Differentiation (goal)
Goal:
α : Type u_1
inst : PseudoMetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
inst_1 : SecondCountableTopology α
inst_2 : BorelSpace α
inst_3 : IsLocallyFiniteMeasure μ
ρ : Measure α
inst_4 : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α :=
  {x : α |
    ∃ (c : ℝ≥0∞),
      Tendsto
        (fun (a : Set α) ↦
          HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞))
        (v.filterAt x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | v.limRatio ρ x < (↑p : ℝ≥0∞)} ∩ o n
w : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | (↑q : ℝ≥0∞) < v.limRatio ρ x} ∩ o n
m n : ℕ
I : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (u m) : ℝ≥0∞) (∞ : ℝ≥0∞)
J : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (w n) : ℝ≥0∞) (∞ : ℝ≥0∞)
A :
  (ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    HMul.hMul (β := ℝ≥0∞) (↑p : ℝ≥0∞)
      ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) : ℝ≥0∞)
⊢ HMul.hMul (β := ℝ≥0∞) (↑q : ℝ≥0∞)
      ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) : ℝ≥0∞) =
    HMul.hMul (β := ℝ≥0∞) (↑q : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (w n ∩ toMeasurable (ρ + μ) (u m)) : ℝ≥0∞)
have rw : HMul.hMul (β := ℝ≥0∞) (↑q : ℝ≥0∞)
    ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (w n) ∩ toMeasurable (ρ + μ) (u m)) : ℝ≥0∞) =
  HMul.hMul (β := ℝ≥0∞) (↑q : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (w n ∩ toMeasurable (ρ + μ) (u m)) : ℝ≥0∞)
Tactic: rw [inter_comm, measure_toMeasurable_add_inter_right (measurableSet_toMeasurable _ _) J]
-- Lean 4 proof step from Mathlib.MeasureTheory.Covering.Differentiation (goal)
Goal:
α : Type u_1
inst : PseudoMetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
inst_1 : SecondCountableTopology α
inst_2 : BorelSpace α
inst_3 : IsLocallyFiniteMeasure μ
ρ : Measure α
inst_4 : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α :=
  {x : α |
    ∃ (c : ℝ≥0∞),
      Tendsto
        (fun (a : Set α) ↦
          HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞))
        (v.filterAt x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | v.limRatio ρ x < (↑p : ℝ≥0∞)} ∩ o n
w : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | (↑q : ℝ≥0∞) < v.limRatio ρ x} ∩ o n
m n : ℕ
I : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (u m) : ℝ≥0∞) (∞ : ℝ≥0∞)
J : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (w n) : ℝ≥0∞) (∞ : ℝ≥0∞)
A :
  (ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    HMul.hMul (β := ℝ≥0∞) (↑p : ℝ≥0∞)
      ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) : ℝ≥0∞)
rw :
  HMul.hMul (β := ℝ≥0∞) (↑q : ℝ≥0∞)
      ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (w n) ∩ toMeasurable (ρ + μ) (u m)) : ℝ≥0∞) =
    HMul.hMul (β := ℝ≥0∞) (↑q : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (w n ∩ toMeasurable (ρ + μ) (u m)) : ℝ≥0∞)
⊢ HMul.hMul (β := ℝ≥0∞) (↑q : ℝ≥0∞)
      ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) : ℝ≥0∞) =
    HMul.hMul (β := ℝ≥0∞) (↑q : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (w n ∩ toMeasurable (ρ + μ) (u m)) : ℝ≥0∞)
have rw₁ : HMul.hMul (β := ℝ≥0∞) (↑q : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (w n ∩ toMeasurable (ρ + μ) (u m)) : ℝ≥0∞) =
  HMul.hMul (β := ℝ≥0∞) (↑q : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (w n ∩ toMeasurable (ρ + μ) (u m)) : ℝ≥0∞)
Tactic: rw [inter_comm, measure_toMeasurable_add_inter_right (measurableSet_toMeasurable _ _) J]
-- Lean 4 proof step from Mathlib.MeasureTheory.Covering.Differentiation (goal)
Goal:
α : Type u_1
inst : PseudoMetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
inst_1 : SecondCountableTopology α
inst_2 : BorelSpace α
inst_3 : IsLocallyFiniteMeasure μ
ρ : Measure α
inst_4 : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α :=
  {x : α |
    ∃ (c : ℝ≥0∞),
      Tendsto
        (fun (a : Set α) ↦
          HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞))
        (v.filterAt x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | v.limRatio ρ x < (↑p : ℝ≥0∞)} ∩ o n
w : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | (↑q : ℝ≥0∞) < v.limRatio ρ x} ∩ o n
m n : ℕ
I : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (u m) : ℝ≥0∞) (∞ : ℝ≥0∞)
J : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (w n) : ℝ≥0∞) (∞ : ℝ≥0∞)
A :
  (ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    HMul.hMul (β := ℝ≥0∞) (↑p : ℝ≥0∞)
      ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) : ℝ≥0∞)
⊢ HMul.hMul (β := ℝ≥0∞) (↑q : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ w n) : ℝ≥0∞) ≤
    (ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ w n)
have rw : LE.le (α := ℝ≥0∞) ((q • μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ w n) : ℝ≥0∞)
  ((ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ w n) : ℝ≥0∞)
Tactic: rw [← coe_nnreal_smul_apply]
-- Lean 4 proof step from Mathlib.MeasureTheory.Covering.Differentiation (goal)
Goal:
α : Type u_1
inst : PseudoMetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
inst_1 : SecondCountableTopology α
inst_2 : BorelSpace α
inst_3 : IsLocallyFiniteMeasure μ
ρ : Measure α
inst_4 : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α :=
  {x : α |
    ∃ (c : ℝ≥0∞),
      Tendsto
        (fun (a : Set α) ↦
          HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞))
        (v.filterAt x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | v.limRatio ρ x < (↑p : ℝ≥0∞)} ∩ o n
w : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | (↑q : ℝ≥0∞) < v.limRatio ρ x} ∩ o n
m n : ℕ
I : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (u m) : ℝ≥0∞) (∞ : ℝ≥0∞)
J : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (w n) : ℝ≥0∞) (∞ : ℝ≥0∞)
A :
  (ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    HMul.hMul (β := ℝ≥0∞) (↑p : ℝ≥0∞)
      ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) : ℝ≥0∞)
⊢ LE.le (α := ℝ≥0∞) ((q • μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ w n) : ℝ≥0∞)
    ((ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ w n) : ℝ≥0∞)
have refine : ∀ x ∈ toMeasurable (ρ + μ) (u m) ∩ w n,
  ∃ᶠ (a : Set α) in v.filterAt x,
    LE.le (α := ℝ≥0∞) ((q • μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞)
Tactic: refine v.measure_le_of_frequently_le _ (.smul_left .rfl _) _ ?_
-- Lean 4 proof step from Mathlib.MeasureTheory.Covering.Differentiation (hypothesis)
Goal:
α : Type u_1
inst : PseudoMetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
inst_1 : SecondCountableTopology α
inst_2 : BorelSpace α
inst_3 : IsLocallyFiniteMeasure μ
ρ : Measure α
inst_4 : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α :=
  {x : α |
    ∃ (c : ℝ≥0∞),
      Tendsto
        (fun (a : Set α) ↦
          HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞))
        (v.filterAt x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | v.limRatio ρ x < (↑p : ℝ≥0∞)} ∩ o n
w : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | (↑q : ℝ≥0∞) < v.limRatio ρ x} ∩ o n
m n : ℕ
I : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (u m) : ℝ≥0∞) (∞ : ℝ≥0∞)
J : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (w n) : ℝ≥0∞) (∞ : ℝ≥0∞)
A :
  (ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    HMul.hMul (β := ℝ≥0∞) (↑p : ℝ≥0∞)
      ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) : ℝ≥0∞)
x : α
hx : x ∈ toMeasurable (ρ + μ) (u m) ∩ w n
⊢ ∃ᶠ (a : Set α) in v.filterAt x,
    LE.le (α := ℝ≥0∞) ((q • μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞)
have L : Tendsto
  (fun (a : Set α) ↦
    HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞))
  (v.filterAt x) (𝓝 (v.limRatio ρ x))
Tactic: have L : Tendsto (fun a : Set α => ρ a / μ a) (v.filterAt x) (𝓝 (v.limRatio ρ x)) :=
          tendsto_nhds_limUnder hx.2.1.1
-- Lean 4 proof step from Mathlib.MeasureTheory.Covering.Differentiation (hypothesis)
Goal:
α : Type u_1
inst : PseudoMetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
inst_1 : SecondCountableTopology α
inst_2 : BorelSpace α
inst_3 : IsLocallyFiniteMeasure μ
ρ : Measure α
inst_4 : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α :=
  {x : α |
    ∃ (c : ℝ≥0∞),
      Tendsto
        (fun (a : Set α) ↦
          HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞))
        (v.filterAt x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | v.limRatio ρ x < (↑p : ℝ≥0∞)} ∩ o n
w : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | (↑q : ℝ≥0∞) < v.limRatio ρ x} ∩ o n
m n : ℕ
I : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (u m) : ℝ≥0∞) (∞ : ℝ≥0∞)
J : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (w n) : ℝ≥0∞) (∞ : ℝ≥0∞)
A :
  (ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    HMul.hMul (β := ℝ≥0∞) (↑p : ℝ≥0∞)
      ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) : ℝ≥0∞)
x : α
hx : x ∈ toMeasurable (ρ + μ) (u m) ∩ w n
L :
  Tendsto
    (fun (a : Set α) ↦
      HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞))
    (v.filterAt x) (𝓝 (v.limRatio ρ x))
⊢ ∃ᶠ (a : Set α) in v.filterAt x,
    LE.le (α := ℝ≥0∞) ((q • μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞)
have I₁ : ∀ᶠ (b : Set α) in v.filterAt x,
  (↑q : ℝ≥0∞) <
    HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) b : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) b : ℝ≥0∞)
Tactic: have I : ∀ᶠ b : Set α in v.filterAt x, (q : ℝ≥0∞) < ρ b / μ b :=
          (tendsto_order.1 L).1 _ hx.2.1.2
-- Lean 4 proof step from Mathlib.MeasureTheory.Covering.Differentiation (goal)
Goal:
α : Type u_1
inst : PseudoMetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
inst_1 : SecondCountableTopology α
inst_2 : BorelSpace α
inst_3 : IsLocallyFiniteMeasure μ
ρ : Measure α
inst_4 : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α :=
  {x : α |
    ∃ (c : ℝ≥0∞),
      Tendsto
        (fun (a : Set α) ↦
          HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞))
        (v.filterAt x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | v.limRatio ρ x < (↑p : ℝ≥0∞)} ∩ o n
w : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | (↑q : ℝ≥0∞) < v.limRatio ρ x} ∩ o n
m n : ℕ
I_1 : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (u m) : ℝ≥0∞) (∞ : ℝ≥0∞)
J : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (w n) : ℝ≥0∞) (∞ : ℝ≥0∞)
A :
  (ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    HMul.hMul (β := ℝ≥0∞) (↑p : ℝ≥0∞)
      ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) : ℝ≥0∞)
x : α
hx : x ∈ toMeasurable (ρ + μ) (u m) ∩ w n
L :
  Tendsto
    (fun (a : Set α) ↦
      HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞))
    (v.filterAt x) (𝓝 (v.limRatio ρ x))
I :
  ∀ᶠ (b : Set α) in v.filterAt x,
    (↑q : ℝ≥0∞) <
      HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) b : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) b : ℝ≥0∞)
⊢ ∃ᶠ (a : Set α) in v.filterAt x,
    LE.le (α := ℝ≥0∞) ((q • μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞)
have apply : ∀ (a : Set α)
  (ha :
    (↑q : ℝ≥0∞) <
      HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞)),
  LE.le (α := ℝ≥0∞) ((q • μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞)
Tactic: apply I.frequently.mono fun a ha => ?_
-- Lean 4 proof step from Mathlib.MeasureTheory.Covering.Differentiation (goal)
Goal:
α : Type u_1
inst : PseudoMetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
inst_1 : SecondCountableTopology α
inst_2 : BorelSpace α
inst_3 : IsLocallyFiniteMeasure μ
ρ : Measure α
inst_4 : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α :=
  {x : α |
    ∃ (c : ℝ≥0∞),
      Tendsto
        (fun (a : Set α) ↦
          HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞))
        (v.filterAt x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | v.limRatio ρ x < (↑p : ℝ≥0∞)} ∩ o n
w : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | (↑q : ℝ≥0∞) < v.limRatio ρ x} ∩ o n
m n : ℕ
I_1 : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (u m) : ℝ≥0∞) (∞ : ℝ≥0∞)
J : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (w n) : ℝ≥0∞) (∞ : ℝ≥0∞)
A :
  (ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    HMul.hMul (β := ℝ≥0∞) (↑p : ℝ≥0∞)
      ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) : ℝ≥0∞)
x : α
hx : x ∈ toMeasurable (ρ + μ) (u m) ∩ w n
L :
  Tendsto
    (fun (a : Set α) ↦
      HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞))
    (v.filterAt x) (𝓝 (v.limRatio ρ x))
I :
  ∀ᶠ (b : Set α) in v.filterAt x,
    (↑q : ℝ≥0∞) <
      HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) b : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) b : ℝ≥0∞)
a : Set α
ha :
  (↑q : ℝ≥0∞) <
    HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞)
⊢ LE.le (α := ℝ≥0∞) ((q • μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞)
have rw : HMul.hMul (β := ℝ≥0∞) (↑q : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ≤ (ρ : (a : Set α) → ℝ≥0∞) a
Tactic: rw [coe_nnreal_smul_apply]
-- Lean 4 proof step from Mathlib.MeasureTheory.Covering.Differentiation (goal)
Goal:
α : Type u_1
inst : PseudoMetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
inst_1 : SecondCountableTopology α
inst_2 : BorelSpace α
inst_3 : IsLocallyFiniteMeasure μ
ρ : Measure α
inst_4 : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α :=
  {x : α |
    ∃ (c : ℝ≥0∞),
      Tendsto
        (fun (a : Set α) ↦
          HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞))
        (v.filterAt x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | v.limRatio ρ x < (↑p : ℝ≥0∞)} ∩ o n
w : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | (↑q : ℝ≥0∞) < v.limRatio ρ x} ∩ o n
m n : ℕ
I : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (u m) : ℝ≥0∞) (∞ : ℝ≥0∞)
J : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (w n) : ℝ≥0∞) (∞ : ℝ≥0∞)
A :
  (ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    HMul.hMul (β := ℝ≥0∞) (↑p : ℝ≥0∞)
      ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) : ℝ≥0∞)
| ((ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) : ℝ≥0∞)
have rw : ((ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (w n) ∩ toMeasurable (ρ + μ) (u m)) : ℝ≥0∞)
Tactic: rw [inter_comm]
-- Lean 4 proof step from Mathlib.MeasureTheory.Covering.Differentiation (goal)
Goal:
α : Type u_1
inst : PseudoMetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
inst_1 : SecondCountableTopology α
inst_2 : BorelSpace α
inst_3 : IsLocallyFiniteMeasure μ
ρ : Measure α
inst_4 : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
p q : ℝ≥0
hpq : p < q
s : Set α :=
  {x : α |
    ∃ (c : ℝ≥0∞),
      Tendsto
        (fun (a : Set α) ↦
          HDiv.hDiv (α := ℝ≥0∞) (β := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) a : ℝ≥0∞))
        (v.filterAt x) (𝓝 c)}
o : ℕ → Set α := spanningSets (ρ + μ)
u : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | v.limRatio ρ x < (↑p : ℝ≥0∞)} ∩ o n
w : (n : ℕ) → Set α := fun (n : ℕ) ↦ s ∩ {x : α | (↑q : ℝ≥0∞) < v.limRatio ρ x} ∩ o n
m n : ℕ
I : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (u m) : ℝ≥0∞) (∞ : ℝ≥0∞)
J : Ne (α := ℝ≥0∞) ((ρ + μ : (a : Set α) → ℝ≥0∞) (w n) : ℝ≥0∞) (∞ : ℝ≥0∞)
A :
  (ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) ≤
    HMul.hMul (β := ℝ≥0∞) (↑p : ℝ≥0∞)
      ((μ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) : ℝ≥0∞)
⊢ Eq (α := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ w n) : ℝ≥0∞)
    ((ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ toMeasurable (ρ + μ) (w n)) : ℝ≥0∞)
have conv_rhs : Eq (α := ℝ≥0∞) ((ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (u m) ∩ w n) : ℝ≥0∞)
  ((ρ : (a : Set α) → ℝ≥0∞) (toMeasurable (ρ + μ) (w n) ∩ toMeasurable (ρ + μ) (u m)) : ℝ≥0∞)
Tactic: conv_rhs => rw [inter_comm]