Zulip Chat Archive

Stream: new members

Topic: Proving the `iUnion` Theorem for `OuterMeasure` Inductively


Peter Hansen (Mar 07 2024 at 09:26):

Hello everyone,

I'm currently delving into measure theory within Lean and am tackling the iUnion theorem for an OuterMeasure structure. In Mathlib, there's already an elegant one-liner proof leveraging rel_iSup_tsum, but I'm curious about the possibility of an inductive approach. Here's the context:

import Mathlib.Tactic
import Mathlib.MeasureTheory.PiSystem

open BigOperators ENNReal

structure OuterMeasure (α : Type*) where
  measureOf : Set α  0
  empty : measureOf  = 0
  mono :  {s₁ s₂}, s₁  s₂  measureOf s₁  measureOf s₂
  iUnion_nat :  s :   Set α, measureOf ( i, s i)  ∑' i, measureOf (s i)

variable {α : Type*}

instance instCoeFun : CoeFun (OuterMeasure α) (λ _ => Set α  0) where
  coe m := m.measureOf

theorem iUnion (m : OuterMeasure α) {β} [Countable β] (s : β  Set α) :
  m ( i, s i)  ∑' i, m (s i) :=
  rel_iSup_tsum m m.empty (·  ·) m.iUnion_nat s

Before tackling this, I managed to prove the union theorem for two sets in a more traditional, textbook-like manner:

theorem union (m : OuterMeasure α) (s₁ s₂ : Set α) : m (s₁  s₂)  m s₁ + m s₂ := sorry

Is there an established inductive principle for countable types in Lean that could facilitate such a proof building upon the union theorem?

Eric Wieser (Mar 07 2024 at 10:01):

It might be instructive to go through the proof within docs#rel_iSup_tsum

Peter Hansen (Mar 07 2024 at 12:34):

I suppose the proof might be inductive in the broadest sense of the word, but I was kinda hoping one could reason about countable types using their cardinality - if that makes sense. Something along the line of

protected theorem ifUnion (φ : OuterMeasure X) {n : } (S :   Set X) :
    φ ( (i   n) , S i)   a in Finset.range (n + 1), φ (S a) := by
    simp only [ Nat.lt_succ]
    induction' n with n NH
    simp
    rw [@Finset.sum_range_succ, @biUnion_lt_succ]
    apply (φ.union _ _).trans (add_le_add NH _)
    rfl

Last updated: May 02 2025 at 03:31 UTC