awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Hahn
Goal:
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
d : Set α → ℝ :=
  fun (s : Set α) ↦
    (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) s)) : ℝ) - (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) s)) : ℝ)
c : Set ℝ := d '' {s : Set α | MeasurableSet s}
γ : ℝ := sSup c
hμ : ∀ (s : Set α), Ne (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (∞ : ℝ≥0∞)
hν : ∀ (s : Set α), Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (∞ : ℝ≥0∞)
to_nnreal_μ : ∀ (s : Set α), (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) s)) : ℝ≥0∞) = (μ : (a : Set α) → ℝ≥0∞) s
to_nnreal_ν : ∀ (s : Set α), (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) s)) : ℝ≥0∞) = (ν : (a : Set α) → ℝ≥0∞) s
d_split : ∀ (s t : Set α) (ht : MeasurableSet t), d s = d (s \ t) + d (s ∩ t)
d_Union : ∀ (s : ℕ → Set α) (hm : Monotone s), Tendsto (fun (n : ℕ) ↦ d (s n)) atTop (𝓝 (d (⋃ (n : ℕ), s n)))
d_Inter :
  ∀ (s : ℕ → Set α) (hs : ∀ (n : ℕ), MeasurableSet (s n)) (hm : ∀ (n m : ℕ), n ≤ m → s m ⊆ s n),
    Tendsto (fun (n : ℕ) ↦ d (s n)) atTop (𝓝 (d (⋂ (n : ℕ), s n)))
bdd_c : BddAbove c
c_nonempty : c.Nonempty
d_le_γ : ∀ (s : Set α), MeasurableSet s → d s ≤ γ
this_1 : ∀ (n : ℕ), ∃ (s : Set α), MeasurableSet s ∧ γ - (1 / 2) ^ n < d s
e : ℕ → Set α
he : ∀ (x : ℕ), MeasurableSet (e x) ∧ γ - (1 / 2) ^ x < d (e x)
he₁ : ∀ (n : ℕ), MeasurableSet (e n)
he₂ : ∀ (n : ℕ), γ - (1 / 2) ^ n < d (e n)
f : ℕ → ℕ → Set α := fun (n m : ℕ) ↦ (Finset.Ico n (m + 1)).inf e
hf : ∀ (n m : ℕ), MeasurableSet (f n m)
f_subset_f : ∀ {a b c d : ℕ} (hab : a ≤ b) (hcd : c ≤ d), f a d ⊆ f b c
f_succ : ∀ (n m : ℕ) (hnm : n ≤ m), f n (m + 1) = f n m ∩ e (m + 1)
le_d_f : ∀ (n m : ℕ) (h : m ≤ n), γ - 2 * (1 / 2) ^ m + (1 / 2) ^ n ≤ d (f m n)
s : Set α := ⋃ (m : ℕ), ⋂ (n : ℕ), f m n
γ_le_d_s : γ ≤ d s
hs : MeasurableSet s
t : Set α
ht : MeasurableSet t
hts : t ⊆ s
this : 0 ≤ d t
⊢ (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) t)) : ℝ) ≤ (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) t)) : ℝ)

Tactic:
simpa only [d, le_sub_iff_add_le, zero_add] using this

Premises used: zero_add, le_sub_iff_add_le
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Hahn
Goal:
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
d : Set α → ℝ :=
  fun (s : Set α) ↦
    (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) s)) : ℝ) - (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) s)) : ℝ)
c : Set ℝ := d '' {s : Set α | MeasurableSet s}
γ : ℝ := sSup c
hμ : ∀ (s : Set α), Ne (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (∞ : ℝ≥0∞)
hν : ∀ (s : Set α), Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (∞ : ℝ≥0∞)
to_nnreal_μ : ∀ (s : Set α), (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) s)) : ℝ≥0∞) = (μ : (a : Set α) → ℝ≥0∞) s
to_nnreal_ν : ∀ (s : Set α), (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) s)) : ℝ≥0∞) = (ν : (a : Set α) → ℝ≥0∞) s
d_split : ∀ (s t : Set α) (ht : MeasurableSet t), d s = d (s \ t) + d (s ∩ t)
d_Union : ∀ (s : ℕ → Set α) (hm : Monotone s), Tendsto (fun (n : ℕ) ↦ d (s n)) atTop (𝓝 (d (⋃ (n : ℕ), s n)))
d_Inter :
  ∀ (s : ℕ → Set α) (hs : ∀ (n : ℕ), MeasurableSet (s n)) (hm : ∀ (n m : ℕ), n ≤ m → s m ⊆ s n),
    Tendsto (fun (n : ℕ) ↦ d (s n)) atTop (𝓝 (d (⋂ (n : ℕ), s n)))
bdd_c : BddAbove c
c_nonempty : c.Nonempty
d_le_γ : ∀ (s : Set α), MeasurableSet s → d s ≤ γ
this : ∀ (n : ℕ), ∃ (s : Set α), MeasurableSet s ∧ γ - (1 / 2) ^ n < d s
e : ℕ → Set α
he : ∀ (x : ℕ), MeasurableSet (e x) ∧ γ - (1 / 2) ^ x < d (e x)
he₁ : ∀ (n : ℕ), MeasurableSet (e n)
he₂ : ∀ (n : ℕ), γ - (1 / 2) ^ n < d (e n)
f : ℕ → ℕ → Set α := fun (n m : ℕ) ↦ (Finset.Ico n (m + 1)).inf e
hf : ∀ (n m : ℕ), MeasurableSet (f n m)
f_subset_f : ∀ {a b c d : ℕ} (hab : a ≤ b) (hcd : c ≤ d), f a d ⊆ f b c
f_succ : ∀ (n m : ℕ) (hnm : n ≤ m), f n (m + 1) = f n m ∩ e (m + 1)
le_d_f : ∀ (n m : ℕ) (h : m ≤ n), γ - 2 * (1 / 2) ^ m + (1 / 2) ^ n ≤ d (f m n)
s : Set α := ⋃ (m : ℕ), ⋂ (n : ℕ), f m n
γ_le_d_s : γ ≤ d s
hs : MeasurableSet s
t : Set α
ht : MeasurableSet t
hts : t ⊆ sᶜ
⊢ γ + d t ≤ d s + d t

Tactic:
gcongr
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Hahn
Goal:
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
d : Set α → ℝ :=
  fun (s : Set α) ↦
    (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) s)) : ℝ) - (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) s)) : ℝ)
c : Set ℝ := d '' {s : Set α | MeasurableSet s}
γ : ℝ := sSup c
hμ : ∀ (s : Set α), Ne (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (∞ : ℝ≥0∞)
hν : ∀ (s : Set α), Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (∞ : ℝ≥0∞)
to_nnreal_μ : ∀ (s : Set α), (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) s)) : ℝ≥0∞) = (μ : (a : Set α) → ℝ≥0∞) s
to_nnreal_ν : ∀ (s : Set α), (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) s)) : ℝ≥0∞) = (ν : (a : Set α) → ℝ≥0∞) s
d_split : ∀ (s t : Set α) (ht : MeasurableSet t), d s = d (s \ t) + d (s ∩ t)
d_Union : ∀ (s : ℕ → Set α) (hm : Monotone s), Tendsto (fun (n : ℕ) ↦ d (s n)) atTop (𝓝 (d (⋃ (n : ℕ), s n)))
d_Inter :
  ∀ (s : ℕ → Set α) (hs : ∀ (n : ℕ), MeasurableSet (s n)) (hm : ∀ (n m : ℕ), n ≤ m → s m ⊆ s n),
    Tendsto (fun (n : ℕ) ↦ d (s n)) atTop (𝓝 (d (⋂ (n : ℕ), s n)))
bdd_c : BddAbove c
c_nonempty : c.Nonempty
d_le_γ : ∀ (s : Set α), MeasurableSet s → d s ≤ γ
this : ∀ (n : ℕ), ∃ (s : Set α), MeasurableSet s ∧ γ - (1 / 2) ^ n < d s
e : ℕ → Set α
he : ∀ (x : ℕ), MeasurableSet (e x) ∧ γ - (1 / 2) ^ x < d (e x)
he₁ : ∀ (n : ℕ), MeasurableSet (e n)
he₂ : ∀ (n : ℕ), γ - (1 / 2) ^ n < d (e n)
f : ℕ → ℕ → Set α := fun (n m : ℕ) ↦ (Finset.Ico n (m + 1)).inf e
hf : ∀ (n m : ℕ), MeasurableSet (f n m)
f_subset_f : ∀ {a b c d : ℕ} (hab : a ≤ b) (hcd : c ≤ d), f a d ⊆ f b c
f_succ : ∀ (n m : ℕ) (hnm : n ≤ m), f n (m + 1) = f n m ∩ e (m + 1)
le_d_f : ∀ (n m : ℕ) (h : m ≤ n), γ - 2 * (1 / 2) ^ m + (1 / 2) ^ n ≤ d (f m n)
s : Set α := ⋃ (m : ℕ), ⋂ (n : ℕ), f m n
γ_le_d_s : γ ≤ d s
hs : MeasurableSet s
t : Set α
ht : MeasurableSet t
hts : t ⊆ sᶜ
rw : d s + d t = d ((s ∪ t) \ t) + d ((s ∪ t) ∩ t)
rw₁ : d s + d t = d (s \ t) + d ((s ∪ t) ∩ t)
rw₂ : d s + d t = d (s \ t) + d t
rw₃ rw₄ : d s + d t = d s + d t
⊢ d s + d t = d (s ∪ t)

Tactic:
rw [d_split (s ∪ t) _ ht, union_diff_right, union_inter_cancel_right,
              (subset_compl_iff_disjoint_left.1 hts).sdiff_eq_left]

Premises used: Disjoint.sdiff_eq_left, Set.subset_compl_iff_disjoint_left, Set.union_diff_right, Iff.mp, Union.union, Set.union_inter_cancel_right
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Hahn
Goal:
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
d : Set α → ℝ :=
  fun (s : Set α) ↦
    (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) s)) : ℝ) - (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) s)) : ℝ)
c : Set ℝ := d '' {s : Set α | MeasurableSet s}
γ : ℝ := sSup c
hμ : ∀ (s : Set α), Ne (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (∞ : ℝ≥0∞)
hν : ∀ (s : Set α), Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (∞ : ℝ≥0∞)
to_nnreal_μ : ∀ (s : Set α), (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) s)) : ℝ≥0∞) = (μ : (a : Set α) → ℝ≥0∞) s
to_nnreal_ν : ∀ (s : Set α), (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) s)) : ℝ≥0∞) = (ν : (a : Set α) → ℝ≥0∞) s
d_split : ∀ (s t : Set α) (ht : MeasurableSet t), d s = d (s \ t) + d (s ∩ t)
d_Union : ∀ (s : ℕ → Set α) (hm : Monotone s), Tendsto (fun (n : ℕ) ↦ d (s n)) atTop (𝓝 (d (⋃ (n : ℕ), s n)))
d_Inter :
  ∀ (s : ℕ → Set α) (hs : ∀ (n : ℕ), MeasurableSet (s n)) (hm : ∀ (n m : ℕ), n ≤ m → s m ⊆ s n),
    Tendsto (fun (n : ℕ) ↦ d (s n)) atTop (𝓝 (d (⋂ (n : ℕ), s n)))
bdd_c : BddAbove c
c_nonempty : c.Nonempty
d_le_γ : ∀ (s : Set α), MeasurableSet s → d s ≤ γ
this : ∀ (n : ℕ), ∃ (s : Set α), MeasurableSet s ∧ γ - (1 / 2) ^ n < d s
e : ℕ → Set α
he : ∀ (x : ℕ), MeasurableSet (e x) ∧ γ - (1 / 2) ^ x < d (e x)
he₁ : ∀ (n : ℕ), MeasurableSet (e n)
he₂ : ∀ (n : ℕ), γ - (1 / 2) ^ n < d (e n)
f : ℕ → ℕ → Set α := fun (n m : ℕ) ↦ (Finset.Ico n (m + 1)).inf e
hf : ∀ (n m : ℕ), MeasurableSet (f n m)
f_subset_f : ∀ {a b c d : ℕ} (hab : a ≤ b) (hcd : c ≤ d), f a d ⊆ f b c
f_succ : ∀ (n m : ℕ) (hnm : n ≤ m), f n (m + 1) = f n m ∩ e (m + 1)
le_d_f : ∀ (n m : ℕ) (h : m ≤ n), γ - 2 * (1 / 2) ^ m + (1 / 2) ^ n ≤ d (f m n)
s : Set α := ⋃ (m : ℕ), ⋂ (n : ℕ), f m n
γ_le_d_s : γ ≤ d s
hs : MeasurableSet s
t : Set α
ht : MeasurableSet t
hts : t ⊆ sᶜ
rw : d (s ∪ t) ≤ γ
⊢ d (s ∪ t) ≤ γ + 0

Tactic:
rw [add_zero]

Premises used: add_zero
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Hahn
Goal:
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
d : Set α → ℝ :=
  fun (s : Set α) ↦
    (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) s)) : ℝ) - (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) s)) : ℝ)
c : Set ℝ := d '' {s : Set α | MeasurableSet s}
γ : ℝ := sSup c
hμ : ∀ (s : Set α), Ne (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (∞ : ℝ≥0∞)
hν : ∀ (s : Set α), Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (∞ : ℝ≥0∞)
to_nnreal_μ : ∀ (s : Set α), (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) s)) : ℝ≥0∞) = (μ : (a : Set α) → ℝ≥0∞) s
to_nnreal_ν : ∀ (s : Set α), (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) s)) : ℝ≥0∞) = (ν : (a : Set α) → ℝ≥0∞) s
d_split : ∀ (s t : Set α) (ht : MeasurableSet t), d s = d (s \ t) + d (s ∩ t)
d_Union : ∀ (s : ℕ → Set α) (hm : Monotone s), Tendsto (fun (n : ℕ) ↦ d (s n)) atTop (𝓝 (d (⋃ (n : ℕ), s n)))
d_Inter :
  ∀ (s : ℕ → Set α) (hs : ∀ (n : ℕ), MeasurableSet (s n)) (hm : ∀ (n m : ℕ), n ≤ m → s m ⊆ s n),
    Tendsto (fun (n : ℕ) ↦ d (s n)) atTop (𝓝 (d (⋂ (n : ℕ), s n)))
bdd_c : BddAbove c
c_nonempty : c.Nonempty
d_le_γ : ∀ (s : Set α), MeasurableSet s → d s ≤ γ
this : ∀ (n : ℕ), ∃ (s : Set α), MeasurableSet s ∧ γ - (1 / 2) ^ n < d s
e : ℕ → Set α
he : ∀ (x : ℕ), MeasurableSet (e x) ∧ γ - (1 / 2) ^ x < d (e x)
he₁ : ∀ (n : ℕ), MeasurableSet (e n)
he₂ : ∀ (n : ℕ), γ - (1 / 2) ^ n < d (e n)
f : ℕ → ℕ → Set α := fun (n m : ℕ) ↦ (Finset.Ico n (m + 1)).inf e
hf : ∀ (n m : ℕ), MeasurableSet (f n m)
f_subset_f : ∀ {a b c d : ℕ} (hab : a ≤ b) (hcd : c ≤ d), f a d ⊆ f b c
f_succ : ∀ (n m : ℕ) (hnm : n ≤ m), f n (m + 1) = f n m ∩ e (m + 1)
le_d_f : ∀ (n m : ℕ) (h : m ≤ n), γ - 2 * (1 / 2) ^ m + (1 / 2) ^ n ≤ d (f m n)
s : Set α := ⋃ (m : ℕ), ⋂ (n : ℕ), f m n
γ_le_d_s : γ ≤ d s
hs : MeasurableSet s
t : Set α
ht : MeasurableSet t
hts : t ⊆ sᶜ
⊢ d (s ∪ t) ≤ γ

Tactic:
d_le_γ _ (hs.union ht)

Premises used: MeasurableSet.union
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Hahn
Goal:
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
d : Set α → ℝ :=
  fun (s : Set α) ↦
    (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) s)) : ℝ) - (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) s)) : ℝ)
c : Set ℝ := d '' {s : Set α | MeasurableSet s}
γ : ℝ := sSup c
hμ : ∀ (s : Set α), Ne (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (∞ : ℝ≥0∞)
hν : ∀ (s : Set α), Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (∞ : ℝ≥0∞)
to_nnreal_μ : ∀ (s : Set α), (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) s)) : ℝ≥0∞) = (μ : (a : Set α) → ℝ≥0∞) s
to_nnreal_ν : ∀ (s : Set α), (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) s)) : ℝ≥0∞) = (ν : (a : Set α) → ℝ≥0∞) s
d_split : ∀ (s t : Set α) (ht : MeasurableSet t), d s = d (s \ t) + d (s ∩ t)
d_Union : ∀ (s : ℕ → Set α) (hm : Monotone s), Tendsto (fun (n : ℕ) ↦ d (s n)) atTop (𝓝 (d (⋃ (n : ℕ), s n)))
d_Inter :
  ∀ (s : ℕ → Set α) (hs : ∀ (n : ℕ), MeasurableSet (s n)) (hm : ∀ (n m : ℕ), n ≤ m → s m ⊆ s n),
    Tendsto (fun (n : ℕ) ↦ d (s n)) atTop (𝓝 (d (⋂ (n : ℕ), s n)))
bdd_c : BddAbove c
c_nonempty : c.Nonempty
d_le_γ : ∀ (s : Set α), MeasurableSet s → d s ≤ γ
this : ∀ (n : ℕ), ∃ (s : Set α), MeasurableSet s ∧ γ - (1 / 2) ^ n < d s
e : ℕ → Set α
he : ∀ (x : ℕ), MeasurableSet (e x) ∧ γ - (1 / 2) ^ x < d (e x)
he₁ : ∀ (n : ℕ), MeasurableSet (e n)
he₂ : ∀ (n : ℕ), γ - (1 / 2) ^ n < d (e n)
f : ℕ → ℕ → Set α := fun (n m : ℕ) ↦ (Finset.Ico n (m + 1)).inf e
hf : ∀ (n m : ℕ), MeasurableSet (f n m)
f_subset_f : ∀ {a b c d : ℕ} (hab : a ≤ b) (hcd : c ≤ d), f a d ⊆ f b c
f_succ : ∀ (n m : ℕ) (hnm : n ≤ m), f n (m + 1) = f n m ∩ e (m + 1)
le_d_f : ∀ (n m : ℕ) (h : m ≤ n), γ - 2 * (1 / 2) ^ m + (1 / 2) ^ n ≤ d (f m n)
s : Set α := ⋃ (m : ℕ), ⋂ (n : ℕ), f m n
γ_le_d_s : γ ≤ d s
hs : MeasurableSet s
t : Set α
ht : MeasurableSet t
hts : t ⊆ sᶜ
⊢ d (s ∪ t) ≤ γ

Tactic:
exact d_le_γ _ (hs.union ht)

Premises used: MeasurableSet.union
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Hahn
Goal:
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
d : Set α → ℝ :=
  fun (s : Set α) ↦
    (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) s)) : ℝ) - (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) s)) : ℝ)
c : Set ℝ := d '' {s : Set α | MeasurableSet s}
γ : ℝ := sSup c
hμ : ∀ (s : Set α), Ne (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (∞ : ℝ≥0∞)
hν : ∀ (s : Set α), Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (∞ : ℝ≥0∞)
to_nnreal_μ : ∀ (s : Set α), (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) s)) : ℝ≥0∞) = (μ : (a : Set α) → ℝ≥0∞) s
to_nnreal_ν : ∀ (s : Set α), (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) s)) : ℝ≥0∞) = (ν : (a : Set α) → ℝ≥0∞) s
d_split : ∀ (s t : Set α) (ht : MeasurableSet t), d s = d (s \ t) + d (s ∩ t)
d_Union : ∀ (s : ℕ → Set α) (hm : Monotone s), Tendsto (fun (n : ℕ) ↦ d (s n)) atTop (𝓝 (d (⋃ (n : ℕ), s n)))
d_Inter :
  ∀ (s : ℕ → Set α) (hs : ∀ (n : ℕ), MeasurableSet (s n)) (hm : ∀ (n m : ℕ), n ≤ m → s m ⊆ s n),
    Tendsto (fun (n : ℕ) ↦ d (s n)) atTop (𝓝 (d (⋂ (n : ℕ), s n)))
bdd_c : BddAbove c
c_nonempty : c.Nonempty
d_le_γ : ∀ (s : Set α), MeasurableSet s → d s ≤ γ
this : ∀ (n : ℕ), ∃ (s : Set α), MeasurableSet s ∧ γ - (1 / 2) ^ n < d s
e : ℕ → Set α
he : ∀ (x : ℕ), MeasurableSet (e x) ∧ γ - (1 / 2) ^ x < d (e x)
he₁ : ∀ (n : ℕ), MeasurableSet (e n)
he₂ : ∀ (n : ℕ), γ - (1 / 2) ^ n < d (e n)
f : ℕ → ℕ → Set α := fun (n m : ℕ) ↦ (Finset.Ico n (m + 1)).inf e
hf : ∀ (n m : ℕ), MeasurableSet (f n m)
f_subset_f : ∀ {a b c d : ℕ} (hab : a ≤ b) (hcd : c ≤ d), f a d ⊆ f b c
f_succ : ∀ (n m : ℕ) (hnm : n ≤ m), f n (m + 1) = f n m ∩ e (m + 1)
le_d_f : ∀ (n m : ℕ) (h : m ≤ n), γ - 2 * (1 / 2) ^ m + (1 / 2) ^ n ≤ d (f m n)
s : Set α := ⋃ (m : ℕ), ⋂ (n : ℕ), f m n
γ_le_d_s : γ ≤ d s
hs : MeasurableSet s
t : Set α
ht : MeasurableSet t
hts : t ⊆ sᶜ
⊢ d t ≤ 0

Tactic:
have : d t ≤ 0 :=
      (add_le_add_iff_left γ).1 <|
        calc
          γ + d t ≤ d s + d t := by gcongr
          _ = d (s ∪ t) := by
            rw [d_split (s ∪ t) _ ht, union_diff_right, union_inter_cancel_right,
              (subset_compl_iff_disjoint_left.1 hts).sdiff_eq_left]
          _ ≤ γ + 0 := by rw [add_zero]; exact d_le_γ _ (hs.union ht)
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Hahn
Goal:
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
d : Set α → ℝ :=
  fun (s : Set α) ↦
    (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) s)) : ℝ) - (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) s)) : ℝ)
c : Set ℝ := d '' {s : Set α | MeasurableSet s}
γ : ℝ := sSup c
hμ : ∀ (s : Set α), Ne (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (∞ : ℝ≥0∞)
hν : ∀ (s : Set α), Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (∞ : ℝ≥0∞)
to_nnreal_μ : ∀ (s : Set α), (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) s)) : ℝ≥0∞) = (μ : (a : Set α) → ℝ≥0∞) s
to_nnreal_ν : ∀ (s : Set α), (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) s)) : ℝ≥0∞) = (ν : (a : Set α) → ℝ≥0∞) s
d_split : ∀ (s t : Set α) (ht : MeasurableSet t), d s = d (s \ t) + d (s ∩ t)
d_Union : ∀ (s : ℕ → Set α) (hm : Monotone s), Tendsto (fun (n : ℕ) ↦ d (s n)) atTop (𝓝 (d (⋃ (n : ℕ), s n)))
d_Inter :
  ∀ (s : ℕ → Set α) (hs : ∀ (n : ℕ), MeasurableSet (s n)) (hm : ∀ (n m : ℕ), n ≤ m → s m ⊆ s n),
    Tendsto (fun (n : ℕ) ↦ d (s n)) atTop (𝓝 (d (⋂ (n : ℕ), s n)))
bdd_c : BddAbove c
c_nonempty : c.Nonempty
d_le_γ : ∀ (s : Set α), MeasurableSet s → d s ≤ γ
this_1 : ∀ (n : ℕ), ∃ (s : Set α), MeasurableSet s ∧ γ - (1 / 2) ^ n < d s
e : ℕ → Set α
he : ∀ (x : ℕ), MeasurableSet (e x) ∧ γ - (1 / 2) ^ x < d (e x)
he₁ : ∀ (n : ℕ), MeasurableSet (e n)
he₂ : ∀ (n : ℕ), γ - (1 / 2) ^ n < d (e n)
f : ℕ → ℕ → Set α := fun (n m : ℕ) ↦ (Finset.Ico n (m + 1)).inf e
hf : ∀ (n m : ℕ), MeasurableSet (f n m)
f_subset_f : ∀ {a b c d : ℕ} (hab : a ≤ b) (hcd : c ≤ d), f a d ⊆ f b c
f_succ : ∀ (n m : ℕ) (hnm : n ≤ m), f n (m + 1) = f n m ∩ e (m + 1)
le_d_f : ∀ (n m : ℕ) (h : m ≤ n), γ - 2 * (1 / 2) ^ m + (1 / 2) ^ n ≤ d (f m n)
s : Set α := ⋃ (m : ℕ), ⋂ (n : ℕ), f m n
γ_le_d_s : γ ≤ d s
hs : MeasurableSet s
t : Set α
ht : MeasurableSet t
hts : t ⊆ sᶜ
this : d t ≤ 0
refine_2 :
  (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) t)) : ℝ) ≤ (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) t)) : ℝ)
⊢ LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞)

Tactic:
rw [← to_nnreal_μ, ← to_nnreal_ν, ENNReal.coe_le_coe, ← NNReal.coe_le_coe]

Premises used: ENNReal.coe_le_coe, NNReal.coe_le_coe
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Hahn
Goal:
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
d : Set α → ℝ :=
  fun (s : Set α) ↦
    (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) s)) : ℝ) - (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) s)) : ℝ)
c : Set ℝ := d '' {s : Set α | MeasurableSet s}
γ : ℝ := sSup c
hμ : ∀ (s : Set α), Ne (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (∞ : ℝ≥0∞)
hν : ∀ (s : Set α), Ne (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) s : ℝ≥0∞) (∞ : ℝ≥0∞)
to_nnreal_μ : ∀ (s : Set α), (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) s)) : ℝ≥0∞) = (μ : (a : Set α) → ℝ≥0∞) s
to_nnreal_ν : ∀ (s : Set α), (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) s)) : ℝ≥0∞) = (ν : (a : Set α) → ℝ≥0∞) s
d_split : ∀ (s t : Set α) (ht : MeasurableSet t), d s = d (s \ t) + d (s ∩ t)
d_Union : ∀ (s : ℕ → Set α) (hm : Monotone s), Tendsto (fun (n : ℕ) ↦ d (s n)) atTop (𝓝 (d (⋃ (n : ℕ), s n)))
d_Inter :
  ∀ (s : ℕ → Set α) (hs : ∀ (n : ℕ), MeasurableSet (s n)) (hm : ∀ (n m : ℕ), n ≤ m → s m ⊆ s n),
    Tendsto (fun (n : ℕ) ↦ d (s n)) atTop (𝓝 (d (⋂ (n : ℕ), s n)))
bdd_c : BddAbove c
c_nonempty : c.Nonempty
d_le_γ : ∀ (s : Set α), MeasurableSet s → d s ≤ γ
this_1 : ∀ (n : ℕ), ∃ (s : Set α), MeasurableSet s ∧ γ - (1 / 2) ^ n < d s
e : ℕ → Set α
he : ∀ (x : ℕ), MeasurableSet (e x) ∧ γ - (1 / 2) ^ x < d (e x)
he₁ : ∀ (n : ℕ), MeasurableSet (e n)
he₂ : ∀ (n : ℕ), γ - (1 / 2) ^ n < d (e n)
f : ℕ → ℕ → Set α := fun (n m : ℕ) ↦ (Finset.Ico n (m + 1)).inf e
hf : ∀ (n m : ℕ), MeasurableSet (f n m)
f_subset_f : ∀ {a b c d : ℕ} (hab : a ≤ b) (hcd : c ≤ d), f a d ⊆ f b c
f_succ : ∀ (n m : ℕ) (hnm : n ≤ m), f n (m + 1) = f n m ∩ e (m + 1)
le_d_f : ∀ (n m : ℕ) (h : m ≤ n), γ - 2 * (1 / 2) ^ m + (1 / 2) ^ n ≤ d (f m n)
s : Set α := ⋃ (m : ℕ), ⋂ (n : ℕ), f m n
γ_le_d_s : γ ≤ d s
hs : MeasurableSet s
t : Set α
ht : MeasurableSet t
hts : t ⊆ sᶜ
this : d t ≤ 0
⊢ (↑(ENNReal.toNNReal ((μ : (a : Set α) → ℝ≥0∞) t)) : ℝ) ≤ (↑(ENNReal.toNNReal ((ν : (a : Set α) → ℝ≥0∞) t)) : ℝ)

Tactic:
simpa only [d, sub_le_iff_le_add, zero_add] using this

Premises used: sub_le_iff_le_add, zero_add
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Hahn
Goal:
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
s : Set α
h : IsHahnDecomposition μ ν s
⊢ μ.restrict sᶜᶜ ≤ ν.restrict sᶜᶜ

Tactic:
simpa using h.le_on

Premises used: MeasureTheory.IsHahnDecomposition.le_on
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Hahn
Goal:
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
obtain :
  ∀ (s : Set α) (hs : MeasurableSet s)
    (h₁ :
      ∀ (t : Set α),
        MeasurableSet t →
          t ⊆ s → LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞))
    (h₂ :
      ∀ (t : Set α),
        MeasurableSet t →
          t ⊆ sᶜ → LE.le (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞)),
    ∃ (s : Set α), IsHahnDecomposition μ ν s
⊢ ∃ (s : Set α), IsHahnDecomposition μ ν s

Tactic:
obtain ⟨s, hs, h₁, h₂⟩ := hahn_decomposition ν μ

Premises used: MeasureTheory.hahn_decomposition
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Hahn
Goal:
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
s : Set α
hs : MeasurableSet s
h₁ :
  ∀ (t : Set α),
    MeasurableSet t → t ⊆ s → LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞)
h₂ :
  ∀ (t : Set α),
    MeasurableSet t → t ⊆ sᶜ → LE.le (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞)
⊢ ∃ (s : Set α), IsHahnDecomposition μ ν s

Tactic:
⟨s, hs, ?_, ?_⟩

Premises used: Exists.intro, MeasureTheory.IsHahnDecomposition.mk
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Hahn
Goal:
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
s : Set α
hs : MeasurableSet s
h₁ :
  ∀ (t : Set α),
    MeasurableSet t → t ⊆ s → LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞)
h₂ :
  ∀ (t : Set α),
    MeasurableSet t → t ⊆ sᶜ → LE.le (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞)
refine_1 : μ.restrict s ≤ ν.restrict s
refine_2 : ν.restrict sᶜ ≤ μ.restrict sᶜ
⊢ ∃ (s : Set α), IsHahnDecomposition μ ν s

Tactic:
refine ⟨s, hs, ?_, ?_⟩
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Hahn
Goal:
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
s : Set α
hs : MeasurableSet s
h₁ :
  ∀ (t : Set α),
    MeasurableSet t → t ⊆ s → LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞)
h₂ :
  ∀ (t : Set α),
    MeasurableSet t → t ⊆ sᶜ → LE.le (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞)
refine_1 :
  ∀ (s_1 : Set α),
    MeasurableSet s_1 →
      LE.le (α := ℝ≥0∞) ((μ.restrict s : (a : Set α) → ℝ≥0∞) s_1 : ℝ≥0∞)
        ((ν.restrict s : (a : Set α) → ℝ≥0∞) s_1 : ℝ≥0∞)
⊢ μ.restrict s ≤ ν.restrict s

Tactic:
rw [Measure.le_iff]

Premises used: MeasureTheory.Measure.le_iff
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Hahn
Goal:
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
s : Set α
hs : MeasurableSet s
h₁ :
  ∀ (t : Set α),
    MeasurableSet t → t ⊆ s → LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞)
h₂ :
  ∀ (t : Set α),
    MeasurableSet t → t ⊆ sᶜ → LE.le (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞)
s_1 : Set α
h : MeasurableSet s_1
⊢ LE.le (α := ℝ≥0∞) ((μ.restrict s : (a : Set α) → ℝ≥0∞) s_1 : ℝ≥0∞) ((ν.restrict s : (a : Set α) → ℝ≥0∞) s_1 : ℝ≥0∞)

Tactic:
simp [*]
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Hahn
Goal:
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
s : Set α
hs : MeasurableSet s
h₁ :
  ∀ (t : Set α),
    MeasurableSet t → t ⊆ s → LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞)
h₂ :
  ∀ (t : Set α),
    MeasurableSet t → t ⊆ sᶜ → LE.le (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞)
refine_2 :
  ∀ (s_1 : Set α),
    MeasurableSet s_1 →
      LE.le (α := ℝ≥0∞) ((ν.restrict sᶜ : (a : Set α) → ℝ≥0∞) s_1 : ℝ≥0∞)
        ((μ.restrict sᶜ : (a : Set α) → ℝ≥0∞) s_1 : ℝ≥0∞)
⊢ ν.restrict sᶜ ≤ μ.restrict sᶜ

Tactic:
rw [Measure.le_iff]

Premises used: MeasureTheory.Measure.le_iff
-- Module: Mathlib.MeasureTheory.Measure.Decomposition.Hahn
Goal:
α : Type u_1
mα : MeasurableSpace α
μ ν : Measure α
inst : IsFiniteMeasure μ
inst_1 : IsFiniteMeasure ν
s : Set α
hs : MeasurableSet s
h₁ :
  ∀ (t : Set α),
    MeasurableSet t → t ⊆ s → LE.le (α := ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞)
h₂ :
  ∀ (t : Set α),
    MeasurableSet t → t ⊆ sᶜ → LE.le (α := ℝ≥0∞) ((ν : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞) ((μ : (a : Set α) → ℝ≥0∞) t : ℝ≥0∞)
s_1 : Set α
h : MeasurableSet s_1
⊢ LE.le (α := ℝ≥0∞) ((ν.restrict sᶜ : (a : Set α) → ℝ≥0∞) s_1 : ℝ≥0∞) ((μ.restrict sᶜ : (a : Set α) → ℝ≥0∞) s_1 : ℝ≥0∞)

Tactic:
simp [*]