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
Instances For
A type bundled with its quasi-Borel space structure.
- Carrier : Type u
The underlying type of a bundled quasi-Borel space.
- quasiBorelSpace : QuasiBorelSpace self.Carrier
The quasi-Borel structure on the bundled carrier.
Instances For
Iterate the functor starting at the one-point quasi-Borel space.
Equations
- QuasiBorelSpace.Iter₀ F 0 = { Carrier := PUnit.{?u.1 + 1}, quasiBorelSpace := QuasiBorelSpace.PUnit.instPUnit }
- QuasiBorelSpace.Iter₀ F n.succ = { Carrier := F (QuasiBorelSpace.Iter₀ F n).Carrier, quasiBorelSpace := QuasiBorelSpace.Functor.quasiBorelSpace }
Instances For
The underlying-value projection as a quasi-Borel homomorphism.
Equations
- QuasiBorelSpace.Iter.getHom = { toFun := QuasiBorelSpace.Iter.get, property := ⋯ }
Instances For
The wrapper constructor as a quasi-Borel homomorphism.
Equations
- QuasiBorelSpace.Iter.mkHom = { toFun := QuasiBorelSpace.Iter.mk, property := ⋯ }
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
The projection between successive iterates of the functor.
Equations
- QuasiBorelSpace.Iter.project 0 = { toFun := fun (x : QuasiBorelSpace.Iter F (0 + 1)) => QuasiBorelSpace.Iter.zero, property := ⋯ }
- QuasiBorelSpace.Iter.project n.succ = QuasiBorelSpace.Iter.succ.comp ((QuasiBorelSpace.Functor.map (QuasiBorelSpace.Iter.project n)).comp QuasiBorelSpace.Iter.unsucc)
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 := ⋯ }