changeset 744:c8e9786c273a

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 08 Dec 2017 17:51:33 +0900
parents e33e9ae1514b
children 9dbbbb295a09
files monad→monoidal.agda
diffstat 1 files changed, 26 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/monad→monoidal.agda	Tue Dec 05 17:04:03 2017 +0900
+++ b/monad→monoidal.agda	Fri Dec 08 17:51:33 2017 +0900
@@ -91,21 +91,32 @@
              → φ (a , φ (b , c)) ≡ FMap F (Iso.≅→ (mα-iso isM)) (φ (φ (a , b) , c))
           assocφ = {!!}
           idrφ : {a : Obj Sets } { x : FObj F a } → FMap F (Iso.≅→ (mρ-iso isM)) (φ (x , unit)) ≡ x
-          idrφ {a} {x} = begin
-                  FMap F (Iso.≅→ (mρ-iso isM)) (φ (x , unit))
-             ≡⟨⟩
-                  FMap F proj₁ (μ  (a * One) (FMap F (λ f → FMap F (λ g → f , g) (η  One OneObj)) x))
-             ≡⟨ {!!} ⟩
-                 FMap F proj₁ (μ  (a * One) (FMap F (λ f → η ( a * One ) (f , OneObj ) ) x )  ) 
-             ≡⟨ {!!} ⟩
-                 FMap F proj₁ ( FMap F (λ f → {!!}) ( μ {!!} (η {!!} x ) )  )
-             ≡⟨ {!!} ⟩
-                 id1 Sets {!!} x
-             ≡⟨ {!!} ⟩
-                  x
-             ∎ where
-                  open Relation.Binary.PropositionalEquality
-                  open Relation.Binary.PropositionalEquality.≡-Reasoning
+          idrφ {a} {x} =  monoidal.≡-cong ( λ h → h x ) ( begin
+                  ( λ x → FMap F (Iso.≅→ (mρ-iso isM)) (φ (x , unit)) )
+             ≈⟨⟩
+                  ( λ x → FMap F proj₁ (μ (a * One) (FMap F (λ f → FMap F (λ g → f , g) (η  One OneObj)) x)) )
+             ≈⟨⟩
+                  ( λ x → FMap F proj₁      ((μ (a * One)  o  (FMap F (λ f → FMap F (λ g → f , g) (η  One OneObj)))) x)) 
+             ≈⟨⟩
+                  ( λ x → ( FMap F proj₁ o ( (μ (a * One ) o  λ y → FMap F (λ f →  FMap F ( λ g → ( f , g )) y )  x ) o η One )) OneObj )
+             ≈⟨ {!!} ⟩
+                  ( λ x → ( FMap F proj₁ o (( μ ( a  * One ) o FMap F {!!} ) o  η (FObj F a ))) x )
+             ≈⟨⟩
+                  FMap F proj₁ o (( μ ( a  * One ) o FMap F {!!} ) o  η (FObj F a )) 
+             ≈⟨ cdr ( car (nat ( Monad.μ monad )))   ⟩
+                  FMap F proj₁ o (( FMap F {!!} o μ a ) o  η (FObj F a )) 
+             ≈⟨ cdr assoc ⟩
+                  FMap F proj₁ o ( FMap F {!!} o ( μ a  o  η (FObj F a ))) 
+             ≈⟨ {!!} ⟩
+                  FMap F proj₁ o ( FMap F {!!} o id1 Sets (FObj F a ) ) 
+             ≈⟨ cdr idR ⟩
+                  FMap F proj₁  o FMap F  (λ z → z , {!!} )
+             ≈↑⟨ distr F  ⟩
+                  FMap F (id1 Sets a )
+             ≈⟨ IsFunctor.identity ( Functor.isFunctor F ) ⟩
+                 id1 Sets (FObj F a)
+             ∎ ) where
+                  open ≈-Reasoning Sets hiding ( _o_ )
           idlφ : {a : Obj Sets } { x : FObj F a } → FMap F (Iso.≅→ (mλ-iso isM)) (φ (unit , x)) ≡ x
           idlφ = {!!}