mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
29 lines
1.1 KiB
Agda
29 lines
1.1 KiB
Agda
|
open import Level
|
|||
|
open import Categories.Category.Core
|
|||
|
open import Categories.Category.Extensive.Bundle
|
|||
|
open import Categories.Category.Extensive
|
|||
|
open import Categories.Category.Cocartesian
|
|||
|
|
|||
|
module UniformIterationAlgebra {o ℓ e} (D : ExtensiveDistributiveCategory o ℓ e) where
|
|||
|
open ExtensiveDistributiveCategory D renaming (U to C; id to idC)
|
|||
|
open Cocartesian (Extensive.cocartesian extensive)
|
|||
|
|
|||
|
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
|