@[simp]
theorem
Rose.Encoding.isHom_mk
{A : Type u_1}
[QuasiBorelSpace A]
:
QuasiBorelSpace.IsHom fun (x : A × List (Encoding A)) => mk x.1 x.2
theorem
Rose.Encoding.isHom_fold
{A : Type u_1}
{B : Type u_2}
[QuasiBorelSpace A]
[QuasiBorelSpace B]
{mk : A → List B → B}
(hmk :
QuasiBorelSpace.IsHom fun (x : A × List B) =>
match x with
| (x, y) => mk x y)
:
@[simp]
theorem
QuasiBorelSpace.Rose.isHom_cons'
{A : Type u_1}
{B : Type u_2}
[QuasiBorelSpace A]
[QuasiBorelSpace B]
{f : A → B}
(hf : IsHom f)
{g : A → List (Rose B)}
(hg : IsHom g)
:
theorem
QuasiBorelSpace.Rose.isHom_fold
{A : Type u_1}
{B : Type u_2}
[QuasiBorelSpace A]
[QuasiBorelSpace B]
{mk : A → List B → B}
(hmk :
IsHom fun (x : A × List B) =>
match x with
| (x, xs) => mk x xs)
:
theorem
QuasiBorelSpace.Rose.isHom_fold'
{A : Type u_1}
{B : Type u_2}
{C : Type u_3}
[QuasiBorelSpace A]
[QuasiBorelSpace B]
[QuasiBorelSpace C]
{mk : A → B → List C → C}
(hmk :
IsHom fun (x : A × B × List C) =>
match x with
| (x, y, z) => mk x y z)
{f : A → Rose B}
(hf : IsHom f)
:
@[simp]
@[simp]
theorem
QuasiBorelSpace.Rose.isHom_bind
{A : Type u_1}
{B : Type u_2}
{C : Type u_3}
[QuasiBorelSpace A]
[QuasiBorelSpace B]
[QuasiBorelSpace C]
{f : A → B → Rose C}
(hf :
IsHom fun (x : A × B) =>
match x with
| (x, y) => f x y)
{g : A → Rose B}
(hg : IsHom g)
:
instance
QuasiBorelSpace.Rose.instSeparatesPointsRose
{A : Type u_1}
[QuasiBorelSpace A]
[SeparatesPoints A]
:
SeparatesPoints (Rose A)