LeanPool.QuasiBorelSpaces.Functor #
Imported Lean Pool material for LeanPool.QuasiBorelSpaces.Functor.
A QuasiBorelSpace Functor is a function F : Type β Type such that:
FmapsQuasiBorelSpaces toQuasiBorelSpaces.
- There is a mapping from morphisms to morphisms.
- The mapping preserves the identity morphism.
- map_comp {A : Type u_2} [QuasiBorelSpace A] {B : Type u_2} [QuasiBorelSpace B] {C : Type u_2} [QuasiBorelSpace C] (f : B βπ C) (g : A βπ B) : (map f).comp (map g) = map (f.comp g)
- The mapping distributes over composition.
Instances
A Sequence is a sequence of types S : β β Type such that:
- quasiBorelSpace {n : β} : QuasiBorelSpace (S n)
- Every
S nis aQuasiBorelSpace.
- Every
- There is a projection from each type to its predecessor.
Instances
Equations
- QuasiBorelSpace.Limit.instDFunLikeNat = { coe := QuasiBorelSpace.Limit.toFun, coe_injective := β― }
A simps projection for function coercion.
Equations
- QuasiBorelSpace.Limit.Simps.coe f = βf
Instances For
Copy of a QuasiBorelHom with a new toFun equal to the old one.
Useful to fix definitional equalities.
Instances For
The Sequence obtained by iterating a Functor.
The underlying element at the
nth iterate.
Instances For
Zero element constructor.
Instances For
Successor element constructor.
Equations
- QuasiBorelSpace.Iter.succ = { toFun := fun (x : F (QuasiBorelSpace.Iter F n)) => { get := (QuasiBorelSpace.Functor.map QuasiBorelSpace.Iter.getHomβ) x }, property := β― }
Instances For
Successor element destructor.
Equations
- QuasiBorelSpace.Iter.unsucc = { toFun := fun (x : QuasiBorelSpace.Iter F (n + 1)) => (QuasiBorelSpace.Functor.map QuasiBorelSpace.Iter.mkHomβ) x.get, property := β― }
Instances For
Equations
- QuasiBorelSpace.Iter.instSequence = { quasiBorelSpace := @QuasiBorelSpace.Iter.inst F instβ, project := fun {n : β} => QuasiBorelSpace.Iter.projectβ n }
Constructs an Iterated sequence of a Functor from an unfolding function.
Equations
- QuasiBorelSpace.Iter.unfold f 0 = { toFun := fun (x : A) => QuasiBorelSpace.Iter.zero, property := β― }
- QuasiBorelSpace.Iter.unfold f n.succ = { toFun := fun (x : A) => QuasiBorelSpace.Iter.succ ((QuasiBorelSpace.Functor.map (QuasiBorelSpace.Iter.unfold f n)) (f x)), property := β― }
Instances For
A functor F is continuous if it preserves Limits.
Instances
The greatest fixed point of a Functor.
The underlying compatible sequence of finite iterates.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Unrolls a Functor out of a Nu.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Constructs a Nu from an unfolding.
Equations
- QuasiBorelSpace.Nu.unfold f = { toFun := fun (x : A) => { get := { toFun := fun (n : β) => (QuasiBorelSpace.Iter.unfold f n) x, property := β― } }, property := β― }