Summary

This file introduces Uniform-Iteration Algebras

Code

module UniformIterationAlgebra {o  e} (D : ExtensiveDistributiveCategory o  e) where
  open ExtensiveDistributiveCategory D renaming (U to C; id to idC)
  open Cocartesian (Extensive.cocartesian extensive)

Definition 12: Uniform-Iteration Algebras

  record Uniform-Iteration-Algebra-on (A : Obj) : Set (o    e) where
    -- iteration operator
    field
      _# :  {X}  (X  A + X)  (X  A)

    -- _# properties
    field
      #-Fixpoint :  {X} {f : X  A + X }
         f #  [ idC , f # ]  f
      #-Uniformity :  {X Y} {f : X  A + X} {g : Y  A + Y} {h : X  Y} 
         (idC +₁ h)  f  g  h
         f #  g #  h
      #-resp-≈ :  {X} {f g : X  A + X}  f  g  (f #)  (g #)

  record Uniform-Iteration-Algebra : Set (o    e) where
    field
      A : Obj
      algebra : Uniform-Iteration-Algebra-on A
    open Uniform-Iteration-Algebra-on algebra public