Documentation

QuasiBorelSpaces.Cont

structure OmegaQuasiBorelSpace.Cont (R : Type u_1) (A : Type u_2) [OmegaQuasiBorelSpace R] [OmegaQuasiBorelSpace A] :
Type (max u_1 u_2)

The continuation monad in the category of OmegaQuasiBorelSpaces.

Instances For
    theorem OmegaQuasiBorelSpace.Cont.ext {R : Type u_1} {A : Type u_2} [OmegaQuasiBorelSpace R] [OmegaQuasiBorelSpace A] {x y : Cont R A} (h : x.apply = y.apply) :
    x = y
    Equations
    • One or more equations did not get rendered due to their size.
    theorem OmegaQuasiBorelSpace.Cont.isHom_val' {R : Type u_1} {A : Type u_2} {B : Type u_3} [OmegaQuasiBorelSpace R] [OmegaQuasiBorelSpace A] [QuasiBorelSpace B] {f : BCont R A} (hf : QuasiBorelSpace.IsHom f) :
    QuasiBorelSpace.IsHom fun (x : B) => (f x).apply
    theorem OmegaQuasiBorelSpace.Cont.isHom_mk' {R : Type u_1} {A : Type u_2} {B : Type u_3} [OmegaQuasiBorelSpace R] [OmegaQuasiBorelSpace A] [QuasiBorelSpace B] {f : B → (A →ω𝒒 R) →ω𝒒 R} (hf : QuasiBorelSpace.IsHom f) :
    QuasiBorelSpace.IsHom fun (x : B) => { apply := f x }
    Equations
    • One or more equations did not get rendered due to their size.

    The unit operator (i.e., pure values) for the continuation monad.

    Equations
    Instances For
      @[simp]

      The bind operator (i.e., sequential composition) for the continuation monad.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        theorem OmegaQuasiBorelSpace.Cont.bind_coe_coe_apply_coe {R : Type u_1} {A : Type u_2} {B : Type u_3} [OmegaQuasiBorelSpace R] [OmegaQuasiBorelSpace A] [OmegaQuasiBorelSpace B] (f : A →ω𝒒 Cont R B) (x : Cont R A) (k : B →ω𝒒 R) :
        ((bind f) x).apply k = x.apply { toFun := fun (y : A) => (f y).apply k, isHom' := , ωScottContinuous' := }
        @[simp]
        theorem OmegaQuasiBorelSpace.Cont.bind_unit {R : Type u_1} {A : Type u_2} {B : Type u_3} [OmegaQuasiBorelSpace R] [OmegaQuasiBorelSpace A] [OmegaQuasiBorelSpace B] (f : A →ω𝒒 Cont R B) (x : A) :
        (bind f) (unit x) = f x
        @[simp]
        theorem OmegaQuasiBorelSpace.Cont.bind_bind {R : Type u_1} {A : Type u_2} {B : Type u_3} [OmegaQuasiBorelSpace R] [OmegaQuasiBorelSpace A] {C : Type u_4} [OmegaQuasiBorelSpace B] [OmegaQuasiBorelSpace C] (f : B →ω𝒒 Cont R C) (g : A →ω𝒒 Cont R B) :
        (bind f).comp (bind g) = bind ((bind f).comp g)