changeset 656:18431b63893b

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 06 Jul 2017 09:54:56 +0900
parents 26a28b1cee6f
children 0d029674eb59
files freyd2.agda
diffstat 1 files changed, 37 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/freyd2.agda	Wed Jul 05 10:35:17 2017 +0900
+++ b/freyd2.agda	Thu Jul 06 09:54:56 2017 +0900
@@ -457,12 +457,38 @@
         distr1 : {a b c : Obj B} {f : Hom B a b} {g : Hom B b c} →
                 A [ arrow (initial (In a) (ηf a c (B [ g o f ]))) ≈
                 A [ arrow (initial (In b) (ηf b c g)) o arrow (initial (In a) (ηf a b f)) ] ]
-        distr1 = {!!}
+        distr1 {a} {b} {c} {f} {g} = unique  (
+             let open ≈-Reasoning B in begin
+               FMap U (A [ arrow (initial (In b) (ηf b c g)) o arrow (initial (In a) (ηf a b f)) ] ) o tmap-η a 
+             ≈⟨ car (IsFunctor.distr (isFunctor U )) ⟩
+               ( FMap U (arrow (initial (In b) (ηf b c g))) o FMap U (arrow (initial (In a) (ηf a b f))) )
+                  o tmap-η a 
+             ≈↑⟨ assoc ⟩
+               FMap U (arrow (initial (In b) (ηf b c g))) o
+                  (FMap U (arrow (initial (In a) (ηf a b f))) o tmap-η a )
+             ≈⟨ cdr (univ ( tmap-η b o f )) ⟩
+               FMap U (arrow (initial (In b) (ηf b c g))) o ( tmap-η b o f )
+             ≈⟨ assoc ⟩
+               (FMap U (arrow (initial (In b) (ηf b c g))) o  tmap-η b ) o f 
+             ≈⟨ car ( univ (tmap-η c o  g )) ⟩
+               (tmap-η c o  g ) o f 
+             ≈↑⟨ assoc ⟩
+               tmap-η c o ( g o f )
+             ∎  
+            )
         cong1  : {a : Obj B} {b : Obj B} {f g : Hom B a b} →
           B [ f ≈ g ] → A [ arrow (initial (In a) (ηf a b f)) ≈ arrow (initial (In a) (ηf a b g)) ]
-        cong1  = {!!}
+        cong1 {a} {b} {f} {g} f≈g  = unique (
+             let open ≈-Reasoning B in begin
+               FMap U (arrow (initial (In a) (ηf a b g))) o tmap-η a 
+             ≈⟨ univ ( tmap-η b o g ) ⟩
+               tmap-η b o g 
+             ≈↑⟨ cdr f≈g ⟩
+               tmap-η b o f 
+             ∎  
+           )
 
-   nat-ε : NTrans A A (F  ○ U) identityFunctor
+   nat-ε : NTrans A A (F ○ U) identityFunctor
    nat-ε  = record {
          TMap = λ x → arrow ( solution (id1 B (FObj U x)))
          ; isNTrans = record { commute = comm1 } } where
@@ -470,7 +496,14 @@
                 A [ A [ FMap (identityFunctor {_} {_} {_} {A}) f o
                     arrow (initial (In (FObj U a)) (record { obj = a ; hom = id1 B (FObj U a) })) ]
               ≈ A [ arrow (initial (In (FObj U b)) (record { obj = b ; hom = id1 B (FObj U b) })) o FMap (F ○ U) f ] ]
-        comm1 = {!!}
+        comm1 {a} {b} {f} = let open ≈-Reasoning A in begin
+               FMap (identityFunctor {_} {_} {_} {A}) f o
+                    arrow (initial (In (FObj U a)) (record { obj = a ; hom = id1 B (FObj U a) })) 
+             ≈↑⟨ unique {!!} ⟩
+               arrow (initial (In (FObj U a)) (record { obj = b ; hom = B [ FMap U f o id1 B (FObj U a) ] })) 
+             ≈⟨ unique {!!} ⟩
+               arrow (initial (In (FObj U b)) (record { obj = b ; hom = id1 B (FObj U b) })) o FMap (F ○ U) f 
+             ∎  
 
    nat-η : NTrans B B identityFunctor (U ○ F)
    nat-η = record { TMap = λ y →  tmap-η y ; isNTrans = record { commute = comm1 } } where