awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA νA : ℝ≥0
hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1 < (↑c : ℝ) * (↑νA : ℝ)⁻¹
hb₁ : 0 < (↑νA : ℝ)⁻¹
h' : 1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1 * νA < c
⊢ μA ≤ c

Tactic:
le_trans ?_ h'.le

Premises used: LT.lt.le, le_trans
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA νA : ℝ≥0
hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1 < (↑c : ℝ) * (↑νA : ℝ)⁻¹
hb₁ : 0 < (↑νA : ℝ)⁻¹
h' : 1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1 * νA < c
pos : μA ≤ 1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1 * νA
⊢ μA ≤ c

Tactic:
refine le_trans ?_ h'.le

Premises used: LT.lt.le, le_trans
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA νA : ℝ≥0
hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1 < (↑c : ℝ) * (↑νA : ℝ)⁻¹
hb₁ : 0 < (↑νA : ℝ)⁻¹
h' : 1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1 * νA < c
pos : (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
⊢ μA ≤ 1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1 * νA

Tactic:
rw [← ENNReal.coe_le_coe, ENNReal.coe_mul]

Premises used: ENNReal.coe_le_coe, ENNReal.coe_mul
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA νA : ℝ≥0
hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1 < (↑c : ℝ) * (↑νA : ℝ)⁻¹
hb₁ : 0 < (↑νA : ℝ)⁻¹
h' : 1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1 * νA < c
⊢ (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)

Tactic:
hA₃ n
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA νA : ℝ≥0
hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
hb : 0 < νA
c : ℝ≥0
hc : 0 < c
n : ℕ
hn : 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1 < (↑c : ℝ) * (↑νA : ℝ)⁻¹
hb₁ : 0 < (↑νA : ℝ)⁻¹
h' : 1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1 * νA < c
⊢ (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)

Tactic:
exact hA₃ n
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA νA : ℝ≥0
hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
hb : νA ≤ 0
⊢ νA = 0

Tactic:
rw [le_zero_iff] at hb

Premises used: le_zero_iff
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
μA νA : ℝ≥0
hA₃ : ∀ (n : ℕ), (↑μA : ℝ≥0∞) ≤ (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) * (↑νA : ℝ≥0∞)
hb : νA = 0
⊢ μA = 0

Tactic:
simpa [hb] using hA₃ 0

Premises used: OfNat.ofNat
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h : ¬μ ⟂ₘ ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
hA₃ :
  ∀ (n : ℕ),
    (μ : (a : Set α) → ℝ≥0∞) A ≤
      HMul.hMul (β := ℝ≥0∞) (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) A : ℝ≥0∞)
⊢ Eq (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) A : ℝ≥0∞) (0 : ℝ≥0∞)

Tactic:
have hμ : μ A = 0 := by
    lift μ A to ℝ≥0 using measure_ne_top _ _ with μA
    lift ν A to ℝ≥0 using measure_ne_top _ _ with νA
    rw [ENNReal.coe_eq_zero]
    by_cases! hb : 0 < νA
    · 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))
      intro c hc
      have : ∃ n : ℕ, 1 / (n + 1 : ℝ) < c * (νA : ℝ)⁻¹ := by
        refine exists_nat_one_div_lt ?_
        positivity
      rcases this with ⟨n, hn⟩
      have hb₁ : (0 : ℝ) < (νA : ℝ)⁻¹ := by rw [_root_.inv_pos]; exact hb
      have h' : 1 / (↑n + 1) * νA < c := by
        rw [← NNReal.coe_lt_coe, ← mul_lt_mul_iff_left₀ hb₁, NNReal.coe_mul, mul_assoc, ←
          NNReal.coe_inv, ← NNReal.coe_mul, mul_inv_cancel₀, ← NNReal.coe_mul, mul_one,
          NNReal.coe_inv]
        · exact hn
        · exact hb.ne'
      refine le_trans ?_ h'.le
      rw [← ENNReal.coe_le_coe, ENNReal.coe_mul]
      exact hA₃ n
    · rw [le_zero_iff] at hb
      simpa [hb] using hA₃ 0
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
h :
  ¬∃ (s : Set α),
      MeasurableSet s ∧
        Eq (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (0 : ℝ≥0∞) ∧
          Eq (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) sᶜ : ℝ≥0∞) (0 : ℝ≥0∞)
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
hA₃ :
  ∀ (n : ℕ),
    (μ : (a : Set α) → ℝ≥0∞) A ≤
      HMul.hMul (β := ℝ≥0∞) (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) A : ℝ≥0∞)
hμ : Eq (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) A : ℝ≥0∞) (0 : ℝ≥0∞)
⊢ ∀ (s : Set α) (_ : MeasurableSet s) (_ : Eq (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (0 : ℝ≥0∞)),
    Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) sᶜ : ℝ≥0∞) (0 : ℝ≥0∞)

Tactic:
push Not at h

Premises used: Not
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
hA₃ :
  ∀ (n : ℕ),
    (μ : (a : Set α) → ℝ≥0∞) A ≤
      HMul.hMul (β := ℝ≥0∞) (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) A : ℝ≥0∞)
hμ : Eq (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) A : ℝ≥0∞) (0 : ℝ≥0∞)
h :
  ∀ (s : Set α) (_ : MeasurableSet s) (_ : Eq (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (0 : ℝ≥0∞)),
    Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) sᶜ : ℝ≥0∞) (0 : ℝ≥0∞)
⊢ Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) Aᶜ : ℝ≥0∞) (0 : ℝ≥0∞)

Tactic:
have := h _ hAmeas hμ
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
hA₃ :
  ∀ (n : ℕ),
    (μ : (a : Set α) → ℝ≥0∞) A ≤
      HMul.hMul (β := ℝ≥0∞) (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) A : ℝ≥0∞)
hμ : Eq (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) A : ℝ≥0∞) (0 : ℝ≥0∞)
h :
  ∀ (s : Set α) (_ : MeasurableSet s) (_ : Eq (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (0 : ℝ≥0∞)),
    Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) sᶜ : ℝ≥0∞) (0 : ℝ≥0∞)
this : Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) Aᶜ : ℝ≥0∞) (0 : ℝ≥0∞)
⊢ Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) (⋃ (i : ℕ), f i) : ℝ≥0∞) (0 : ℝ≥0∞)

Tactic:
simp_rw [A, compl_iInter, compl_compl] at this

Premises used: Set.compl_iInter, compl_compl
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
hA₃ :
  ∀ (n : ℕ),
    (μ : (a : Set α) → ℝ≥0∞) A ≤
      HMul.hMul (β := ℝ≥0∞) (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) A : ℝ≥0∞)
hμ : Eq (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) A : ℝ≥0∞) (0 : ℝ≥0∞)
h :
  ∀ (s : Set α) (_ : MeasurableSet s) (_ : Eq (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (0 : ℝ≥0∞)),
    Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) sᶜ : ℝ≥0∞) (0 : ℝ≥0∞)
this : Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) (⋃ (i : ℕ), f i) : ℝ≥0∞) (0 : ℝ≥0∞)
obtain :
  ∀ (n : ℕ) (hn : LT.lt (α := ℝ≥0∞) (0 : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) (f n) : ℝ≥0∞)),
    ∃ (ε : ℝ≥0),
      0 < ε ∧
        ∃ (E : Set α),
          MeasurableSet E ∧
            LT.lt (α := ℝ≥0∞) (0 : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) E : ℝ≥0∞) ∧
              ∀ (A : Set α),
                MeasurableSet A →
                  HMul.hMul (β := ℝ≥0∞) (↑ε : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) (A ∩ E) : ℝ≥0∞) ≤
                    (μ : (a : Set α) → ℝ≥0∞) (A ∩ E)
⊢ ∃ (ε : ℝ≥0),
    0 < ε ∧
      ∃ (E : Set α),
        MeasurableSet E ∧
          LT.lt (α := ℝ≥0∞) (0 : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) E : ℝ≥0∞) ∧
            ∀ (A : Set α),
              MeasurableSet A →
                HMul.hMul (β := ℝ≥0∞) (↑ε : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) (A ∩ E) : ℝ≥0∞) ≤
                  (μ : (a : Set α) → ℝ≥0∞) (A ∩ E)

Tactic:
obtain ⟨n, hn⟩ := exists_measure_pos_of_not_measure_iUnion_null this

Premises used: MeasureTheory.exists_measure_pos_of_not_measure_iUnion_null
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
hA₃ :
  ∀ (n : ℕ),
    (μ : (a : Set α) → ℝ≥0∞) A ≤
      HMul.hMul (β := ℝ≥0∞) (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) A : ℝ≥0∞)
hμ : Eq (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) A : ℝ≥0∞) (0 : ℝ≥0∞)
h :
  ∀ (s : Set α) (_ : MeasurableSet s) (_ : Eq (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (0 : ℝ≥0∞)),
    Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) sᶜ : ℝ≥0∞) (0 : ℝ≥0∞)
this : Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) (⋃ (i : ℕ), f i) : ℝ≥0∞) (0 : ℝ≥0∞)
n : ℕ
hn : LT.lt (α := ℝ≥0∞) (0 : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) (f n) : ℝ≥0∞)
⊢ 0 < 1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1

Tactic:
simp
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
f : (n : ℕ) → Set α
hf₁ : ∀ (n : ℕ), MeasurableSet (f n)
hf₂ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
        ((μ : (a : Set α) → ℝ≥0∞) (t ∩ f n) : ℝ≥0∞)
hf₃ :
  ∀ (n : ℕ) (t : Set α),
    MeasurableSet t →
      LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
        (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ (f n)ᶜ) : ℝ≥0∞)
A : Set α := ⋂ (n : ℕ), (f n)ᶜ
hAmeas : MeasurableSet A
hA₂ :
  ∀ (n : ℕ) (t : Set α) (ht : MeasurableSet t),
    LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
      (((1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) • ν : (a : Set α) → ℝ≥0∞) (t ∩ A) : ℝ≥0∞)
hA₃ :
  ∀ (n : ℕ),
    (μ : (a : Set α) → ℝ≥0∞) A ≤
      HMul.hMul (β := ℝ≥0∞) (↑(1 / HAdd.hAdd (α := ℝ≥0) (↑n : ℝ≥0) 1) : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) A : ℝ≥0∞)
hμ : Eq (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) A : ℝ≥0∞) (0 : ℝ≥0∞)
h :
  ∀ (s : Set α) (_ : MeasurableSet s) (_ : Eq (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (0 : ℝ≥0∞)),
    Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) sᶜ : ℝ≥0∞) (0 : ℝ≥0∞)
this : Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) (⋃ (i : ℕ), f i) : ℝ≥0∞) (0 : ℝ≥0∞)
n : ℕ
hn : LT.lt (α := ℝ≥0∞) (0 : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) (f n) : ℝ≥0∞)
⊢ ∃ (ε : ℝ≥0),
    0 < ε ∧
      ∃ (E : Set α),
        MeasurableSet E ∧
          LT.lt (α := ℝ≥0∞) (0 : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) E : ℝ≥0∞) ∧
            ∀ (A : Set α),
              MeasurableSet A →
                HMul.hMul (β := ℝ≥0∞) (↑ε : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) (A ∩ E) : ℝ≥0∞) ≤
                  (μ : (a : Set α) → ℝ≥0∞) (A ∩ E)

Tactic:
exact ⟨1 / (n + 1), by simp, f n, hf₁ n, hn, hf₂ n⟩
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
A : Set α
h : MeasurableSet A
⊢ ∫⁻ (x : α) in A, 0 x ∂μ ≤ (ν : (a : Set α) → ℝ≥0∞) A

Tactic:
simp
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : f ∈ measurableLE μ ν
hg : g ∈ measurableLE μ ν
⊢ (fun (a : α) ↦ max (f a) (g a)) ∈ measurableLE μ ν

Tactic:
⟨Measurable.max hf.1 hg.1, fun A hA ↦ ?_⟩

Premises used: Measurable.max, Set.Mem, setOf, And.left, And.intro, MeasureTheory.Measure.LebesgueDecomposition.measurableLE
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : f ∈ measurableLE μ ν
hg : g ∈ measurableLE μ ν
refine :
  ∀ (A : Set α) (hA : MeasurableSet A),
    ∫⁻ (x : α) in A, (fun (a : α) ↦ max (f a) (g a)) x ∂μ ≤ (ν : (a : Set α) → ℝ≥0∞) A
⊢ (fun (a : α) ↦ max (f a) (g a)) ∈ measurableLE μ ν

Tactic:
refine ⟨Measurable.max hf.1 hg.1, fun A hA ↦ ?_⟩
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : f ∈ measurableLE μ ν
hg : g ∈ measurableLE μ ν
A : Set α
hA : MeasurableSet A
⊢ MeasurableSet (A ∩ {a : α | f a ≤ g a})

Tactic:
have h₁ := hA.inter (measurableSet_le hf.1 hg.1)
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : f ∈ measurableLE μ ν
hg : g ∈ measurableLE μ ν
A : Set α
hA : MeasurableSet A
h₁ : MeasurableSet (A ∩ {a : α | f a ≤ g a})
⊢ MeasurableSet (A ∩ {a : α | g a < f a})

Tactic:
have h₂ := hA.inter (measurableSet_lt hg.1 hf.1)
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Lebesgue
Goal:
α : Type u_1
m : MeasurableSpace α
μ ν : Measure α
f g : α → ℝ≥0∞
hf : f ∈ measurableLE μ ν
hg : g ∈ measurableLE μ ν
A : Set α
hA : MeasurableSet A
h₁ : MeasurableSet (A ∩ {a : α | f a ≤ g a})
h₂ : MeasurableSet (A ∩ {a : α | g a < f a})
rw :
  ∫⁻ (x : α) in A ∩ {x : α | f x ≤ g x}, g x ∂μ + ∫⁻ (x : α) in A ∩ {x : α | g x < f x}, f x ∂μ ≤
    (ν : (a : Set α) → ℝ≥0∞) A
⊢ ∫⁻ (x : α) in A, (fun (a : α) ↦ max (f a) (g a)) x ∂μ ≤ (ν : (a : Set α) → ℝ≥0∞) A

Tactic:
rw [setLIntegral_max hf.1 hg.1]

Premises used: And.left, MeasureTheory.setLIntegral_max