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 MIK ambient
open MonadK MK
open import Algebra.ElgotAlgebra ambient
open import Algebra.UniformIterationAlgebra ambient
open import Monad.ElgotMonad ambient
open import Monad.Instance.K ambient
open import Monad.Instance.K.Compositionality ambient MK
open import Monad.Instance.K.Commutative ambient MK
open Equiv
open HomReasoning
@ -24,9 +27,14 @@ open M C
# K is a pre-Elgot monad
```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 = record
{ elgotalgebras = λ {X} → elgot X
; assoc = {!!}
; assoc = λ f h → sym (extend-preserve h f)
}
```