Documentation

QuasiBorelSpaces.OmegaHom

Exponentials for ω-quasi-borel spaces #

This file defines the function space OmegaQuasiBorelHom X Y (written X →ω𝒒 Y) of Scott-continuous QBS morphisms. It proves that this space is itself an ωQBS.

structure OmegaQuasiBorelHom (X : Type u_1) (Y : Type u_2) [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] :
Type (max u_1 u_2)

Exponential objects: functions that are both Scott-Continuous and Measurable (QBS Morphisms)

Instances For

    Exponential objects: functions that are both Scott-Continuous and Measurable (QBS Morphisms)

    Equations
    Instances For
      Equations

      A simps projection for function coercion.

      Equations
      Instances For
        theorem OmegaQuasiBorelHom.ext {X : Type u_1} {Y : Type u_2} [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] {f g : X →ω𝒒 Y} (h : ∀ (x : X), f x = g x) :
        f = g
        theorem OmegaQuasiBorelHom.ext_iff {X : Type u_1} {Y : Type u_2} [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] {f g : X →ω𝒒 Y} :
        f = g ∀ (x : X), f x = g x
        def OmegaQuasiBorelHom.copy {X : Type u_1} {Y : Type u_2} [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] (f : X →ω𝒒 Y) (f' : XY) (h : f' = f) :

        Copy of a OmegaQuasiBorelHom with a new toFun equal to the old one. Useful to fix definitional equalities.

        Equations
        • f.copy f' h = { toFun := f', isHom' := , ωScottContinuous' := }
        Instances For
          @[simp]
          theorem OmegaQuasiBorelHom.coe_mk {X : Type u_1} {Y : Type u_2} [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] {f : XY} (hf₁ : QuasiBorelSpace.IsHom f) (hf₂ : OmegaCompletePartialOrder.ωScottContinuous f) :
          { toFun := f, isHom' := hf₁, ωScottContinuous' := hf₂ } = f
          @[simp]
          theorem OmegaQuasiBorelHom.eta {X : Type u_1} {Y : Type u_2} [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] (f : X →ω𝒒 Y) :
          { toFun := f, isHom' := , ωScottContinuous' := } = f

          Converts an ωQBS Hom to a Poset Hom.

          Equations
          • f = { toFun := f, monotone' := }
          Instances For
            @[simp]
            theorem OmegaQuasiBorelHom.toOrderHom_coe {X : Type u_1} {Y : Type u_2} [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] (f : X →ω𝒒 Y) (a : X) :
            f a = f a

            Converts a ωQBS Hom to an ωCPO Hom.

            Equations
            • f = { toFun := f, monotone' := , map_ωSup' := }
            Instances For
              @[simp]
              theorem OmegaQuasiBorelHom.toContinuousHom_apply {X : Type u_1} {Y : Type u_2} [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] (f : X →ω𝒒 Y) (a : X) :
              f a = f a

              Converts a ωQBS Hom to a quasi-Borel Hom.

              Equations
              • f = { toFun := f, property := }
              Instances For
                @[simp]
                theorem OmegaQuasiBorelHom.toQuasiBorelHom_coe {X : Type u_1} {Y : Type u_2} [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] (f : X →ω𝒒 Y) (a : X) :
                f a = f a

                The ωCPO structure on the exponential is the pointwise order.

                Equations
                • One or more equations did not get rendered due to their size.
                @[simp]
                theorem OmegaQuasiBorelHom.lt_def {X : Type u_1} {Y : Type u_2} [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] (a b : X →ω𝒒 Y) :
                (a < b) = (a < b)
                @[simp]
                theorem OmegaQuasiBorelHom.le_def {X : Type u_1} {Y : Type u_2} [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] (a b : X →ω𝒒 Y) :
                (a b) = (a b)

                The QBS structure on the ωHoms is identical to normal QBS Homs.

                Equations
                @[simp]
                theorem OmegaQuasiBorelHom.isHom_eval {X : Type u_1} {Y : Type u_2} [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] :
                QuasiBorelSpace.IsHom fun (p : (X →ω𝒒 Y) × X) => p.1 p.2
                theorem OmegaQuasiBorelHom.isHom_eval' {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [OmegaQuasiBorelSpace Y] [OmegaQuasiBorelSpace Z] [QuasiBorelSpace X] {f : XY →ω𝒒 Z} (hf : QuasiBorelSpace.IsHom f) {g : XY} (hg : QuasiBorelSpace.IsHom g) :
                QuasiBorelSpace.IsHom fun (x : X) => (f x) (g x)
                @[simp]
                theorem OmegaQuasiBorelHom.isHom_iff {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [OmegaQuasiBorelSpace Y] [OmegaQuasiBorelSpace Z] [QuasiBorelSpace X] (f : XY →ω𝒒 Z) :
                QuasiBorelSpace.IsHom f QuasiBorelSpace.IsHom fun (x : X × Y) => (f x.1) x.2
                theorem OmegaQuasiBorelHom.isHom_mk {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] [OmegaQuasiBorelSpace Z] {f : XYZ} (h₁ : QuasiBorelSpace.IsHom fun (x : X × Y) => f x.1 x.2) (h₂ : ∀ (x : X), OmegaCompletePartialOrder.ωScottContinuous (f x)) :
                QuasiBorelSpace.IsHom fun (x : X) => { toFun := f x, isHom' := , ωScottContinuous' := }
                theorem OmegaQuasiBorelHom.ωScottContinuous_mk {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] [OmegaQuasiBorelSpace Z] {f : XYZ} (h₁ : ∀ (x : X), QuasiBorelSpace.IsHom (f x)) (h₂ : OmegaCompletePartialOrder.ωScottContinuous fun (x : X × Y) => f x.1 x.2) :
                OmegaCompletePartialOrder.ωScottContinuous fun (x : X) => { toFun := f x, isHom' := , ωScottContinuous' := }

                The exponential object is an ωQBS.

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

                Operations #

                Identity OmegaQuasiBorelHoms.

                Equations
                Instances For
                  @[simp]
                  theorem OmegaQuasiBorelHom.id_coe {X : Type u_1} [OmegaQuasiBorelSpace X] (x : X) :
                  id x = x

                  Function composition for OmegaQuasiBorelHoms.

                  Equations
                  • f.comp g = { toFun := fun (x : X) => f (g x), isHom' := , ωScottContinuous' := }
                  Instances For
                    @[simp]
                    theorem OmegaQuasiBorelHom.comp_coe {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] [OmegaQuasiBorelSpace Z] (f : Y →ω𝒒 Z) (g : X →ω𝒒 Y) (x : X) :
                    (f.comp g) x = f (g x)

                    Product construction as an OmegaQuasiBorelHom.

                    Equations
                    Instances For
                      @[simp]
                      theorem OmegaQuasiBorelHom.Prod.mk_coe {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] [OmegaQuasiBorelSpace Z] (f : X →ω𝒒 Y) (g : X →ω𝒒 Z) (x : X) :
                      (mk f g) x = (f x, g x)

                      First product projection.

                      Equations
                      Instances For
                        @[simp]
                        theorem OmegaQuasiBorelHom.Prod.fst_coe {X : Type u_1} {Y : Type u_2} [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] (x : X × Y) :
                        fst x = x.1

                        Second product projection.

                        Equations
                        Instances For
                          @[simp]
                          theorem OmegaQuasiBorelHom.Prod.snd_coe {X : Type u_1} {Y : Type u_2} [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] (x : X × Y) :
                          snd x = x.2

                          Currying for OmegaQuasiBorelHoms.

                          Equations
                          • f.curry = { toFun := fun (x : Z) => { toFun := fun (y : X) => f (x, y), isHom' := , ωScottContinuous' := }, isHom' := , ωScottContinuous' := }
                          Instances For
                            @[simp]
                            theorem OmegaQuasiBorelHom.curry_coe {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] [OmegaQuasiBorelSpace Z] (f : Z × X →ω𝒒 Y) (x : Z) :
                            f.curry x = { toFun := fun (y : X) => f (x, y), isHom' := , ωScottContinuous' := }

                            Function application is an OmegaQuasiBorelHom.

                            Equations
                            Instances For
                              @[simp]
                              theorem OmegaQuasiBorelHom.eval_coe {X : Type u_1} {Y : Type u_2} [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] (x : (X →ω𝒒 Y) × X) :
                              eval x = x.1 x.2
                              @[simp]
                              theorem OmegaQuasiBorelHom.uncurry_coe {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [OmegaQuasiBorelSpace X] [OmegaQuasiBorelSpace Y] [OmegaQuasiBorelSpace Z] (f : X →ω𝒒 Y →ω𝒒 Z) (x : X × Y) :
                              f.uncurry x = (f x.1) x.2