Documentation

QuasiBorelSpaces.ProbabilityMeasure.Operations

Probability Measures on Quasi-Borel Spaces #

This file defines monadic operations on quasi-Borel spaces.

map #

noncomputable def QuasiBorelSpace.ProbabilityMeasure.map {A : Type u_1} {B : Type u_2} [QuasiBorelSpace A] [QuasiBorelSpace B] (f : A → B) (μ : ProbabilityMeasure A) :
Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem QuasiBorelSpace.ProbabilityMeasure.isHom_map {A : Type u_1} {B : Type u_2} {x✝ : QuasiBorelSpace A} {x✝¹ : QuasiBorelSpace B} {f : A → B} (hf : IsHom f) :
    @[simp]
    theorem QuasiBorelSpace.ProbabilityMeasure.lintegral_map {A : Type u_2} {B : Type u_1} {x✝ : QuasiBorelSpace A} [QuasiBorelSpace B] {k : B → ENNReal} {f : A → B} (hk : IsHom k) (hf : IsHom f) (μ : ProbabilityMeasure A) :
    lintegral k (map f μ) = lintegral (fun (x : A) => k (f x)) μ
    @[simp]
    theorem QuasiBorelSpace.ProbabilityMeasure.map_id {A : Type u_1} {x✝ : QuasiBorelSpace A} {f : A → A} (hf : ∀ (x : A), f x = x) :
    map f = id
    @[simp]
    theorem QuasiBorelSpace.ProbabilityMeasure.map_comp {A : Type u_3} {B : Type u_1} {C : Type u_2} {x✝ : QuasiBorelSpace A} {x✝¹ : QuasiBorelSpace B} {x✝² : QuasiBorelSpace C} {f : B → C} {g : A → B} (hf : IsHom f) (hg : IsHom g) (μ : ProbabilityMeasure A) :
    map f (map g μ) = map (fun (x : A) => f (g x)) μ

    pure #

    Equations
    Instances For
      @[simp]
      theorem QuasiBorelSpace.ProbabilityMeasure.lintegral_pure {A : Type u_1} {x✝ : QuasiBorelSpace A} {f : A → ENNReal} (hf : IsHom f) (x : A) :
      lintegral f (pure x) = f x
      @[simp]
      theorem QuasiBorelSpace.ProbabilityMeasure.map_pure {A : Type u_1} {B : Type u_2} {x✝ : QuasiBorelSpace A} {x✝¹ : QuasiBorelSpace B} {f : A → B} (hf : IsHom f) (x : A) :
      map f (pure x) = pure (f x)

      str #

      noncomputable def QuasiBorelSpace.ProbabilityMeasure.str {A : Type u_1} {B : Type u_2} [QuasiBorelSpace A] [QuasiBorelSpace B] (x : A) (μ : ProbabilityMeasure B) :
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem QuasiBorelSpace.ProbabilityMeasure.lintegral_str {A : Type u_1} {B : Type u_2} {x✝ : QuasiBorelSpace A} {x✝¹ : QuasiBorelSpace B} {f : A × B → ENNReal} (hf : IsHom f) (x : A) (μ : ProbabilityMeasure B) :
        lintegral f (str x μ) = lintegral (fun (y : B) => f (x, y)) μ
        @[simp]
        theorem QuasiBorelSpace.ProbabilityMeasure.isHom_str {A : Type u_1} {B : Type u_2} {x✝ : QuasiBorelSpace A} {x✝¹ : QuasiBorelSpace B} :
        IsHom fun (x : A × ProbabilityMeasure B) => str x.1 x.2
        @[simp]
        theorem QuasiBorelSpace.ProbabilityMeasure.str_eq_map {A : Type u_2} {B : Type u_1} {x✝ : QuasiBorelSpace A} {x✝¹ : QuasiBorelSpace B} (x : A) (μ : ProbabilityMeasure B) :
        str x μ = map (fun (x_1 : B) => (x, x_1)) μ
        @[simp]
        theorem QuasiBorelSpace.ProbabilityMeasure.isHom_map' {A : Type u_2} {B : Type u_1} {C : Type u_3} {x✝ : QuasiBorelSpace A} {x✝¹ : QuasiBorelSpace B} {x✝² : QuasiBorelSpace C} {g : A → ProbabilityMeasure B} {f : A → B → C} (hf : IsHom fun (x : A × B) => f x.1 x.2) (hg : IsHom g) :
        IsHom fun (x : A) => map (f x) (g x)

        join #

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem QuasiBorelSpace.ProbabilityMeasure.map_join {A : Type u_1} {B : Type u_2} {x✝ : QuasiBorelSpace A} {x✝¹ : QuasiBorelSpace B} {f : A → B} (hf : IsHom f) (μ : ProbabilityMeasure (ProbabilityMeasure A)) :
          map f μ.join = (map (map f) μ).join

          bind #

          @[simp]
          theorem QuasiBorelSpace.ProbabilityMeasure.lintegral_bind {A : Type u_2} {B : Type u_1} {x✝ : QuasiBorelSpace A} {x✝¹ : QuasiBorelSpace B} {k : B → ENNReal} {f : A → ProbabilityMeasure B} (hk : IsHom k) (hf : IsHom f) (μ : ProbabilityMeasure A) :
          lintegral k (bind f μ) = lintegral (fun (x : A) => lintegral k (f x)) μ
          @[simp]
          theorem QuasiBorelSpace.ProbabilityMeasure.isHom_bind {A : Type u_3} {B : Type u_2} {C : Type u_1} {x✝ : QuasiBorelSpace A} {x✝¹ : QuasiBorelSpace B} {x✝² : QuasiBorelSpace C} {f : A → B → ProbabilityMeasure C} {g : A → ProbabilityMeasure B} (hf : IsHom fun (x : A × B) => f x.1 x.2) (hg : IsHom g) :
          IsHom fun (x : A) => bind (f x) (g x)
          @[simp]
          theorem QuasiBorelSpace.ProbabilityMeasure.pure_bind {A : Type u_1} {B : Type u_2} {x✝ : QuasiBorelSpace A} {x✝¹ : QuasiBorelSpace B} {f : A → B} (hf : IsHom f) :
          (bind fun (x : A) => pure (f x)) = map f
          @[simp]
          theorem QuasiBorelSpace.ProbabilityMeasure.bind_pure {A : Type u_2} {B : Type u_1} {x✝ : QuasiBorelSpace A} {x✝¹ : QuasiBorelSpace B} {f : A → ProbabilityMeasure B} (hf : IsHom f) (x : A) :
          bind f (pure x) = f x
          @[simp]
          theorem QuasiBorelSpace.ProbabilityMeasure.bind_assoc {A : Type u_3} {B : Type u_2} {C : Type u_1} {x✝ : QuasiBorelSpace A} {x✝¹ : QuasiBorelSpace B} {x✝² : QuasiBorelSpace C} {f : B → ProbabilityMeasure C} {g : A → ProbabilityMeasure B} (hf : IsHom f) (hg : IsHom g) (μ : ProbabilityMeasure A) :
          bind f (bind g μ) = bind (fun (x : A) => bind f (g x)) μ
          theorem QuasiBorelSpace.ProbabilityMeasure.bind_comm {A : Type u_3} {B : Type u_2} {C : Type u_1} {x✝ : QuasiBorelSpace A} {x✝¹ : QuasiBorelSpace B} {x✝² : QuasiBorelSpace C} {f : A → B → ProbabilityMeasure C} (hf : IsHom fun (x : A × B) => f x.1 x.2) (μ : ProbabilityMeasure A) (ν : ProbabilityMeasure B) :
          bind (fun (a : A) => bind (f a) ν) μ = bind (fun (a : B) => bind (fun (x : A) => f x a) μ) ν
          @[simp]
          theorem QuasiBorelSpace.ProbabilityMeasure.bind_map {A : Type u_1} {B : Type u_3} {C : Type u_2} {x✝ : QuasiBorelSpace A} {x✝¹ : QuasiBorelSpace B} {x✝² : QuasiBorelSpace C} {μ : ProbabilityMeasure A} {f : B → ProbabilityMeasure C} (hf : IsHom f) {g : A → B} (hg : IsHom g) :
          bind f (map g μ) = bind (fun (x : A) => f (g x)) μ
          @[simp]
          theorem QuasiBorelSpace.ProbabilityMeasure.map_bind {A : Type u_3} {B : Type u_1} {C : Type u_2} {x✝ : QuasiBorelSpace A} {x✝¹ : QuasiBorelSpace B} {x✝² : QuasiBorelSpace C} {f : B → C} (hf : IsHom f) {g : A → ProbabilityMeasure B} (hg : IsHom g) (μ : ProbabilityMeasure A) :
          map f (bind g μ) = bind (fun (x : A) => map f (g x)) μ

          uniform

          bernoulli

          choose

          @[simp]
          @[simp]
          @[simp]