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.63219
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
⊢ ∃ ε,
    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.63219
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
this :
  ∀ (n : ℕ),
    ∃ i,
      MeasurableSet i ∧
        VectorMeasure.restrict 0 i ≤
            VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) i ∧
          VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (iᶜ) ≤
            VectorMeasure.restrict 0 (iᶜ)
⊢ ∃ ε,
    0 < ε ∧
      ∃ E,
        MeasurableSet E ∧
          0 < ↑↑ν E ∧
            VectorMeasure.restrict 0 E ≤ VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure (ε • ν)) E

tactic: set A := ⋂ n, f nᶜ with hA₁
state_before: α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (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.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hA₁ : A = ⋂ (n : ℕ), f nᶜ
⊢ ∃ ε,
    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.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hA₁ : A = ⋂ (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 : ℕ, μ 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 [ne_of_lt (measure_lt_top _ _), ne_of_lt (measure_lt_top _ _)]
state_before: α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hA₁ : A = ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) A ≤ VectorMeasure.restrict 0 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.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hA₁ : A = ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) 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.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hA₁ : A = ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) 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: have := h _ hAmeas hμ
state_before: α : Type u_1
β : Type ?u.63219
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hA₁ : A = ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) 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: simp_rw [hA₁, compl_iInter, compl_compl] at this
state_before: α : Type u_1
β : Type ?u.63219
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hA₁ : A = ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) 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: obtain ⟨n, hn⟩ := exists_measure_pos_of_not_measure_iUnion_null this
state_before: α : Type u_1
β : Type ?u.63219
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hA₁ : A = ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) 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: exact ⟨1 / (n + 1), by simp, f n, hf₁ n, hn, hf₂ n⟩
state_before: case intro
α : Type u_1
β : Type ?u.63219
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hA₁ : A = ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) 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: intro
state_before: α : Type u_1
β : Type ?u.63219
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
⊢ ∀ (n : ℕ),
    ∃ i,
      MeasurableSet i ∧
        VectorMeasure.restrict 0 i ≤
            VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) i ∧
          VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (iᶜ) ≤
            VectorMeasure.restrict 0 (iᶜ)

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

tactic: intro n
state_before: α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hA₁ : A = ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet A
⊢ ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) 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.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hA₁ : A = ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet A
n : ℕ
⊢ VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) A ≤ VectorMeasure.restrict 0 A

tactic: intro n
state_before: α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hA₁ : A = ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) 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.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hA₁ : A = ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) A ≤ VectorMeasure.restrict 0 A
n : ℕ
⊢ ↑↑μ 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.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hA₁ : A = ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) A ≤ VectorMeasure.restrict 0 A
n : ℕ
this : ↑(toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) A ≤ 0
⊢ ↑↑μ A ≤ ↑(1 / (↑n + 1)) * ↑↑ν A

tactic: exacts [ne_of_lt (measure_lt_top _ _), ne_of_lt (measure_lt_top _ _)]
state_before: case ha
α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hA₁ : A = ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) A ≤ VectorMeasure.restrict 0 A
n : ℕ
this : ENNReal.toReal (↑↑μ A) ≤ ENNReal.toReal (↑↑((1 / (↑n + 1)) • ν) A)
⊢ ↑↑μ A ≠ ⊤

case hb
α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hA₁ : A = ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) A ≤ VectorMeasure.restrict 0 A
n : ℕ
this : ENNReal.toReal (↑↑μ A) ≤ ENNReal.toReal (↑↑((1 / (↑n + 1)) • ν) A)
⊢ ↑↑((1 / (↑n + 1)) • ν) A ≠ ⊤

tactic: lift μ A to ℝ≥0 using ne_of_lt (measure_lt_top _ _) with μA
state_before: α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hA₁ : A = ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) A ≤ VectorMeasure.restrict 0 A
hA₃ : ∀ (n : ℕ), ↑↑μ A ≤ ↑(1 / (↑n + 1)) * ↑↑ν A
⊢ ↑↑μ A = 0

tactic: lift ν A to ℝ≥0 using ne_of_lt (measure_lt_top _ _) with νA
state_before: case intro
α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
⊢ ↑μA = 0

tactic: rw [ENNReal.coe_eq_zero]
state_before: case intro.intro
α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
ν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.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑ν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.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
⊢ μA = 0

tactic: intro c hc
state_before: case pos
α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
⊢ ∀ (b : ℝ≥0), 0 < b → μA ≤ b

tactic: have : ∃ n : ℕ, 1 / (n + 1 : ℝ) < c * (νA : ℝ)⁻¹
state_before: case pos
α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
⊢ μA ≤ c

tactic: refine' exists_nat_one_div_lt _
state_before: case this
α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
⊢ ∃ n, 1 / (↑n + 1) < ↑c * (↑νA)⁻¹

case pos
α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
ν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.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
ν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: have hb₁ : (0 : ℝ) < (νA : ℝ)⁻¹ := by rw [_root_.inv_pos]; exact hb
state_before: case pos.intro
α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
ν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: refine' le_trans _ (le_of_lt h')
state_before: case pos.intro
α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
ν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

tactic: rw [← ENNReal.coe_le_coe, ENNReal.coe_mul]
state_before: case pos.intro
α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
ν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.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
ν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: by_contra h
state_before: α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
this : ∀ (b : ℝ≥0), 0 < b → μA ≤ b
⊢ μA = 0

tactic: have h' := this (μA / 2) (half_pos (zero_lt_iff.2 h))
state_before: α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
ν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: rw [← @Classical.not_not (μA ≤ μA / 2)] at h'
state_before: α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
ν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.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
ν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: refine' mul_pos hc _
state_before: case this
α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
⊢ 0 < ↑c * (↑νA)⁻¹

tactic: rw [_root_.inv_pos]
state_before: case this
α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
⊢ 0 < (↑νA)⁻¹

tactic: exact hb
state_before: case this
α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
⊢ 0 < ↑νA

tactic: rw [_root_.inv_pos]
state_before: α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
ν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.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
ν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: 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.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
ν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

tactic: exact hn
state_before: α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
ν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)⁻¹

tactic: exact Ne.symm (ne_of_lt hb)
state_before: α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
ν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: rw [not_lt, le_zero_iff] at hb
state_before: case neg
α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : ¬0 < νA
⊢ μA = 0

tactic: specialize hA₃ 0
state_before: case neg
α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
νA : ℝ≥0
hA₃✝ hA₃ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : νA = 0
⊢ μA = 0

tactic: simp [hb, le_zero_iff] at hA₃
state_before: case neg
α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
νA : ℝ≥0
hA₃✝ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑νA
hb : νA = 0
hA₃ : ↑μA ≤ ↑(1 / (↑0 + 1)) * ↑νA
⊢ μA = 0

tactic: assumption
state_before: case neg
α : Type u_1
β : Type ?u.63219
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 μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet (⋂ (n : ℕ), f nᶜ)
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (⋂ (n : ℕ), f nᶜ) ≤
      VectorMeasure.restrict 0 (⋂ (n : ℕ), f nᶜ)
μA : ℝ≥0
hA₁✝ hA₁ : True
hA₃✝¹ : ∀ (n : ℕ), ↑μA ≤ ↑(1 / (↑n + 1)) * ↑↑ν (⋂ (n : ℕ), f nᶜ)
ν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.63219
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
f : ℕ → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict 0 (f n) ≤
      VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f n)
hf₃ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) (f nᶜ) ≤
      VectorMeasure.restrict 0 (f nᶜ)
A : Set α := ⋂ (n : ℕ), f nᶜ
hA₁ : A = ⋂ (n : ℕ), f nᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ),
    VectorMeasure.restrict (toSignedMeasure μ - toSignedMeasure ((1 / (↑n + 1)) • ν)) 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)