Documentation

QuasiBorelSpaces.ProbabilityMeasure

Probability Measures over Quasi-Borel Spaces #

This file defines probability measures over quasi-borel spaces.

See [HKSY17], Section V-D.

Basic Definitions #

The type of (quasi-borel) probability measures.

Instances For

    Constructs a ProbabilityMeasure from a PreProbabilityMeasure.

    Equations
    Instances For
      @[simp]

      Two ProbabilityMeasures are equal iff their underlying PreProbabilityMeasures are equivalent.

      theorem QuasiBorelSpace.ProbabilityMeasure.inductionOn {A : Type u_1} [QuasiBorelSpace A] {motive : ProbabilityMeasure AProp} (μ : ProbabilityMeasure A) (mk : ∀ (μ : PreProbabilityMeasure A), motive (mk μ)) :
      motive μ

      Induction principle for ProbabilityMeasure.

      Converts a ProbabilityMeasure to the underlying PreProbabilityMeasure. This may or may not be the one passed to mk, but will always be equivalent ((mk μ).toPreProbabilityMeasure ≈ μ).

      Equations
      Instances For

        QuasiBorelSpace Instance #

        @[simp]

        mk is a homomorphism.

        Integrals #

        The integral of a function over a ProbabilityMeasure.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          @[simp]

          Converting to PreProbabilityMeasure and back preserves the integral.

          theorem QuasiBorelSpace.ProbabilityMeasure.ext {A : Type u_1} [QuasiBorelSpace A] {μ₁ μ₂ : ProbabilityMeasure A} ( : ∀ {k : AENNReal}, IsHom klintegral (fun (x : A) => k x) μ₁ = lintegral (fun (x : A) => k x) μ₂) :
          μ₁ = μ₂

          Two ProbabilityMeasures are equal iff they have the same integrals.

          theorem QuasiBorelSpace.ProbabilityMeasure.ext_iff {A : Type u_1} [QuasiBorelSpace A] {μ₁ μ₂ : ProbabilityMeasure A} :
          μ₁ = μ₂ ∀ {k : AENNReal}, IsHom klintegral (fun (x : A) => k x) μ₁ = lintegral (fun (x : A) => k x) μ₂
          theorem QuasiBorelSpace.ProbabilityMeasure.isHom_lintegral {A : Type u_1} {B : Type u_2} [QuasiBorelSpace A] [QuasiBorelSpace B] {k : ABENNReal} (hk : IsHom fun (x : A × B) => match x with | (x, y) => k x y) {f : AProbabilityMeasure B} (hf : IsHom f) :
          IsHom fun (x : A) => lintegral (fun (y : B) => k x y) (f x)

          The integral of a homomorphism is itself a homomorphism.

          theorem QuasiBorelSpace.ProbabilityMeasure.lintegral_add_left {A : Type u_1} [QuasiBorelSpace A] {f : AENNReal} (hf : IsHom f) (g : AENNReal) (μ : ProbabilityMeasure A) :
          lintegral (fun (x : A) => f x + g x) μ = lintegral (fun (x : A) => f x) μ + lintegral (fun (x : A) => g x) μ

          Linearity of integration: addition on the left.

          theorem QuasiBorelSpace.ProbabilityMeasure.lintegral_add_right {A : Type u_1} [QuasiBorelSpace A] (f : AENNReal) {g : AENNReal} (hg : IsHom g) (μ : ProbabilityMeasure A) :
          lintegral (fun (x : A) => f x + g x) μ = lintegral (fun (x : A) => f x) μ + lintegral (fun (x : A) => g x) μ

          Linearity of integration: addition on the right.

          theorem QuasiBorelSpace.ProbabilityMeasure.lintegral_mul_left {A : Type u_1} [QuasiBorelSpace A] (c : ENNReal) {f : AENNReal} (hf : IsHom f) (μ : ProbabilityMeasure A) :
          lintegral (fun (x : A) => c * f x) μ = c * lintegral (fun (x : A) => f x) μ

          Linearity of integration: scalar multiplication on the left.

          theorem QuasiBorelSpace.ProbabilityMeasure.lintegral_mul_right {A : Type u_1} [QuasiBorelSpace A] (c : ENNReal) {f : AENNReal} (hf : IsHom f) (μ : ProbabilityMeasure A) :
          lintegral (fun (x : A) => f x * c) μ = lintegral (fun (x : A) => f x) μ * c

          Linearity of integration: scalar multiplication on the right.

          @[simp]

          The integral of a constant function is the constant.

          @[simp]
          theorem QuasiBorelSpace.ProbabilityMeasure.lintegral_mono {A : Type u_1} [QuasiBorelSpace A] {f g : AENNReal} (h : f g) (μ : ProbabilityMeasure A) :
          lintegral (fun (x : A) => f x) μ lintegral (fun (x : A) => g x) μ

          Monotonicity of integration.

          theorem QuasiBorelSpace.ProbabilityMeasure.lintegral_iSup {A : Type u_1} [QuasiBorelSpace A] (f : AENNReal) (hf₁ : Monotone f) (hf₂ : ∀ (n : ), IsHom (f n)) (μ : ProbabilityMeasure A) :
          ⨆ (n : ), lintegral (fun (x : A) => f n x) μ = lintegral (fun (x : A) => ⨆ (n : ), f n x) μ

          Monotone convergence theorem for integrals.

          theorem QuasiBorelSpace.ProbabilityMeasure.lintegral_finset_sum {B : Type u_2} [QuasiBorelSpace B] {A : Type u_7} (s : Finset A) {f : ABENNReal} (hf : bs, IsHom (f b)) (μ : ProbabilityMeasure B) :
          lintegral (fun (a : B) => bs, f b a) μ = bs, lintegral (fun (a : B) => f b a) μ

          The integral of a finite sum is the sum of the integrals.

          theorem QuasiBorelSpace.ProbabilityMeasure.lintegral_sub_le {A : Type u_1} [QuasiBorelSpace A] (f : AENNReal) {g : AENNReal} (hg : IsHom g) (μ : ProbabilityMeasure A) :
          lintegral (fun (x : A) => f x) μ - lintegral (fun (x : A) => g x) μ lintegral (fun (x : A) => f x - g x) μ

          Upper bound for subtraction of integrals.

          Measures #

          Point Separation #

          Operations #

          unit #

          @[simp]
          theorem QuasiBorelSpace.ProbabilityMeasure.lintegral_unit {A : Type u_1} [QuasiBorelSpace A] {k : AENNReal} (hk : IsHom k) (x : A) :
          lintegral (fun (x : A) => k x) (unit x) = k x
          @[simp]

          unit is injective when the carrier separates points.

          @[simp]

          unit is injective iff the inputs are equal.

          bind #

          The monadic bind operation.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem QuasiBorelSpace.ProbabilityMeasure.lintegral_bind {A : Type u_1} {B : Type u_2} [QuasiBorelSpace A] [QuasiBorelSpace B] {k : BENNReal} (hk : IsHom k) {f : AProbabilityMeasure B} (hf : IsHom f) (μ : ProbabilityMeasure A) :
            lintegral (fun (x : B) => k x) (bind f μ) = lintegral (fun (x : A) => lintegral (fun (y : B) => k y) (f x)) μ

            Computing the integral of bind.

            @[simp]
            theorem QuasiBorelSpace.ProbabilityMeasure.bind_unit {A : Type u_1} {B : Type u_2} [QuasiBorelSpace A] [QuasiBorelSpace B] {f : AProbabilityMeasure B} (hf : IsHom f) (x : A) :
            bind f (unit x) = f x

            Left unit law for bind.

            @[simp]

            Right unit law for bind.

            @[simp]
            theorem QuasiBorelSpace.ProbabilityMeasure.bind_bind {A : Type u_1} {B : Type u_2} {C : Type u_3} [QuasiBorelSpace A] [QuasiBorelSpace B] [QuasiBorelSpace C] {f : BProbabilityMeasure C} (hf : IsHom f) {g : AProbabilityMeasure B} (hg : IsHom g) (μ : ProbabilityMeasure A) :
            bind f (bind g μ) = bind (fun (x : A) => bind f (g x)) μ

            Associativity of bind.

            map #

            noncomputable def QuasiBorelSpace.ProbabilityMeasure.map {A : Type u_1} {B : Type u_2} [QuasiBorelSpace A] [QuasiBorelSpace B] (f : AB) (μ : ProbabilityMeasure A) :

            The functorial map operation.

            Equations
            Instances For
              theorem QuasiBorelSpace.ProbabilityMeasure.isHom_map {A : Type u_1} {B : Type u_2} [QuasiBorelSpace A] [QuasiBorelSpace B] {f : AB} (hf : IsHom f) :
              @[simp]
              theorem QuasiBorelSpace.ProbabilityMeasure.lintegral_map {A : Type u_1} {B : Type u_2} [QuasiBorelSpace A] [QuasiBorelSpace B] {k : BENNReal} (hk : IsHom k) {f : AB} (hf : IsHom f) (μ : ProbabilityMeasure A) :
              lintegral (fun (x : B) => k x) (map f μ) = lintegral (fun (x : A) => k (f x)) μ

              Computing the integral of map.

              @[simp]
              theorem QuasiBorelSpace.ProbabilityMeasure.map_id {A : Type u_1} [QuasiBorelSpace A] :
              (map fun (x : A) => x) = id

              map of the identity function is the identity.

              @[simp]
              theorem QuasiBorelSpace.ProbabilityMeasure.map_map {A : Type u_1} {B : Type u_2} {C : Type u_3} [QuasiBorelSpace A] [QuasiBorelSpace B] [QuasiBorelSpace C] {f : BC} (hf : IsHom f) {g : AB} (hg : IsHom g) (μ : ProbabilityMeasure A) :
              map f (map g μ) = map (fun (x : A) => f (g x)) μ

              Functor composition law for map.

              @[simp]
              theorem QuasiBorelSpace.ProbabilityMeasure.map_bind {A : Type u_1} {B : Type u_2} {C : Type u_3} [QuasiBorelSpace A] [QuasiBorelSpace B] [QuasiBorelSpace C] {f : BC} (hf : IsHom f) {g : AProbabilityMeasure B} (hg : IsHom g) (μ : ProbabilityMeasure A) :
              map f (bind g μ) = bind (fun (x : A) => map f (g x)) μ

              Commutation of map and bind.

              @[simp]
              theorem QuasiBorelSpace.ProbabilityMeasure.bind_map {A : Type u_1} {B : Type u_2} {C : Type u_3} [QuasiBorelSpace A] [QuasiBorelSpace B] [QuasiBorelSpace C] {f : BProbabilityMeasure C} (hf : IsHom f) {g : AB} (hg : IsHom g) (μ : ProbabilityMeasure A) :
              bind f (map g μ) = bind (fun (x : A) => f (g x)) μ

              Commutation of bind and map.

              @[simp]
              theorem QuasiBorelSpace.ProbabilityMeasure.map_unit {A : Type u_1} {B : Type u_2} [QuasiBorelSpace A] [QuasiBorelSpace B] {f : AB} (hf : IsHom f) (x : A) :
              map f (unit x) = unit (f x)

              map commutes with unit.

              @[simp]
              theorem QuasiBorelSpace.ProbabilityMeasure.bind_unit_eq_map {A : Type u_1} {B : Type u_2} [QuasiBorelSpace A] [QuasiBorelSpace B] {f : AB} :
              (bind fun (x : A) => unit (f x)) = map f

              bind with unit is equivalent to map.

              str #

              @[simp]
              theorem QuasiBorelSpace.ProbabilityMeasure.lintegral_str {A : Type u_1} {B : Type u_2} [QuasiBorelSpace A] [QuasiBorelSpace B] {k : A × BENNReal} (hk : IsHom k) (x : A) (μ : ProbabilityMeasure B) :
              lintegral (fun (p : A × B) => k p) (str x μ) = lintegral (fun (y : B) => k (x, y)) μ
              @[simp]

              str is a homomorphism in both arguments.

              theorem QuasiBorelSpace.ProbabilityMeasure.isHom_str' {A : Type u_1} {B : Type u_2} {C : Type u_3} [QuasiBorelSpace A] [QuasiBorelSpace B] [QuasiBorelSpace C] {f : AB} (hf : IsHom f) {g : AProbabilityMeasure C} (hg : IsHom g) :
              IsHom fun (x : A) => str (f x) (g x)

              str is a homomorphism when composed with other homomorphisms.

              @[simp]
              theorem QuasiBorelSpace.ProbabilityMeasure.str_eq_map {A : Type u_1} {B : Type u_2} [QuasiBorelSpace A] [QuasiBorelSpace B] (x : A) (μ : ProbabilityMeasure B) :
              str x μ = map (fun (x_1 : B) => (x, x_1)) μ

              str expressed in terms of map.

              theorem QuasiBorelSpace.ProbabilityMeasure.isHom_bind' {A : Type u_1} {B : Type u_2} {C : Type u_3} [QuasiBorelSpace A] [QuasiBorelSpace B] [QuasiBorelSpace C] {f : CAProbabilityMeasure B} (hf : IsHom (Function.uncurry f)) {g : CProbabilityMeasure A} (hg : IsHom g) :
              IsHom fun (x : C) => bind (f x) (g x)

              Helper lemma for proving bind is a homomorphism with uncurried functions.

              theorem QuasiBorelSpace.ProbabilityMeasure.isHom_map' {A : Type u_1} {B : Type u_2} {C : Type u_3} [QuasiBorelSpace A] [QuasiBorelSpace B] [QuasiBorelSpace C] {f : CAB} (hf : IsHom (Function.uncurry f)) {g : CProbabilityMeasure A} (hg : IsHom g) :
              IsHom fun (x : C) => map (f x) (g x)

              Helper lemma for proving map is a homomorphism with uncurried functions.

              coin #

              @[simp]

              choose #

              Probabilistic choice.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem QuasiBorelSpace.ProbabilityMeasure.isHom_choose {A : Type u_1} {B : Type u_2} [QuasiBorelSpace A] [QuasiBorelSpace B] (p : unitInterval) {f : AProbabilityMeasure B} (hf : IsHom f) {g : AProbabilityMeasure B} (hg : IsHom g) :
                IsHom fun (x : A) => choose p (f x) (g x)

                choose is a homomorphism.

                @[simp]
                theorem QuasiBorelSpace.ProbabilityMeasure.lintegral_choose {A : Type u_1} [QuasiBorelSpace A] {k : AENNReal} (hk : IsHom k) (p : unitInterval) (μ ν : ProbabilityMeasure A) :
                lintegral (fun (x : A) => k x) (choose p μ ν) = ENNReal.ofReal p * lintegral (fun (x : A) => k x) μ + ENNReal.ofReal (unitInterval.symm p) * lintegral (fun (x : A) => k x) ν
                @[simp]

                Choosing with probability 1 returns the first measure.

                @[simp]

                Choosing with probability 0 returns the second measure.

                @[simp]

                Choosing between the same measure returns the measure.

                choose is commutative with symmetric probabilities.

                theorem QuasiBorelSpace.ProbabilityMeasure.choose_assoc {A : Type u_1} [QuasiBorelSpace A] {p q : unitInterval} {μ₁ μ₂ μ₃ : ProbabilityMeasure A} :
                choose q (choose p μ₁ μ₂) μ₃ = choose (p * q) μ₁ (choose (unitInterval.assocProd p q) μ₂ μ₃)

                Associativity of choose with appropriate probability adjustments.

                @[simp]
                theorem QuasiBorelSpace.ProbabilityMeasure.bind_choose {A : Type u_1} {B : Type u_2} [QuasiBorelSpace A] [QuasiBorelSpace B] {f : AProbabilityMeasure B} (hf : IsHom f) (p : unitInterval) (μ ν : ProbabilityMeasure A) :
                bind f (choose p μ ν) = choose p (bind f μ) (bind f ν)

                bind distributes over choose.

                @[simp]
                theorem QuasiBorelSpace.ProbabilityMeasure.map_choose {A : Type u_1} {B : Type u_2} [QuasiBorelSpace A] [QuasiBorelSpace B] {f : AB} (hf : IsHom f) (p : unitInterval) (μ ν : ProbabilityMeasure A) :
                map f (choose p μ ν) = choose p (map f μ) (map f ν)

                map distributes over choose.

                @[simp]
                theorem QuasiBorelSpace.ProbabilityMeasure.choose_bind {A : Type u_1} {B : Type u_2} [QuasiBorelSpace A] [QuasiBorelSpace B] {f : AProbabilityMeasure B} (hf : IsHom f) {g : AProbabilityMeasure B} (hg : IsHom g) (p : unitInterval) (μ : ProbabilityMeasure A) :
                bind (fun (x : A) => choose p (f x) (g x)) μ = choose p (bind f μ) (bind g μ)

                choose commutes with bind.

                Order Structure #

                the discrete order on ProbabilityMeasure

                Equations

                ProbabilityMeasure is an ωCPO with the discrete order

                Equations
                • One or more equations did not get rendered due to their size.