Documentation

Analysis.MeasureTheory.Section_1_3_2

def Unsigned {X : Type u_1} {Y : Type u_2} [LE Y] [Zero Y] (f : X → Y) :
Equations
Instances For
    def PointwiseConvergesTo {X : Type u_1} {Y : Type u_2} [TopologicalSpace Y] (f : ℕ → X → Y) (g : X → Y) :
    Equations
    Instances For

      Definition 1.3.8 (Unsigned measurable function)

      Equations
      Instances For
        def EReal.BoundedFunction {X : Type u_1} (f : X → EReal) :
        Equations
        Instances For
          def FiniteMeasureSupport {d : ℕ} {Y : Type u_1} [Zero Y] (f : EuclideanSpace' d → Y) :
          Equations
          Instances For
            def PointwiseAeConvergesTo {d : ℕ} {Y : Type u_1} [TopologicalSpace Y] (f : ℕ → EuclideanSpace' d → Y) (g : EuclideanSpace' d → Y) :
            Equations
            Instances For
              theorem UnsignedMeasurable.TFAE {d : ℕ} {f : EuclideanSpace' d → EReal} (hf : Unsigned f) :
              [UnsignedMeasurable f, ∃ (g : ℕ → EuclideanSpace' d → EReal), (∀ (n : ℕ), UnsignedSimpleFunction (g n)) ∧ ∀ (x : EuclideanSpace' d), Filter.Tendsto (fun (n : ℕ) => g n x) Filter.atTop (nhds (f x)), ∃ (g : ℕ → EuclideanSpace' d → EReal), (∀ (n : ℕ), UnsignedSimpleFunction (g n)) ∧ PointwiseAeConvergesTo g f, ∃ (g : ℕ → EuclideanSpace' d → EReal), (∀ (n : ℕ), UnsignedSimpleFunction (g n) ∧ EReal.BoundedFunction (g n) ∧ FiniteMeasureSupport (g n)) ∧ (∀ (x : EuclideanSpace' d), Monotone fun (n : ℕ) => g n x) ∧ ∀ (x : EuclideanSpace' d), f x = ⨆ (n : ℕ), g n x, ∀ (t : EReal), LebesgueMeasurable {x : EuclideanSpace' d | f x > t}, ∀ (t : EReal), LebesgueMeasurable {x : EuclideanSpace' d | f x ≥ t}, ∀ (t : EReal), LebesgueMeasurable {x : EuclideanSpace' d | f x < t}, ∀ (t : EReal), LebesgueMeasurable {x : EuclideanSpace' d | f x ≤ t}, ∀ (I : BoundedInterval), LebesgueMeasurable (f ⁻¹' (Real.toEReal '' ↑I)), ∀ (U : Set EReal), IsOpen U → LebesgueMeasurable (f ⁻¹' U), ∀ (K : Set EReal), IsClosed K → LebesgueMeasurable (f ⁻¹' K)].TFAE

              Lemma 1.3.9 (Equivalent notions of measurability). Some slight changes to the statement have been made to make the claims cleaner to state

              Exercise 1.3.3(i)

              theorem UnsignedMeasurable.sup {d : ℕ} {f : ℕ → EuclideanSpace' d → EReal} (hf : ∀ (n : ℕ), UnsignedMeasurable (f n)) :
              UnsignedMeasurable fun (x : EuclideanSpace' d) => ⨆ (n : ℕ), f n x

              Exercise 1.3.3(iii)

              theorem UnsignedMeasurable.inf {d : ℕ} {f : ℕ → EuclideanSpace' d → EReal} (hf : ∀ (n : ℕ), UnsignedMeasurable (f n)) :
              UnsignedMeasurable fun (x : EuclideanSpace' d) => ⨅ (n : ℕ), f n x

              Exercise 1.3.3(iii)

              theorem UnsignedMeasurable.limsup {d : ℕ} {f : ℕ → EuclideanSpace' d → EReal} (hf : ∀ (n : ℕ), UnsignedMeasurable (f n)) :

              Exercise 1.3.3(iii)

              theorem UnsignedMeasurable.liminf {d : ℕ} {f : ℕ → EuclideanSpace' d → EReal} (hf : ∀ (n : ℕ), UnsignedMeasurable (f n)) :

              Exercise 1.3.3(iii)

              Exercise 1.3.3(iv)

              theorem UnsignedMeasurable.aeLimit {d : ℕ} {f : EuclideanSpace' d → EReal} (g : ℕ → EuclideanSpace' d → EReal) (hf : ∀ (n : ℕ), UnsignedMeasurable (g n)) (hfn : Unsigned f) (heq : PointwiseAeConvergesTo g f) :

              Exercise 1.3.3(v)

              theorem UnsignedMeasurable.comp_cts {d : ℕ} {f : EuclideanSpace' d → EReal} (hf : UnsignedMeasurable f) {φ : EReal → EReal} (hφ : Continuous φ) (hφnn : ∀ x ≥ 0, φ x ≥ 0) :

              Exercise 1.3.3(vi)

              Exercise 1.3.3(vii)

              def UniformConvergesTo {X : Type u_1} (f : ℕ → X → EReal) (g : X → EReal) :
              Equations
              Instances For

                Dyadic rationals: numbers of the form k/2^n where k ≤ 2^n. These are exactly the real numbers with terminating binary expansions.

                Equations
                Instances For

                  Dyadic rationals are countable.

                  noncomputable def binaryDigit (x : ℝ) (j : ℕ) :

                  Binary digit extraction: bⱼ(x) = ⌊2^j · x⌋ mod 2. For x ∈ [0,1), this extracts the j-th binary digit. Special case: x = 1 has all digits = 1 (1 = 0.111...₂). For x ∉ [0,1], all digits are 0.

                  Equations
                  Instances For
                    theorem binaryDigit_le_one (x : ℝ) (j : ℕ) :

                    Binary digits are in {0, 1}.

                    theorem binaryDigit_zero (j : ℕ) :

                    Binary digits of 0 are all 0.

                    theorem binaryDigit_one (j : ℕ) :

                    Binary digits of 1 are all 1.

                    theorem tsum_two_thirds_geometric :
                    ∑' (j : ℕ), 2 * (1 / 3) ^ (j + 1) = 1

                    The full sum ∑_{j≥0} 2·(1/3)^(j+1) = 1.

                    theorem tsum_tail_bound (k : ℕ) :
                    ∑' (j : ℕ), 2 * (1 / 3) ^ (k + j + 1) = (1 / 3) ^ k

                    The tail sum bound: ∑_{j≥k} 2·(1/3)^(j+1) = (1/3)^k.

                    theorem floor_two_mul_odd_ge {z : ℝ} (hz : 0 ≤ z) (hodd : ⌊2 * z⌋₊ % 2 = 1) :

                    Helper: if ⌊2z⌋₊ % 2 = 1 then ⌊2z⌋₊ ≥ 2⌊z⌋₊ + 1

                    theorem floor_two_mul_even_le {z : ℝ} (hz : 0 ≤ z) (heven : ⌊2 * z⌋₊ % 2 = 0) :

                    Helper: if ⌊2z⌋₊ % 2 = 0 then ⌊2z⌋₊ ≤ 2⌊z⌋₊

                    theorem floor_two_mul_eq_of_mod_eq {x y : ℝ} (hx : 0 ≤ x) (hy : 0 ≤ y) (h_floor : ⌊x⌋₊ = ⌊y⌋₊) (h_mod : ⌊2 * x⌋₊ % 2 = ⌊2 * y⌋₊ % 2) :

                    Helper: equal mod 2 and equal ⌊z⌋ implies equal ⌊2z⌋

                    The properties required of the binary-to-ternary function for this construction. The function maps [0,1] into the Cantor set C by converting binary digits to ternary.

                    Note: Unlike the textbook (which sets g(x) = 0 for dyadic rationals), our g is defined uniformly for all x ∈ [0,1]. This makes g monotone on ALL of [0,1], not just on A.

                    Instances For
                      noncomputable def Remark_1_3_10.binaryToTernaryFn (x : ℝ) :

                      The binary-to-ternary function: g(x) = ∑_{j≥1} 2·bⱼ(x)·3^(-j) for x ∈ [0,1], else 0.

                      Equations
                      Instances For
                        theorem Remark_1_3_10.binaryToTernary_summable (x : ℝ) :
                        Summable fun (j : ℕ) => 2 * ↑(binaryDigit x (j + 1)) * (1 / 3) ^ (j + 1)

                        The series ∑ 2·bⱼ(x)·3^(-j) is summable for any x.

                        theorem Remark_1_3_10.binaryDigit_exists_one_of_pos {x : ℝ} (hx_pos : 0 < x) (hx_lt : x < 1) :
                        ∃ (j : ℕ), binaryDigit x (j + 1) = 1

                        For x ∈ (0, 1), there exists a position where the binary digit is 1.

                        theorem Remark_1_3_10.binaryDigit_partial_sum_le {x : ℝ} (hx : x ∈ Set.Ico 0 1) (n : ℕ) :
                        ↑⌊2 ^ n * x⌋₊ / 2 ^ n ≤ x

                        The partial sum bounds x from below: Sₙ(x) ≤ x

                        theorem Remark_1_3_10.binaryDigit_partial_sum_lt (x : ℝ) (n : ℕ) :
                        x < ↑⌊2 ^ n * x⌋₊ / 2 ^ n + 1 / 2 ^ n

                        The partial sum bounds x from above: x < Sₙ(x) + 2^(-n)

                        theorem Remark_1_3_10.binaryDigit_one_implies_lower_bound {x : ℝ} (hx : x ∈ Set.Ico 0 1) (k : ℕ) (hbk : binaryDigit x (k + 1) = 1) :
                        ↑⌊2 ^ k * x⌋₊ / 2 ^ k + 1 / 2 ^ (k + 1) ≤ x

                        Key lemma: if bₖ(x) = 1, then x ≥ floor(2^k * x) / 2^k + 2^(-(k+1))

                        theorem Remark_1_3_10.binaryDigit_zero_implies_upper_bound {y : ℝ} (hy : y ∈ Set.Ico 0 1) (k : ℕ) (hbk : binaryDigit y (k + 1) = 0) :
                        y < ↑⌊2 ^ k * y⌋₊ / 2 ^ k + 1 / 2 ^ (k + 1)

                        Key lemma: if bₖ(y) = 0, then y < floor(2^k * y) / 2^k + 2^(-(k+1))

                        theorem Remark_1_3_10.floor_eq_of_binaryDigit_eq {n : ℕ} {x y : ℝ} (hx : x ∈ Set.Ico 0 1) (hy : y ∈ Set.Ico 0 1) (heq : ∀ j < n, binaryDigit x (j + 1) = binaryDigit y (j + 1)) :
                        ⌊2 ^ n * x⌋₊ = ⌊2 ^ n * y⌋₊

                        Helper: floors of x, y in [0,1) are equal up to level n if their binary digits agree up to level n-1.

                        theorem Remark_1_3_10.binaryDigit_first_diff {x y : ℝ} (hx : x ∈ Set.Ico 0 1) (hy : y ∈ Set.Ico 0 1) (hxy : x < y) :
                        ∃ (k : ℕ), binaryDigit x (k + 1) < binaryDigit y (k + 1) ∧ ∀ j < k, binaryDigit x (j + 1) = binaryDigit y (j + 1)

                        For x, y ∈ [0,1) with x < y, there exists a first position k where bₖ(x) < bₖ(y).

                        theorem Remark_1_3_10.binaryToTernary_lt_of_digit_lt {x y : ℝ} (hx : x ∈ Set.Icc 0 1) (hy : y ∈ Set.Icc 0 1) (k : ℕ) (hk_lt : binaryDigit x (k + 1) < binaryDigit y (k + 1)) (hk_eq : ∀ j < k, binaryDigit x (j + 1) = binaryDigit y (j + 1)) :

                        Monotonicity: if digits agree up to k and bₖ(x) < bₖ(y), then g(x) < g(y).

                        theorem Remark_1_3_10.ternary_02_expansion_unique {d e : ℕ → ℕ} (hd : ∀ (j : ℕ), d j ∈ {0, 2}) (he : ∀ (j : ℕ), e j ∈ {0, 2}) (hsum_d : Summable fun (j : ℕ) => ↑(d j) * (1 / 3) ^ (j + 1)) (hsum_e : Summable fun (j : ℕ) => ↑(e j) * (1 / 3) ^ (j + 1)) (heq : ∑' (j : ℕ), ↑(d j) * (1 / 3) ^ (j + 1) = ∑' (j : ℕ), ↑(e j) * (1 / 3) ^ (j + 1)) (j : ℕ) :
                        d j = e j

                        Ternary {0,2} expansions are unique.

                        theorem Remark_1_3_10.non_dyadic_eq_binary_sum {x : ℝ} (hx : x ∈ Set.Ico 0 1) (_hnd : x ∉ DyadicRationals) :
                        x = ∑' (j : ℕ), ↑(binaryDigit x (j + 1)) * (1 / 2) ^ (j + 1)

                        For non-dyadic x ∈ [0,1), x equals its binary expansion sum.

                        theorem Remark_1_3_10.eq_of_binaryDigit_eq_of_non_dyadic {x₁ x₂ : ℝ} (hx₁ : x₁ ∈ Set.Ico 0 1) (hx₂ : x₂ ∈ Set.Ico 0 1) (hnd₁ : x₁ ∉ DyadicRationals) (hnd₂ : x₂ ∉ DyadicRationals) (heq : ∀ (j : ℕ), binaryDigit x₁ j = binaryDigit x₂ j) :
                        x₁ = x₂

                        Non-dyadic x ∈ [0,1) with equal binary digits are equal.

                        theorem Remark_1_3_10.mem_CantorSet_of_ternary_02 {y : ℝ} (d : ℕ → ℕ) (hd : ∀ (j : ℕ), d j ∈ {0, 2}) (hsum : Summable fun (j : ℕ) => ↑(d j) * (1 / 3) ^ (j + 1)) (hy : y = ∑' (j : ℕ), ↑(d j) * (1 / 3) ^ (j + 1)) :

                        Points with {0,2} ternary digits are in the Cantor set.

                        Existence of a binary-to-ternary function: g(x) = ∑ 2bⱼ 3^(-j).

                        noncomputable def Remark_1_3_10.binaryToTernary :
                        ℝ → ℝ

                        Binary-to-ternary function: g(x) = ∑ 2·bⱼ(x)·3^(-j), monotone on [0,1], g([0,1]) ⊆ C ∪ {0}.

                        Equations
                        Instances For

                          binaryToTernary x = 0 iff x = 0 for x ∈ [0,1].

                          binaryToTernary lifted to EuclideanSpace' 1 → EReal (called f in informal proof).

                          Equations
                          Instances For
                            theorem Remark_1_3_10.sublevel_set_measurable (t : EReal) (ht_pos : 0 < t) (ht_lt_one : t < 1) :

                            Sublevel sets of f_lifted are measurable (key lemma for f_lifted_measurable).

                            Definition 1.3.11 (Complex measurability).

                            Equations
                            Instances For
                              def RealMeasurable {d : ℕ} (f : EuclideanSpace' d → ℝ) :
                              Equations
                              Instances For

                                Exercise 1.3.8(i)

                                Exercise 1.3.8(iii)

                                theorem RealMeasurable.aeLimit {d : ℕ} {f : EuclideanSpace' d → ℝ} (g : ℕ → EuclideanSpace' d → ℝ) (hf : ∀ (n : ℕ), RealMeasurable (g n)) (heq : PointwiseAeConvergesTo g f) :

                                Exercise 1.3.8(iv)

                                theorem ComplexMeasurable.aeLimit {d : ℕ} {f : EuclideanSpace' d → ℂ} (g : ℕ → EuclideanSpace' d → ℂ) (hf : ∀ (n : ℕ), ComplexMeasurable (g n)) (heq : PointwiseAeConvergesTo g f) :
                                theorem RealMeasurable.comp_cts {d : ℕ} {f : EuclideanSpace' d → ℝ} (hf : RealMeasurable f) {φ : ℝ → ℝ} (hφ : Continuous φ) :

                                Exercise 1.3.8(v)

                                theorem ComplexMeasurable.comp_cts {d : ℕ} {f : EuclideanSpace' d → ℂ} (hf : ComplexMeasurable f) {φ : ℂ → ℂ} (hφ : Continuous φ) :
                                theorem RealMeasurable.add {d : ℕ} {f g : EuclideanSpace' d → ℝ} (hf : RealMeasurable f) (hg : RealMeasurable g) :

                                Exercise 1.3.8(vi) (Sum of measurable functions)

                                theorem RealMeasurable.sub {d : ℕ} {f g : EuclideanSpace' d → ℝ} (hf : RealMeasurable f) (hg : RealMeasurable g) :

                                Exercise 1.3.8(vi') (Difference of measurable functions)

                                theorem RealMeasurable.mul {d : ℕ} {f g : EuclideanSpace' d → ℝ} (hf : RealMeasurable f) (hg : RealMeasurable g) :

                                Exercise 1.3.8(vi'') (Product of measurable functions)

                                Exercise 1.3.9