English
There exist measurable sets i and j forming a Hahn decomposition: i is positive with respect to s and j is negative with respect to s, and i and j are disjoint up to complement relations.
Русский
Существует Ханово разложение: измеримые множества i и j, причем i положительно относительно s, j отрицательно относительно s, и i и j являются дополнениями друг друга до несовместимости.
LaTeX
$$$\exists i,j, \ MeasurableSet i \land 0 \le[i] s \land \ MeasurableSet j \land s \le[j] 0 \land IsCompl i j$$$
Lean4
/-- Alternative formulation of `MeasureTheory.SignedMeasure.exists_isCompl_positive_negative`
(the Hahn decomposition theorem) using set complements. -/
theorem exists_compl_positive_negative (s : SignedMeasure α) : ∃ i : Set α, MeasurableSet i ∧ 0 ≤[i] s ∧ s ≤[iᶜ] 0 :=
by
obtain ⟨f, _, hf₂, hf₁⟩ := exists_seq_tendsto_sInf ⟨0, @zero_mem_measureOfNegatives _ _ s⟩ bddBelow_measureOfNegatives
choose B hB using hf₁
have hB₁ : ∀ n, MeasurableSet (B n) := fun n => (hB n).1.1
have hB₂ : ∀ n, s ≤[B n] 0 := fun n => (hB n).1.2
set A := ⋃ n, B n with hA
have hA₁ : MeasurableSet A := MeasurableSet.iUnion hB₁
have hA₂ : s ≤[A] 0 := restrict_le_restrict_iUnion _ _ hB₁ hB₂
have hA₃ : s A = sInf s.measureOfNegatives := by
apply le_antisymm
· refine le_of_tendsto_of_tendsto tendsto_const_nhds hf₂ (Eventually.of_forall fun n => ?_)
rw [← (hB n).2, hA, ← Set.diff_union_of_subset (Set.subset_iUnion _ n),
of_union Set.disjoint_sdiff_left _ (hB₁ n)]
· refine add_le_of_nonpos_left ?_
have : s ≤[A] 0 :=
restrict_le_restrict_iUnion _ _ hB₁ fun m =>
let ⟨_, h⟩ := (hB m).1
h
refine nonpos_of_restrict_le_zero _ (restrict_le_zero_subset _ ?_ Set.diff_subset this)
exact MeasurableSet.iUnion hB₁
· exact (MeasurableSet.iUnion hB₁).diff (hB₁ n)
· exact csInf_le bddBelow_measureOfNegatives ⟨A, ⟨hA₁, hA₂⟩, rfl⟩
refine ⟨Aᶜ, hA₁.compl, ?_, (compl_compl A).symm ▸ hA₂⟩
rw [restrict_le_restrict_iff _ _ hA₁.compl]
intro C _ hC₁
by_contra! hC₂
rcases exists_subset_restrict_nonpos hC₂ with ⟨D, hD₁, hD, hD₂, hD₃⟩
have : s (A ∪ D) < sInf s.measureOfNegatives :=
by
rw [← hA₃, of_union (Set.disjoint_of_subset_right (Set.Subset.trans hD hC₁) disjoint_compl_right) hA₁ hD₁]
linarith
refine not_le.2 this ?_
refine csInf_le bddBelow_measureOfNegatives ⟨A ∪ D, ⟨?_, ?_⟩, rfl⟩
· exact hA₁.union hD₁
· exact restrict_le_restrict_union _ _ hA₁ hA₂ hD₁ hD₂