Show that K is PreElgot

This commit is contained in:
Leon Vatthauer 2023-11-14 20:23:32 +01:00
parent 5641cb3dd7
commit 13450c1d23
Signed by: leonv
SSH key fingerprint: SHA256:G4+ddwoZmhLPRB1agvXzZMXIzkVJ36dUYZXf5NxT+u8

View file

@ -11,9 +11,12 @@ module Monad.Instance.K.PreElgot {o e} (ambient : Ambient o e) (MK : MIK
open Ambient ambient open Ambient ambient
open MIK ambient open MIK ambient
open MonadK MK open MonadK MK
open import Algebra.ElgotAlgebra ambient
open import Algebra.UniformIterationAlgebra ambient
open import Monad.ElgotMonad ambient open import Monad.ElgotMonad ambient
open import Monad.Instance.K ambient open import Monad.Instance.K ambient
open import Monad.Instance.K.Compositionality ambient MK open import Monad.Instance.K.Compositionality ambient MK
open import Monad.Instance.K.Commutative ambient MK
open Equiv open Equiv
open HomReasoning open HomReasoning
@ -24,9 +27,14 @@ open M C
# K is a pre-Elgot monad # K is a pre-Elgot monad
```agda ```agda
open kleisliK using (extend)
-- TODO fix global declarations on Commutative.lagda.md
-- open Elgot-Algebra-on using (#-Compositionality)
_# = λ {A} {X} f → Uniform-Iteration-Algebra._# (algebras A) {X = X} f
preElgot : IsPreElgot monadK preElgot : IsPreElgot monadK
preElgot = record preElgot = record
{ elgotalgebras = λ {X} → elgot X { elgotalgebras = λ {X} → elgot X
; assoc = {!!} ; assoc = λ f h → sym (extend-preserve h f)
} }
``` ```