@[reducible, inline]
We derive the QuasiBorelSpace instance for Option As from their encoding as
Unit ⊕ A.
Equations
Instances For
def
QuasiBorelSpace.Option.Encoding.elim
{A : Type u_1}
{B : Type u_2}
(x : B)
(f : A → B)
:
Encoding A → B
The encoded version of Option.elim.
Equations
- QuasiBorelSpace.Option.Encoding.elim x f = Sum.elim (fun (x_1 : Unit) => x) f
Instances For
@[simp]
theorem
QuasiBorelSpace.Option.Encoding.isHom_elim
{A : Type u_1}
{B : Type u_2}
{C : Type u_3}
[QuasiBorelSpace A]
[QuasiBorelSpace B]
[QuasiBorelSpace C]
{f : A → C}
(hf : IsHom f)
{g : A → B → C}
(hg :
IsHom fun (x : A × B) =>
match x with
| (x, y) => g x y)
{h : A → Encoding B}
(hh : IsHom h)
:
@[simp]
theorem
QuasiBorelSpace.Option.isHom_some
{A : Type u_1}
{B : Type u_2}
[QuasiBorelSpace A]
[QuasiBorelSpace B]
{f : A → B}
(hf : IsHom f)
:
theorem
QuasiBorelSpace.Option.isHom_elim
{A : Type u_1}
{B : Type u_2}
{C : Type u_3}
[QuasiBorelSpace A]
[QuasiBorelSpace B]
[QuasiBorelSpace C]
{f : A → Option B}
(hf : IsHom f)
{g : A → C}
(hg : IsHom g)
{h : A → B → C}
(hh :
IsHom fun (x : A × B) =>
match x with
| (x, y) => h x y)
:
theorem
QuasiBorelSpace.Option.isHom_map
{A : Type u_1}
{B : Type u_2}
{C : Type u_3}
[QuasiBorelSpace A]
[QuasiBorelSpace B]
[QuasiBorelSpace C]
{f : A → B → C}
(hf :
IsHom fun (x : A × B) =>
match x with
| (x, y) => f x y)
{g : A → Option B}
(hg : IsHom g)
:
IsHom fun (x : A) => Option.map (f x) (g x)
theorem
QuasiBorelSpace.Option.isHom_getD
{A : Type u_1}
{B : Type u_2}
[QuasiBorelSpace A]
[QuasiBorelSpace B]
{f : A → Option B}
(hf : IsHom f)
{g : A → B}
(hg : IsHom g)
:
instance
QuasiBorelSpace.Option.instIsHomDiagonalOption
{A : Type u_1}
[QuasiBorelSpace A]
[IsHomDiagonal A]
:
IsHomDiagonal (Option A)