File: Mathlib/MeasureTheory/Decomposition/SignedHahn.lean

full_name: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.ExistsOneDivLT
code: /-- Given the set `i` and the natural number `n`, `ExistsOneDivLT s i j` is the property that
there exists a measurable set `k ⊆ i` such that `1 / (n + 1) < s k`. -/
private def ExistsOneDivLT (s : SignedMeasure α) (i : Set α) (n : ℕ) : Prop 
goal: Prop

full_name: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.existsNatOneDivLTMeasure_of_not_negative
code: private theorem existsNatOneDivLTMeasure_of_not_negative (hi : ¬s ≤[i] 0) :
    ∃ n : ℕ, ExistsOneDivLT s i n 
goal: ∃ n, MeasureTheory.SignedMeasure.ExistsOneDivLT s i n

full_name: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.findExistsOneDivLT
code: /-- Given the set `i`, if `i` is not negative, `findExistsOneDivLT s i` is the
least natural number `n` such that `ExistsOneDivLT s i n`, otherwise, it returns 0. -/
private def findExistsOneDivLT (s : SignedMeasure α) (i : Set α) : ℕ 
goal: ℕ

full_name: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.findExistsOneDivLT_spec
code: private theorem findExistsOneDivLT_spec (hi : ¬s ≤[i] 0) :
    ExistsOneDivLT s i (findExistsOneDivLT s i) 
goal: MeasureTheory.SignedMeasure.ExistsOneDivLT s i (MeasureTheory.SignedMeasure.findExistsOneDivLT s i)

full_name: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.findExistsOneDivLT_min
code: private theorem findExistsOneDivLT_min (hi : ¬s ≤[i] 0) {m : ℕ}
    (hm : m < findExistsOneDivLT s i) : ¬ExistsOneDivLT s i m 
goal: ¬MeasureTheory.SignedMeasure.ExistsOneDivLT s i m

full_name: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.someExistsOneDivLT
code: /-- Given the set `i`, if `i` is not negative, `someExistsOneDivLT` chooses the set
`k` from `ExistsOneDivLT s i (findExistsOneDivLT s i)`, otherwise, it returns the
empty set. -/
private def someExistsOneDivLT (s : SignedMeasure α) (i : Set α) : Set α 
goal: Set α

full_name: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.someExistsOneDivLT_spec
code: private theorem someExistsOneDivLT_spec (hi : ¬s ≤[i] 0) :
    someExistsOneDivLT s i ⊆ i ∧
      MeasurableSet (someExistsOneDivLT s i) ∧
        (1 / (findExistsOneDivLT s i + 1) : ℝ) < s (someExistsOneDivLT s i) 
goal: MeasureTheory.SignedMeasure.someExistsOneDivLT s i ⊆ i ∧
  MeasurableSet (MeasureTheory.SignedMeasure.someExistsOneDivLT s i) ∧
    1 / (↑(MeasureTheory.SignedMeasure.findExistsOneDivLT s i) + 1) <
      ↑s (MeasureTheory.SignedMeasure.someExistsOneDivLT s i)

full_name: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.someExistsOneDivLT_subset
code: private theorem someExistsOneDivLT_subset : someExistsOneDivLT s i ⊆ i 
goal: MeasureTheory.SignedMeasure.someExistsOneDivLT s i ⊆ i

full_name: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.someExistsOneDivLT_subset'
code: private theorem someExistsOneDivLT_subset' : someExistsOneDivLT s (i \ j) ⊆ i 
goal: MeasureTheory.SignedMeasure.someExistsOneDivLT s (i \ j) ⊆ i

full_name: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.someExistsOneDivLT_measurableSet
code: private theorem someExistsOneDivLT_measurableSet : MeasurableSet (someExistsOneDivLT s i) 
goal: MeasurableSet (MeasureTheory.SignedMeasure.someExistsOneDivLT s i)

full_name: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.someExistsOneDivLT_lt
code: private theorem someExistsOneDivLT_lt (hi : ¬s ≤[i] 0) :
    (1 / (findExistsOneDivLT s i + 1) : ℝ) < s (someExistsOneDivLT s i) 
goal: 1 / (↑(MeasureTheory.SignedMeasure.findExistsOneDivLT s i) + 1) <
  ↑s (MeasureTheory.SignedMeasure.someExistsOneDivLT s i)

full_name: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.restrictNonposSeq
code: /-- Given the set `i`, `restrictNonposSeq s i` is the sequence of sets defined inductively where
`restrictNonposSeq s i 0 = someExistsOneDivLT s (i \ ∅)` and
`restrictNonposSeq s i (n + 1) = someExistsOneDivLT s (i \ ⋃ k ≤ n, restrictNonposSeq k)`.

For each `n : ℕ`,`s (restrictNonposSeq s i n)` is close to maximal among all subsets of
`i \ ⋃ k ≤ n, restrictNonposSeq s i k`. -/
private def restrictNonposSeq (s : SignedMeasure α) (i : Set α) : ℕ → Set α
  
goal: ℕ → Set α

full_name: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.restrictNonposSeq_succ
code: private theorem restrictNonposSeq_succ (n : ℕ) :
    restrictNonposSeq s i n.succ = someExistsOneDivLT s (i \ ⋃ k ≤ n, restrictNonposSeq s i k) 
goal: MeasureTheory.SignedMeasure.restrictNonposSeq s i n.succ =
  MeasureTheory.SignedMeasure.someExistsOneDivLT s
    (i \ ⋃ k, ⋃ (_ : k ≤ n), MeasureTheory.SignedMeasure.restrictNonposSeq s i k)

full_name: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.restrictNonposSeq_subset
code: private theorem restrictNonposSeq_subset (n : ℕ) : restrictNonposSeq s i n ⊆ i 
goal: MeasureTheory.SignedMeasure.restrictNonposSeq s i n ⊆ i

full_name: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.restrictNonposSeq_lt
code: private theorem restrictNonposSeq_lt (n : ℕ) (hn : ¬s ≤[i \ ⋃ k ≤ n, restrictNonposSeq s i k] 0) :
    (1 / (findExistsOneDivLT s (i \ ⋃ k ≤ n, restrictNonposSeq s i k) + 1) : ℝ) <
      s (restrictNonposSeq s i n.succ) 
goal: 1 /
    (↑(MeasureTheory.SignedMeasure.findExistsOneDivLT s
          (i \ ⋃ k, ⋃ (_ : k ≤ n), MeasureTheory.SignedMeasure.restrictNonposSeq s i k)) +
      1) <
  ↑s (MeasureTheory.SignedMeasure.restrictNonposSeq s i n.succ)

full_name: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.measure_of_restrictNonposSeq
code: private theorem measure_of_restrictNonposSeq (hi₂ : ¬s ≤[i] 0) (n : ℕ)
    (hn : ¬s ≤[i \ ⋃ k < n, restrictNonposSeq s i k] 0) : 0 < s (restrictNonposSeq s i n) 
goal: 0 < ↑s (MeasureTheory.SignedMeasure.restrictNonposSeq s i n)

full_name: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.restrictNonposSeq_measurableSet
code: private theorem restrictNonposSeq_measurableSet (n : ℕ) :
    MeasurableSet (restrictNonposSeq s i n) 
goal: MeasurableSet (MeasureTheory.SignedMeasure.restrictNonposSeq s i n)

full_name: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.restrictNonposSeq_disjoint'
code: private theorem restrictNonposSeq_disjoint' {n m : ℕ} (h : n < m) :
    restrictNonposSeq s i n ∩ restrictNonposSeq s i m = ∅ 
goal: MeasureTheory.SignedMeasure.restrictNonposSeq s i n ∩ MeasureTheory.SignedMeasure.restrictNonposSeq s i m = ∅

full_name: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.restrictNonposSeq_disjoint
code: private theorem restrictNonposSeq_disjoint : Pairwise (Disjoint on restrictNonposSeq s i) 
goal: Pairwise (Disjoint on MeasureTheory.SignedMeasure.restrictNonposSeq s i)

full_name: _private.Mathlib.MeasureTheory.Decomposition.SignedHahn.0.MeasureTheory.SignedMeasure.exists_subset_restrict_nonpos'
code: private theorem exists_subset_restrict_nonpos' (hi₁ : MeasurableSet i) (hi₂ : s i < 0)
    (hn : ¬∀ n : ℕ, ¬s ≤[i \ ⋃ l < n, restrictNonposSeq s i l] 0) :
    ∃ j : Set α, MeasurableSet j ∧ j ⊆ i ∧ s ≤[j] 0 ∧ s j < 0 
goal: ∃ j,
  MeasurableSet j ∧
    j ⊆ i ∧ MeasureTheory.VectorMeasure.restrict s j ≤ MeasureTheory.VectorMeasure.restrict 0 j ∧ ↑s j < 0

full_name: MeasureTheory.SignedMeasure.exists_subset_restrict_nonpos
code: /-- A measurable set of negative measure has a negative subset of negative measure. -/
theorem exists_subset_restrict_nonpos (hi : s i < 0) :
    ∃ j : Set α, MeasurableSet j ∧ j ⊆ i ∧ s ≤[j] 0 ∧ s j < 0 
goal: ∃ j,
  MeasurableSet j ∧
    j ⊆ i ∧ MeasureTheory.VectorMeasure.restrict s j ≤ MeasureTheory.VectorMeasure.restrict 0 j ∧ ↑s j < 0

full_name: MeasureTheory.SignedMeasure.measureOfNegatives
code: /-- The set of measures of the set of measurable negative sets. -/
def measureOfNegatives (s : SignedMeasure α) : Set ℝ 
goal: Set ℝ

full_name: MeasureTheory.SignedMeasure.zero_mem_measureOfNegatives
code: theorem zero_mem_measureOfNegatives : (0 : ℝ) ∈ s.measureOfNegatives 
goal: 0 ∈ s.measureOfNegatives

full_name: MeasureTheory.SignedMeasure.bddBelow_measureOfNegatives
code: theorem bddBelow_measureOfNegatives : BddBelow s.measureOfNegatives 
goal: BddBelow s.measureOfNegatives

full_name: MeasureTheory.SignedMeasure.exists_compl_positive_negative
code: /-- 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 
goal: ∃ i,
  MeasurableSet i ∧
    MeasureTheory.VectorMeasure.restrict 0 i ≤ MeasureTheory.VectorMeasure.restrict s i ∧
      MeasureTheory.VectorMeasure.restrict s iᶜ ≤ MeasureTheory.VectorMeasure.restrict 0 iᶜ

full_name: MeasureTheory.SignedMeasure.exists_isCompl_positive_negative
code: /-- **The Hahn decomposition theorem**: Given a signed measure `s`, there exist
complement measurable sets `i` and `j` such that `i` is positive, `j` is negative. -/
theorem exists_isCompl_positive_negative (s : SignedMeasure α) :
    ∃ i j : Set α, MeasurableSet i ∧ 0 ≤[i] s ∧ MeasurableSet j ∧ s ≤[j] 0 ∧ IsCompl i j 
goal: ∃ i j,
  MeasurableSet i ∧
    MeasureTheory.VectorMeasure.restrict 0 i ≤ MeasureTheory.VectorMeasure.restrict s i ∧
      MeasurableSet j ∧
        MeasureTheory.VectorMeasure.restrict s j ≤ MeasureTheory.VectorMeasure.restrict 0 j ∧ IsCompl i j

full_name: MeasureTheory.SignedMeasure.of_symmDiff_compl_positive_negative
code: /-- The symmetric difference of two Hahn decompositions has measure zero. -/
theorem of_symmDiff_compl_positive_negative {s : SignedMeasure α} {i j : Set α}
    (hi : MeasurableSet i) (hj : MeasurableSet j) (hi' : 0 ≤[i] s ∧ s ≤[iᶜ] 0)
    (hj' : 0 ≤[j] s ∧ s ≤[jᶜ] 0) : s (i ∆ j) = 0 ∧ s (iᶜ ∆ jᶜ) = 0 
goal: ↑s (symmDiff i j) = 0 ∧ ↑s (symmDiff iᶜ jᶜ) = 0