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)

              Unsigned simple functions are nonnegative.

              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