Documentation

QuasiBorelSpaces.Hom

Exponentials of Quasi-Borel Spaces #

This file defines the exponential object in the category of quasi-borel spaces.

See [HKSY17], Proposition 18.

structure QuasiBorelHom (A : Type u_1) (B : Type u_2) [QuasiBorelSpace A] [QuasiBorelSpace B] :
Type (max u_1 u_2)

The type of morphisms between QuasiBorelSpaces.

Instances For

    The type of morphisms between QuasiBorelSpaces.

    Equations
    Instances For
      Equations
      def QuasiBorelHom.Simps.coe {A : Type u_1} {B : Type u_2} [QuasiBorelSpace A] [QuasiBorelSpace B] (f : A →𝒒 B) :
      A β†’ B

      A simps projection for function coercion.

      Equations
      Instances For
        theorem QuasiBorelHom.ext {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} {f g : A →𝒒 B} (h : βˆ€ (x : A), f x = g x) :
        f = g
        theorem QuasiBorelHom.ext_iff {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} {f g : A →𝒒 B} :
        f = g ↔ βˆ€ (x : A), f x = g x
        def QuasiBorelHom.copy {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} (f : A →𝒒 B) (f' : A β†’ B) (h : f' = ⇑f) :

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

        Equations
        • f.copy f' h = { toFun := f', property := β‹― }
        Instances For
          @[simp]
          theorem QuasiBorelHom.coe_mk {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} {f : A β†’ B} (hf : QuasiBorelSpace.IsHom f) :
          ⇑{ toFun := f, property := hf } = f
          @[simp]
          theorem QuasiBorelHom.eta {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} (f : A →𝒒 B) :
          { toFun := ⇑f, property := β‹― } = f
          @[simp]
          theorem QuasiBorelHom.toFun_eq_coe {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} (f : A →𝒒 B) :
          f.toFun = ⇑f
          @[simp]
          theorem QuasiBorelHom.isHom_coe {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} (f : A →𝒒 B) :
          Equations
          theorem QuasiBorelHom.isHom_def {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} (Ο† : ℝ β†’ A →𝒒 B) :
          QuasiBorelSpace.IsHom Ο† ↔ QuasiBorelSpace.IsHom fun (x : ℝ Γ— A) => (Ο† x.1) x.2
          @[simp]
          theorem QuasiBorelHom.isHom_eval {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} :
          QuasiBorelSpace.IsHom fun (p : (A →𝒒 B) Γ— A) => p.1 p.2
          theorem QuasiBorelHom.isHom_eval' {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} {C : Type u_3} {x✝² : QuasiBorelSpace C} {f : A β†’ B →𝒒 C} (hf : QuasiBorelSpace.IsHom f) {g : A β†’ B} (hg : QuasiBorelSpace.IsHom g) :
          QuasiBorelSpace.IsHom fun (x : A) => (f x) (g x)
          theorem QuasiBorelHom.isHom_mk {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} {C : Type u_3} {x✝² : QuasiBorelSpace C} {f : A β†’ B β†’ C} (hf : QuasiBorelSpace.IsHom fun (x : A Γ— B) => f x.1 x.2) :
          QuasiBorelSpace.IsHom fun (x : A) => { toFun := f x, property := β‹― }
          @[simp]
          theorem QuasiBorelHom.isHom_iff {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} {C : Type u_3} {x✝² : QuasiBorelSpace C} (f : A β†’ B →𝒒 C) :
          def QuasiBorelHom.curry {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} {C : Type u_3} {x✝² : QuasiBorelSpace C} (f : A Γ— B →𝒒 C) :

          Currying for QuasiBorelHoms.

          Equations
          • f.curry = { toFun := fun (x : A) => { toFun := fun (y : B) => f (x, y), property := β‹― }, property := β‹― }
          Instances For
            @[simp]
            theorem QuasiBorelHom.curry_coe_coe {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} {C : Type u_3} {x✝² : QuasiBorelSpace C} (f : A Γ— B →𝒒 C) (x : A) :
            ⇑(f.curry x) = fun (y : B) => f (x, y)
            def QuasiBorelHom.uncurry {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} {C : Type u_3} {x✝² : QuasiBorelSpace C} (f : A →𝒒 B →𝒒 C) :

            Uncurrying for QuasiBorelHoms.

            Equations
            • f.uncurry = { toFun := fun (x : A Γ— B) => (f x.1) x.2, property := β‹― }
            Instances For
              @[simp]
              theorem QuasiBorelHom.uncurry_coe {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} {C : Type u_3} {x✝² : QuasiBorelSpace C} (f : A →𝒒 B →𝒒 C) :
              ⇑f.uncurry = fun (x : A Γ— B) => (f x.1) x.2
              @[simp]
              theorem QuasiBorelHom.curry_uncurry {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} {C : Type u_3} {x✝² : QuasiBorelSpace C} (f : A →𝒒 B →𝒒 C) :
              @[simp]
              theorem QuasiBorelHom.uncurry_curry {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} {C : Type u_3} {x✝² : QuasiBorelSpace C} (f : A Γ— B →𝒒 C) :
              def QuasiBorelHom.id {A : Type u_1} {x✝ : QuasiBorelSpace A} :

              The identity morphism.

              Equations
              Instances For
                @[simp]
                theorem QuasiBorelHom.id_coe {A : Type u_1} {x✝ : QuasiBorelSpace A} :
                ⇑id = fun (x : A) => x
                @[simp]
                theorem QuasiBorelHom.eq_id {A : Type u_1} {x✝ : QuasiBorelSpace A} :
                { toFun := fun (x : A) => x, property := β‹― } = id
                def QuasiBorelHom.comp {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} {C : Type u_3} {x✝² : QuasiBorelSpace C} (f : B →𝒒 C) (g : A →𝒒 B) :

                Morphism composition.

                Equations
                • f.comp g = { toFun := fun (x : A) => f (g x), property := β‹― }
                Instances For
                  @[simp]
                  theorem QuasiBorelHom.comp_coe {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} {C : Type u_3} {x✝² : QuasiBorelSpace C} (f : B →𝒒 C) (g : A →𝒒 B) :
                  ⇑(f.comp g) = fun (x : A) => f (g x)
                  @[simp]
                  theorem QuasiBorelHom.eq_comp {A : Type u_1} {x✝ : QuasiBorelSpace A} {B : Type u_2} {x✝¹ : QuasiBorelSpace B} {C : Type u_3} {x✝² : QuasiBorelSpace C} {f : B β†’ C} (hf : QuasiBorelSpace.IsHom f) {g : A β†’ B} (hg : QuasiBorelSpace.IsHom g) :
                  { toFun := f, property := hf }.comp { toFun := g, property := hg } = { toFun := fun (x : A) => f (g x), property := β‹― }