changeset 93:44b61ce90dd9

distr continue..
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 28 Jul 2013 21:24:17 +0900
parents ef8f14b862b5
children 4fa718e4fd77
files nat.agda
diffstat 1 files changed, 32 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/nat.agda	Sun Jul 28 20:18:32 2013 +0900
+++ b/nat.agda	Sun Jul 28 21:24:17 2013 +0900
@@ -580,6 +580,16 @@
         RKMap : {a b : Obj A} -> (f : RHom a b) -> Hom A a (FObj T b) 
         RKMap {_} {b} f = KtoT f (( ≃-sym (T=UF RK)) (id1 A b))
 
+        RMap-cong : {a b : Obj A} {f g : KHom a b} -> A [ KMap f ≈ KMap g ] -> A [ RMap f ≈ RMap g ]
+        RMap-cong {a} {b} {f} {g} eq = helper a b f g eq (( ≃-sym (UF=T RK))( id1 A b  )) 
+          where 
+                open ≈-Reasoning (A)
+                helper : (a b : Obj A) (f g : KHom a b) -> A [ KMap f ≈ KMap g ] ->
+                         {conv : Hom A  (FObj T b) (FObj ( U_K ○ F_K ) b) } -> ([ A ] conv ~ conv) -> A [ RMap f ≈ RMap g ]
+                helper a b f g eq (Category.Cat.refl {conv} eq2) = 
+                    (Category.IsCategory.o-resp-≈ (Category.isCategory A)) eq 
+                        (refl-hom {FObj T b} {FObj ( U_K ○ F_K ) b} {conv} )
+
         kfmap : {a b : Obj A} (f : KHom a b) -> Hom B (FObj F_K a) (FObj F_K b)
         kfmap {_} {b} f = B [ TMap ε_K (FObj F_K b) o FMap F_K (RMap f) ]
 
@@ -591,7 +601,7 @@
                 ; isFunctor = record
                 {      ≈-cong   = ≈-cong
                      ; identity = identity
-                     ; distr    = {!!} -- distr1
+                     ; distr    = distr1
                 }
              } where
                  identity : {a : Obj A} →  B [ kfmap (K-id {a}) ≈ id1 B (FObj F_K a) ]
@@ -606,17 +616,25 @@
                       id1 B (FObj F_K a)

                  ≈-cong : {a b : Obj A} -> {f g : KHom a b} → A [ KMap f ≈ KMap g ] → B [ kfmap f ≈ kfmap g ]
-                 ≈-cong {a} {b} {f} {g} f≈g = ? -- let open ≈-Reasoning (B) in
---                   begin
---                      ?
---                   ≈⟨ ?  ⟩
---                      ?
---                   ∎
---                 distr1 :  {a b c : Obj A} {f : KHom a b} {g : KHom b c} → B [ kfmap (g * f) ≈ (B [ kfmap g o kfmap f ] )]
---                 distr1 {a} {b} {c} {f} {g} = let open ≈-Reasoning (B) in
---                   begin
---                      ?
---                   ≈⟨ ?  ⟩
---                      ?
---                   ∎
+                 ≈-cong {a} {b} {f} {g} f≈g = let open ≈-Reasoning (B) in
+                   begin
+                       kfmap f
+                   ≈⟨⟩
+                       TMap ε_K (FObj F_K b) o FMap F_K (RMap f)
+                   ≈⟨ cdr ( fcong F_K (RMap-cong f≈g))  ⟩
+                       TMap ε_K (FObj F_K b) o FMap F_K (RMap g)
+                   ≈⟨⟩
+                       kfmap g
+                   ∎
+                 distr1 :  {a b c : Obj A} {f : KHom a b} {g : KHom b c} → B [ kfmap (g * f) ≈ (B [ kfmap g o kfmap f ] )]
+                 distr1 {a} {b} {c} {f} {g} = let open ≈-Reasoning (B) in
+                   begin
+                      kfmap (g * f)
+                   ≈⟨⟩
+                      TMap ε_K (FObj F_K c) o FMap F_K (RMap (g * f))
+                   ≈⟨⟩
+                      TMap ε_K (FObj F_K c) o FMap F_K (RMap (A [ (TMap μ c) o A [ (FMap ( U_K ○ F_K ) (RMap g)) o (RMap f) ] ] ))
+                   ≈⟨ {!!}  ⟩
+                      kfmap g o kfmap f
+                   ∎