Documentation

Mathlib.MeasureTheory.Measure.Stieltjes

Stieltjes measures on the real line #

Consider a function f : ℝ → ℝ which is monotone and right-continuous. Then one can define a corresponding measure, giving mass f b - f a to the interval (a, b]. We implement more generally this notion for f : R → ℝ where R is a conditionally complete dense linear order.

Main definitions #

Implementation #

We define Stieltjes functions over any conditionally complete dense linear order, to be able to cover the cases of ℝ≥0 and [0, T] in addition to the classical case of . This creates a few issues, mostly with the management of bottom and top elements. To handle these, we need two technical definitions:

Note that the theory of Stieltjes measures is not completely satisfactory when there is a bot element x: any Stieltjes measure gives zero mass to {x} in this case, so the Dirac mass at x is not representable as a Stieltjes measure.

def Iotop {R : Type u_1} [LinearOrder R] (a b : R) :
Set R

Iotop a b is the interval Ioo a b if b is not top, and Ioc a b if b is top. This makes sure that any element which is not bot belongs to an interval Iotop a b, and also that these intervals are all open. These two properties together are important in the proof of StieltjesFunction.outer_Ioc.

Equations
    Instances For
      theorem Iotop_subset_Ioc {R : Type u_1} [LinearOrder R] {a b : R} :
      Iotop a b Set.Ioc a b
      theorem Ioo_subset_Iotop {R : Type u_1} [LinearOrder R] {a b : R} :
      Set.Ioo a b Iotop a b
      def botSet {R : Type u_1} [LinearOrder R] :
      Set R

      botSet is the set of all bottom elements.

      Equations
        Instances For
          @[simp]
          theorem Ioc_diff_botSet {R : Type u_1} [LinearOrder R] (a b : R) :
          theorem notMem_botSet_of_lt {R : Type u_1} [LinearOrder R] {x y : R} (h : x < y) :
          ybotSet

          Basic properties of Stieltjes functions #

          structure StieltjesFunction (R : Type u_1) [LinearOrder R] [TopologicalSpace R] :
          Type u_1

          Bundled monotone right-continuous real functions, used to construct Stieltjes measures.

          • toFun : R

            The underlying function R → ℝ.

            Do NOT use directly. Use the coercion instead.

          • mono' : Monotone self
          • right_continuous' (x : R) : ContinuousWithinAt (↑self) (Set.Ici x) x
          Instances For
            theorem StieltjesFunction.ext {R : Type u_1} [LinearOrder R] [TopologicalSpace R] {f g : StieltjesFunction R} (h : ∀ (x : R), f x = g x) :
            f = g
            theorem StieltjesFunction.ext_iff {R : Type u_1} [LinearOrder R] [TopologicalSpace R] {f g : StieltjesFunction R} :
            f = g ∀ (x : R), f x = g x
            theorem StieltjesFunction.iInf_Ioi_eq {R : Type u_1} [LinearOrder R] [TopologicalSpace R] [OrderTopology R] [DenselyOrdered R] [NoMaxOrder R] (f : StieltjesFunction R) (x : R) :
            ⨅ (r : (Set.Ioi x)), f r = f x
            theorem StieltjesFunction.iInf_rat_gt_eq (f : StieltjesFunction ) (x : ) :
            ⨅ (r : { r' : // x < r' }), f r = f x

            The identity of as a Stieltjes function, used to construct Lebesgue measure.

            Equations
              Instances For

                A constant function is a Stieltjes function.

                Equations
                  Instances For

                    The sum of two Stieltjes functions is a Stieltjes function.

                    Equations
                      Instances For
                        @[simp]
                        theorem StieltjesFunction.zero_apply {R : Type u_1} [LinearOrder R] [TopologicalSpace R] (x : R) :
                        0 x = 0
                        @[simp]
                        theorem StieltjesFunction.add_apply {R : Type u_1} [LinearOrder R] [TopologicalSpace R] (f g : StieltjesFunction R) (x : R) :
                        ↑(f + g) x = f x + g x
                        noncomputable def Monotone.stieltjesFunction {R : Type u_1} [LinearOrder R] [TopologicalSpace R] [OrderTopology R] {f : R} (hf : Monotone f) :

                        If a function f : R → ℝ is monotone, then the function mapping x to the right limit of f at x is a Stieltjes function, i.e., it is monotone and right-continuous.

                        Equations
                          Instances For

                            The outer measure associated to a Stieltjes function #

                            Length of an interval. This is the largest monotone function which correctly measures all intervals.

                            Equations
                              Instances For
                                theorem StieltjesFunction.length_eq {R : Type u_1} [LinearOrder R] [TopologicalSpace R] (f : StieltjesFunction R) [Nonempty R] (s : Set R) :
                                f.length s = ⨅ (a : R), ⨅ (b : R), ⨅ (_ : s \ botSet Set.Ioc a b), ENNReal.ofReal (f b - f a)
                                @[simp]
                                theorem StieltjesFunction.length_Ioc {R : Type u_1} [LinearOrder R] [TopologicalSpace R] (f : StieltjesFunction R) (a b : R) :
                                f.length (Set.Ioc a b) = ENNReal.ofReal (f b - f a)
                                theorem StieltjesFunction.length_mono {R : Type u_1} [LinearOrder R] [TopologicalSpace R] (f : StieltjesFunction R) {s₁ s₂ : Set R} (h : s₁ s₂) :
                                f.length s₁ f.length s₂

                                The Stieltjes outer measure associated to a Stieltjes function.

                                Equations
                                  Instances For
                                    theorem StieltjesFunction.length_subadditive_Icc_Ioo {R : Type u_1} [LinearOrder R] [TopologicalSpace R] (f : StieltjesFunction R) [OrderTopology R] [CompactIccSpace R] {a b : R} {c d : R} (ss : Set.Icc a b ⋃ (i : ), Iotop (c i) (d i)) :
                                    ENNReal.ofReal (f b - f a) ∑' (i : ), ENNReal.ofReal (f (d i) - f (c i))

                                    If a compact interval [a, b] is covered by a union of open interval (c i, d i), then f b - f a ≤ ∑ f (d i) - f (c i). This is an auxiliary technical statement to prove the same statement for half-open intervals, the point of the current statement being that one can use compactness to reduce it to a finite sum, and argue by induction on the size of the covering set.

                                    To be able to handle also the top element if there is one, we use Iotop instead of Ioo in the statement. As these intervals are all open, this does not change the proof.

                                    The measure associated to a Stieltjes function #

                                    theorem StieltjesFunction.measure_def {R : Type u_2} [LinearOrder R] [TopologicalSpace R] (f : StieltjesFunction R) [OrderTopology R] [CompactIccSpace R] [MeasurableSpace R] [BorelSpace R] [SecondCountableTopology R] [DenselyOrdered R] :
                                    f.measure = let __OuterMeasure := f.outer; { toOuterMeasure := __OuterMeasure, m_iUnion := , trim_le := }
                                    @[irreducible]

                                    The measure associated to a Stieltjes function, giving mass f b - f a to the interval (a, b]. If there is a bot element, it gives zero mass to it.

                                    Equations
                                      Instances For