changeset 141:4a362cf32a74

on going
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 13 Aug 2013 16:16:01 +0900
parents aea890b0f8bc
children 94796ddb9570
files monoid-monad.agda
diffstat 1 files changed, 33 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/monoid-monad.agda	Tue Aug 13 12:55:08 2013 +0900
+++ b/monoid-monad.agda	Tue Aug 13 16:16:01 2013 +0900
@@ -73,3 +73,36 @@
             commute = \{a} {b} {f} → IsEquivalence.refl (IsCategory.isEquivalence  ( Category.isCategory Sets ))
        }
   }
+
+open NTrans
+
+Lemma-MM31 : ( λ x → ((Mono ∙ ε Mono) (proj₁ x) , proj₂ x )) ≡ ( λ x → x )
+Lemma-MM31 = ?
+
+MonoidMonad : Monad (Sets {c ⊔ c₁ ⊔ c₂ ⊔ ℓ }) T η μ 
+MonoidMonad = record {
+       isMonad = record {
+           unity1 =  \{a} -> Lemma-MM3 {a} ;
+           unity2 = Lemma-MM4 ;
+           assoc = Lemma-MM5 
+       }  
+   } where
+       A = Sets {c ⊔ c₁ ⊔ c₂ ⊔ ℓ } 
+       Lemma-MM3 :  {a : Obj A} → A [ A [ TMap μ a o TMap η ( FObj T a ) ] ≈ Id {_} {_} {_} {A} (FObj T a) ]
+       Lemma-MM3 {a} = let open ≈-Reasoning (Sets) renaming ( _o_ to _*_ ) in
+                begin
+                     TMap μ a o TMap η ( FObj T a )
+                ≈⟨⟩
+                    ( λ x → ((Mono ∙ ε Mono) (proj₁ x) , proj₂ x ))
+                ≈⟨ Lemma-MM31 ⟩
+                    ( λ x → x )
+                ≈⟨⟩
+                     Id {_} {_} {_} {A} (FObj T a)
+                ∎
+       Lemma-MM4 : {a : Obj A} → A [ A [ TMap μ a o (FMap T (TMap η a ))] ≈ Id {_} {_} {_} {A} (FObj T a) ]
+       Lemma-MM4 = {!!}
+       Lemma-MM5 : {a : Obj A} → A [ A [ TMap μ a o TMap μ ( FObj T a ) ] ≈  A [  TMap μ a o FMap T (TMap μ a) ] ]
+       Lemma-MM5 = {!!}
+
+
+