Theorem: MeasureTheory.Measure.exists_positive_of_not_mutuallySingular
File: Mathlib/MeasureTheory/Decomposition/Lebesgue.lean

tactic: have :
  ∀ n : ℕ, ∃ i : Set α,
    MeasurableSet i ∧
      0 ≤[i] μ.toSignedMeasure - ((1 / (n + 1) : ℝ≥0) • ν).toSignedMeasure ∧
        μ.toSignedMeasure - ((1 / (n + 1) : ℝ≥0) • ν).toSignedMeasure ≤[iᶜ] 0 := by
  intro; exact exists_compl_positive_negative _
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
this :
  ∀ (n : ℕ),
    ∃ i,
      MeasurableSet i ∧
        VectorMeasure.restrict 0 i ≤
            VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) i ∧
          VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) iᶜ ≤
            VectorMeasure.restrict 0 iᶜ
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E

tactic: choose f hf₁ hf₂ hf₃ using this
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
this :
  ∀ (n : ℕ),
    ∃ i,
      MeasurableSet i ∧
        VectorMeasure.restrict 0 i ≤
            VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) i ∧
          VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) iᶜ ≤
            VectorMeasure.restrict 0 iᶜ
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E

tactic: let A := ⋂ n, (f n)ᶜ
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E

tactic: have hAmeas : MeasurableSet A := MeasurableSet.iInter fun n ↦ (hf₁ n).compl
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E

tactic: have hA₂ : ∀ n : ℕ, μ.toSignedMeasure - ((1 / (n + 1) : ℝ≥0) • ν).toSignedMeasure ≤[A] 0 := by
  intro n; exact restrict_le_restrict_subset _ _ (hf₁ n).compl (hf₃ n) (iInter_subset _ _)
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E

tactic: have hA₃ : ∀ n : ℕ, μ A ≤ (1 / (n + 1) : ℝ≥0) * ν A := by
  intro n
  have := nonpos_of_restrict_le_zero _ (hA₂ n)
  rwa [toSignedMeasure_sub_apply hAmeas, sub_nonpos, ENNReal.toReal_le_toReal] at this
  exacts [measure_ne_top _ _, measure_ne_top _ _]
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
hA₃ : ∀ (n : ℕ), μ A ≤ ↑(1 / (↑n + 1)) * ν A
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E

tactic: rw [MutuallySingular] at h
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
hA₃ : ∀ (n : ℕ), μ A ≤ ↑(1 / (↑n + 1)) * ν A
hμ : μ A = 0
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬∃ s, MeasurableSet s ∧ μ s = 0 ∧ ν sᶜ = 0
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
hA₃ : ∀ (n : ℕ), μ A ≤ ↑(1 / (↑n + 1)) * ν A
hμ : μ A = 0
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E

tactic: push_neg at h
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬∃ s, MeasurableSet s ∧ μ s = 0 ∧ ν sᶜ = 0
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
hA₃ : ∀ (n : ℕ), μ A ≤ ↑(1 / (↑n + 1)) * ν A
hμ : μ A = 0
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
hA₃ : ∀ (n : ℕ), μ A ≤ ↑(1 / (↑n + 1)) * ν A
hμ : μ A = 0
h : ∀ (s : Set α), MeasurableSet s → μ s = 0 → ν sᶜ ≠ 0
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E

tactic: have := h _ hAmeas hμ
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
hA₃ : ∀ (n : ℕ), μ A ≤ ↑(1 / (↑n + 1)) * ν A
hμ : μ A = 0
h : ∀ (s : Set α), MeasurableSet s → μ s = 0 → ν sᶜ ≠ 0
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
hA₃ : ∀ (n : ℕ), μ A ≤ ↑(1 / (↑n + 1)) * ν A
hμ : μ A = 0
h : ∀ (s : Set α), MeasurableSet s → μ s = 0 → ν sᶜ ≠ 0
this : ν Aᶜ ≠ 0
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E

tactic: simp_rw [A, compl_iInter, compl_compl] at this
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
hA₃ : ∀ (n : ℕ), μ A ≤ ↑(1 / (↑n + 1)) * ν A
hμ : μ A = 0
h : ∀ (s : Set α), MeasurableSet s → μ s = 0 → ν sᶜ ≠ 0
this : ν Aᶜ ≠ 0
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
hA₃ : ∀ (n : ℕ), μ A ≤ ↑(1 / (↑n + 1)) * ν A
hμ : μ A = 0
h : ∀ (s : Set α), MeasurableSet s → μ s = 0 → ν sᶜ ≠ 0
this : ν (⋃ i, f i) ≠ 0
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E

tactic: obtain ⟨n, hn⟩ := exists_measure_pos_of_not_measure_iUnion_null this
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
hA₃ : ∀ (n : ℕ), μ A ≤ ↑(1 / (↑n + 1)) * ν A
hμ : μ A = 0
h : ∀ (s : Set α), MeasurableSet s → μ s = 0 → ν sᶜ ≠ 0
this : ν (⋃ i, f i) ≠ 0
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E
state_after: case intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
hA₃ : ∀ (n : ℕ), μ A ≤ ↑(1 / (↑n + 1)) * ν A
hμ : μ A = 0
h : ∀ (s : Set α), MeasurableSet s → μ s = 0 → ν sᶜ ≠ 0
this : ν (⋃ i, f i) ≠ 0
n : ℕ
hn : 0 < ν (f n)
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E

tactic: exact ⟨1 / (n + 1), by simp, f n, hf₁ n, hn, hf₂ n⟩
state_before: case intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
hA₃ : ∀ (n : ℕ), μ A ≤ ↑(1 / (↑n + 1)) * ν A
hμ : μ A = 0
h : ∀ (s : Set α), MeasurableSet s → μ s = 0 → ν sᶜ ≠ 0
this : ν (⋃ i, f i) ≠ 0
n : ℕ
hn : 0 < ν (f n)
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ν E ∧ VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (μ.toSignedMeasure - (ε • ν).toSignedMeasure) E
state_after: no goals

tactic: intro
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
⊢ ∀ (n : ℕ),
    ∃ i,
      MeasurableSet i ∧
        VectorMeasure.restrict 0 i ≤
            VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) i ∧
          VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) iᶜ ≤
            VectorMeasure.restrict 0 iᶜ
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
n✝ : ℕ
⊢ ∃ i,
    MeasurableSet i ∧
      VectorMeasure.restrict 0 i ≤
          VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n✝ + 1)) • ν).toSignedMeasure) i ∧
        VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n✝ + 1)) • ν).toSignedMeasure) iᶜ ≤
          VectorMeasure.restrict 0 iᶜ

tactic: exact exists_compl_positive_negative _
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
n✝ : ℕ
⊢ ∃ i,
    MeasurableSet i ∧
      VectorMeasure.restrict 0 i ≤
          VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n✝ + 1)) • ν).toSignedMeasure) i ∧
        VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n✝ + 1)) • ν).toSignedMeasure) iᶜ ≤
          VectorMeasure.restrict 0 iᶜ
state_after: no goals

tactic: intro n
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
⊢ ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
n : ℕ
⊢ VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A

tactic: exact restrict_le_restrict_subset _ _ (hf₁ n).compl (hf₃ n) (iInter_subset _ _)
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
n : ℕ
⊢ VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
state_after: no goals

tactic: intro n
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
⊢ ∀ (n : ℕ), μ A ≤ ↑(1 / (↑n + 1)) * ν A
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
n : ℕ
⊢ μ A ≤ ↑(1 / (↑n + 1)) * ν A

tactic: have := nonpos_of_restrict_le_zero _ (hA₂ n)
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
n : ℕ
⊢ μ A ≤ ↑(1 / (↑n + 1)) * ν A
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
n : ℕ
this : ↑(μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ 0
⊢ μ A ≤ ↑(1 / (↑n + 1)) * ν A

tactic: rwa [toSignedMeasure_sub_apply hAmeas, sub_nonpos, ENNReal.toReal_le_toReal] at this
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
n : ℕ
this : ↑(μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ 0
⊢ μ A ≤ ↑(1 / (↑n + 1)) * ν A
state_after: case ha
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
n : ℕ
this : (μ A).toReal ≤ (((1 / (↑n + 1)) • ν) A).toReal
⊢ μ A ≠ ⊤

case hb
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
n : ℕ
this : (μ A).toReal ≤ (((1 / (↑n + 1)) • ν) A).toReal
⊢ ((1 / (↑n + 1)) • ν) A ≠ ⊤

tactic: exacts [measure_ne_top _ _, measure_ne_top _ _]
state_before: case ha
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
n : ℕ
this : (μ A).toReal ≤ (((1 / (↑n + 1)) • ν) A).toReal
⊢ μ A ≠ ⊤

case hb
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
n : ℕ
this : (μ A).toReal ≤ (((1 / (↑n + 1)) • ν) A).toReal
⊢ ((1 / (↑n + 1)) • ν) A ≠ ⊤
state_after: no goals

tactic: lift μ A to ℝ≥0 using measure_ne_top _ _ with μA
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
hA₃ : ∀ (n : ℕ), μ A ≤ ↑(1 / (↑n + 1)) * ν A
⊢ μ A = 0
state_after: case intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
⊢ ↑μA = 0

tactic: lift ν A to ℝ≥0 using measure_ne_top _ _ with νA
state_before: case intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
⊢ ↑μA = 0
state_after: case intro.intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
⊢ ↑μA = 0

tactic: rw [ENNReal.coe_eq_zero]
state_before: case intro.intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
⊢ ↑μA = 0
state_after: case intro.intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
⊢ μA = 0

tactic: by_cases hb : 0 < νA
state_before: case intro.intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
⊢ μA = 0
state_after: case pos
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
⊢ μA = 0

case neg
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : ¬0 < νA
⊢ μA = 0

tactic: suffices ∀ b, 0 < b → μA ≤ b by
  by_contra h
  have h' := this (μA / 2) (half_pos (zero_lt_iff.2 h))
  rw [← @Classical.not_not (μA ≤ μA / 2)] at h'
  exact h' (not_le.2 (NNReal.half_lt_self h))
state_before: case pos
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
⊢ μA = 0
state_after: case pos
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
⊢ ∀ (b : ℝ≥0), 0 < b → μA ≤ b

tactic: intro c hc
state_before: case pos
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
⊢ ∀ (b : ℝ≥0), 0 < b → μA ≤ b
state_after: case pos
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
⊢ μA ≤ c

tactic: have : ∃ n : ℕ, 1 / (n + 1 : ℝ) < c * (νA : ℝ)⁻¹ := by
  refine exists_nat_one_div_lt ?_
  positivity
state_before: case pos
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
⊢ μA ≤ c
state_after: case pos
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
this : ∃ n, 1 / (↑n + 1) < ↑c * (↑νA)⁻¹
⊢ μA ≤ c

tactic: rcases this with ⟨n, hn⟩
state_before: case pos
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
this : ∃ n, 1 / (↑n + 1) < ↑c * (↑νA)⁻¹
⊢ μA ≤ c
state_after: case pos.intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / (↑n + 1) < ↑c * (↑νA)⁻¹
⊢ μA ≤ c

tactic: have hb₁ : (0 : ℝ) < (νA : ℝ)⁻¹ := by rw [_root_.inv_pos]; exact hb
state_before: case pos.intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / (↑n + 1) < ↑c * (↑νA)⁻¹
⊢ μA ≤ c
state_after: case pos.intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / (↑n + 1) < ↑c * (↑νA)⁻¹
hb₁ : 0 < (↑νA)⁻¹
⊢ μA ≤ c

tactic: refine le_trans ?_ h'.le
state_before: case pos.intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / (↑n + 1) < ↑c * (↑νA)⁻¹
hb₁ : 0 < (↑νA)⁻¹
h' : 1 / (↑n + 1) * νA < c
⊢ μA ≤ c
state_after: case pos.intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / (↑n + 1) < ↑c * (↑νA)⁻¹
hb₁ : 0 < (↑νA)⁻¹
h' : 1 / (↑n + 1) * νA < c
⊢ μA ≤ 1 / (↑n + 1) * νA

tactic: rw [← ENNReal.coe_le_coe, ENNReal.coe_mul]
state_before: case pos.intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / (↑n + 1) < ↑c * (↑νA)⁻¹
hb₁ : 0 < (↑νA)⁻¹
h' : 1 / (↑n + 1) * νA < c
⊢ μA ≤ 1 / (↑n + 1) * νA
state_after: case pos.intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / (↑n + 1) < ↑c * (↑νA)⁻¹
hb₁ : 0 < (↑νA)⁻¹
h' : 1 / (↑n + 1) * νA < c
⊢ ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA

tactic: exact hA₃ n
state_before: case pos.intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / (↑n + 1) < ↑c * (↑νA)⁻¹
hb₁ : 0 < (↑νA)⁻¹
h' : 1 / (↑n + 1) * νA < c
⊢ ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
state_after: no goals

tactic: by_contra h
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
this : ∀ (b : ℝ≥0), 0 < b → μA ≤ b
⊢ μA = 0
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h✝ : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
this : ∀ (b : ℝ≥0), 0 < b → μA ≤ b
h : ¬μA = 0
⊢ False

tactic: have h' := this (μA / 2) (half_pos (zero_lt_iff.2 h))
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h✝ : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
this : ∀ (b : ℝ≥0), 0 < b → μA ≤ b
h : ¬μA = 0
⊢ False
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h✝ : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
this : ∀ (b : ℝ≥0), 0 < b → μA ≤ b
h : ¬μA = 0
h' : μA ≤ μA / 2
⊢ False

tactic: rw [← @Classical.not_not (μA ≤ μA / 2)] at h'
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h✝ : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
this : ∀ (b : ℝ≥0), 0 < b → μA ≤ b
h : ¬μA = 0
h' : μA ≤ μA / 2
⊢ False
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h✝ : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
this : ∀ (b : ℝ≥0), 0 < b → μA ≤ b
h : ¬μA = 0
h' : ¬¬μA ≤ μA / 2
⊢ False

tactic: exact h' (not_le.2 (NNReal.half_lt_self h))
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h✝ : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
this : ∀ (b : ℝ≥0), 0 < b → μA ≤ b
h : ¬μA = 0
h' : ¬¬μA ≤ μA / 2
⊢ False
state_after: no goals

tactic: refine exists_nat_one_div_lt ?_
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
⊢ ∃ n, 1 / (↑n + 1) < ↑c * (↑νA)⁻¹
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
⊢ 0 < ↑c * (↑νA)⁻¹

tactic: positivity
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
⊢ 0 < ↑c * (↑νA)⁻¹
state_after: no goals

tactic: rw [_root_.inv_pos]
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / (↑n + 1) < ↑c * (↑νA)⁻¹
⊢ 0 < (↑νA)⁻¹
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / (↑n + 1) < ↑c * (↑νA)⁻¹
⊢ 0 < ↑νA

tactic: exact hb
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / (↑n + 1) < ↑c * (↑νA)⁻¹
⊢ 0 < ↑νA
state_after: no goals

tactic: rw [← NNReal.coe_lt_coe, ← mul_lt_mul_right hb₁, NNReal.coe_mul, mul_assoc, ←
  NNReal.coe_inv, ← NNReal.coe_mul, _root_.mul_inv_cancel, ← NNReal.coe_mul, mul_one,
  NNReal.coe_inv]
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / (↑n + 1) < ↑c * (↑νA)⁻¹
hb₁ : 0 < (↑νA)⁻¹
⊢ 1 / (↑n + 1) * νA < c
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / (↑n + 1) < ↑c * (↑νA)⁻¹
hb₁ : 0 < (↑νA)⁻¹
⊢ ↑(1 / (↑n + 1)) < ↑c * (↑νA)⁻¹

α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / (↑n + 1) < ↑c * (↑νA)⁻¹
hb₁ : 0 < (↑νA)⁻¹
⊢ νA ≠ 0

tactic: exact hn
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / (↑n + 1) < ↑c * (↑νA)⁻¹
hb₁ : 0 < (↑νA)⁻¹
⊢ ↑(1 / (↑n + 1)) < ↑c * (↑νA)⁻¹
state_after: no goals

tactic: exact hb.ne'
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / (↑n + 1) < ↑c * (↑νA)⁻¹
hb₁ : 0 < (↑νA)⁻¹
⊢ νA ≠ 0
state_after: no goals

tactic: rw [not_lt, le_zero_iff] at hb
state_before: case neg
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : ¬0 < νA
⊢ μA = 0
state_after: case neg
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : νA = 0
⊢ μA = 0

tactic: specialize hA₃ 0
state_before: case neg
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : νA = 0
⊢ μA = 0
state_after: case neg
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : νA = 0
hA₃ : ↑μA ≤ ↑(1 / (↑0 + 1)) * ↑νA
⊢ μA = 0

tactic: simp? [hb] at hA₃ says
  simp only [CharP.cast_eq_zero, zero_add, ne_eq, one_ne_zero, not_false_eq_true, div_self,
    ENNReal.coe_one, hb, ENNReal.coe_zero, mul_zero, nonpos_iff_eq_zero,
    ENNReal.coe_eq_zero] at hA₃
state_before: case neg
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : νA = 0
hA₃ : ↑μA ≤ ↑(1 / (↑0 + 1)) * ↑νA
⊢ μA = 0
state_after: case neg
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : νA = 0
hA₃ : μA = 0
⊢ μA = 0

tactic: assumption
state_before: case neg
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : νA = 0
hA₃ : μA = 0
⊢ μA = 0
state_after: no goals

tactic: simp only [CharP.cast_eq_zero, zero_add, ne_eq, one_ne_zero, not_false_eq_true, div_self,
  ENNReal.coe_one, hb, ENNReal.coe_zero, mul_zero, nonpos_iff_eq_zero,
  ENNReal.coe_eq_zero] at hA₃
state_before: case neg
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : νA = 0
hA₃ : ↑μA ≤ ↑(1 / (↑0 + 1)) * ↑νA
⊢ μA = 0
state_after: case neg
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
μA : ℝ≥0
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ν A
νA : ℝ≥0
hA₃✝ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : νA = 0
hA₃ : μA = 0
⊢ μA = 0

tactic: simp
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) (f n)ᶜ ≤
      VectorMeasure.restrict 0 (f n)ᶜ
A : Set α := ⋂ n, (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (μ.toSignedMeasure - ((1 / (↑n + 1)) • ν).toSignedMeasure) A ≤ VectorMeasure.restrict 0 A
hA₃ : ∀ (n : ℕ), μ A ≤ ↑(1 / (↑n + 1)) * ν A
hμ : μ A = 0
h : ∀ (s : Set α), MeasurableSet s → μ s = 0 → ν sᶜ ≠ 0
this : ν (⋃ i, f i) ≠ 0
n : ℕ
hn : 0 < ν (f n)
⊢ 0 < 1 / (↑n + 1)
state_after: no goals