Documentation

QuasiBorelSpaces.Functor.Fix

Fixed Points of Functors #

We construct fixed points of continuous (i.e., colimit-preserving) functors and provide a quasi-Borel space instance.

@[simp]
noncomputable def QuasiBorelSpace.Fix.roll {F : Type u_1 → Type u_1} [Functor F] [Cocontinuous F] (x : F (Fix F)) :
Fix F
Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    @[simp]
    theorem QuasiBorelSpace.Fix.unroll_roll {F : Type u_1 → Type u_1} [Functor F] [Cocontinuous F] (x : F (Fix F)) :
    (roll x).unroll = x
    @[simp]
    theorem QuasiBorelSpace.Fix.roll_unroll {F : Type u_1 → Type u_1} [Functor F] [Cocontinuous F] (x : Fix F) :
    noncomputable def QuasiBorelSpace.Fix.fold₀ {F : Type u_1 → Type u_1} {A : Type u_1} [Functor F] [QuasiBorelSpace A] (f : F A → A) (i : ℕ) :
    Equations
    Instances For
      @[simp]
      theorem QuasiBorelSpace.Fix.isHom_fold₀ {A : Type u_1} [QuasiBorelSpace A] {i : ℕ} {F : Type u_1 → Type u_1} [Functor F] {f : F A → A} (hf : IsHom f) :
      @[simp]
      theorem QuasiBorelSpace.Fix.fold₀_eq {A : Type u_1} [QuasiBorelSpace A] {F : Type u_1 → Type u_1} [Functor F] {f : F A → A} (hf : IsHom f) ⦃i j : ℕ⦄ (h : i ≤ j) (x : Sequence.Iterate F i) :
      fold₀ f j (Sequence.map h x) = fold₀ f i x
      noncomputable def QuasiBorelSpace.Fix.fold {F : Type u_1 → Type u_1} {A : Type u_1} [Functor F] [QuasiBorelSpace A] (f : F A → A) (x : Fix F) :
      A
      Equations
      Instances For
        @[simp]
        theorem QuasiBorelSpace.Fix.isHom_fold {F : Type u_1 → Type u_1} {A : Type u_1} [Functor F] [QuasiBorelSpace A] (f : F A → A) :
        @[simp]
        theorem QuasiBorelSpace.Fix.fold_roll {F : Type u_1 → Type u_1} {A : Type u_1} [Functor F] [QuasiBorelSpace A] [Cocontinuous F] (f : F A → A) (hf : IsHom f) (x : F (Fix F)) :
        fold f (roll x) = f (Functor.map (fold f) x)