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
    theorem isOpen_Iotop {R : Type u_1} [LinearOrder R] [TopologicalSpace R] [OrderTopology R] (a b : R) :
    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
      theorem botSet_eq_singleton_of_isBot {R : Type u_1} [LinearOrder R] {x : R} (hx : IsBot x) :

      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
            @[simp]
            theorem StieltjesFunction.const_apply {R : Type u_1} [LinearOrder R] [TopologicalSpace R] (c : ) (x : R) :

            The sum of two Stieltjes functions is a Stieltjes function.

            Equations
            • f.add g = { toFun := fun (x : R) => f x + g x, mono' := , right_continuous' := }
            Instances For
              Equations
              • One or more equations did not get rendered due to their size.
              Equations
              • One or more equations did not get rendered due to their size.
              @[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.

                    @[simp]

                    The measure associated to a Stieltjes function #

                    @[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
                    • f.measure = let __OuterMeasure := f.outer; { toOuterMeasure := __OuterMeasure, m_iUnion := , trim_le := }
                    Instances For
                      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 := }