changeset 174:1c4788483d46

add more axiom on unity of oppsite
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 24 Aug 2013 17:16:07 +0900
parents bf7f06580f5e
children 795be747d7a9
files cat-utility.agda category.pdf universal-mapping.agda
diffstat 3 files changed, 59 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/cat-utility.agda	Fri Aug 23 17:30:04 2013 +0900
+++ b/cat-utility.agda	Sat Aug 24 17:16:07 2013 +0900
@@ -34,6 +34,16 @@
                _* :  { a : Obj A}{ b : Obj B} → ( Hom A a (FObj U b) ) →  Hom B (F a ) b 
                isUniversalMapping : IsUniversalMapping A B U F η _*
 
+--     naturality of left
+--     f' = k* f   k*: Hom A F(a) k,                                                                                                                        
+--                        left                                               left                                                                           
+--    f : Hom A F(a)   b --------> f* : Hom B a U(b)      f : Hom A F(a')b --------> f* : Hom B a' U(b)                                                     
+--       |                               |                     |                               |                                                            
+--       |k*                             |U(k*)                |F(h*)                          |h*                                                          
+--       v                               v                     v                               v                                                            
+--    f': Hom A F(a)   b'--------> f* : Hom B a U(b')     f': Hom A F(a)  b --------> f* : Hom B a U(b)                                                     
+--                        left                                                                                                                              
+
         record UnityOfOppsite  {c₁ c₂ ℓ c₁' c₂' ℓ' : Level} (A : Category c₁ c₂ ℓ) (B : Category c₁' c₂' ℓ') 
                          ( U : Functor B A )
                          ( F : Functor A B )
@@ -43,6 +53,40 @@
                left   : {a : Obj A} { b : Obj B } → Hom B (FObj F a) b   → Hom A a ( FObj U b ) 
                right-injective : {a : Obj A} { b : Obj B } → {f : Hom A a (FObj U b) }  → A [ left ( right f ) ≈ f ]
                left-injective  : {a : Obj A} { b : Obj B } → {f : Hom B (FObj F a) b }  → B [ right ( left f ) ≈ f ]
+               left-commute1 : {a : Obj A} {b b' : Obj B } ->
+                       ( f : Hom B (FObj F a) b )  -> ( k : Hom B b b' ) ->
+                        A [  left ( B [ k o  f ] )  ≈ A [ FMap U k o left f  ] ]
+               left-commute2 : {a a' : Obj A} {b : Obj B } ->
+                       ( f : Hom B (FObj F a) b )  -> ( h : Hom A a' a ) ->
+                        A [ left ( B [ f  o  FMap F h ] )  ≈  A [ left f o h ] ]
+               r-cong : {a : Obj A} { b : Obj B } → { f g : Hom A a ( FObj U b ) } →  A [ f  ≈ g ] → B [ right f ≈ right g ]
+               l-cong : {a : Obj A} { b : Obj B } → { f g : Hom B (FObj F a) b }   →  B [ f  ≈ g ] → A [ left f ≈ left g   ]
+           right-commute1 : {a : Obj A} {b b' : Obj B } ->
+                       ( g : Hom A a (FObj U b))  -> ( k : Hom B b b' ) ->
+                        B [ B [ k o  right g ]   ≈ right ( A [ FMap U k o g  ] ) ]
+           right-commute1 g k =  let open ≈-Reasoning (B) in
+                     begin
+                          k o  right g
+                     ≈⟨ sym left-injective ⟩
+                          right ( left ( k o  right g ) )
+                     ≈⟨ r-cong ( left-commute1 (right g) k ) ⟩
+                          right ( A [ FMap U k o left ( right g ) ] )
+                     ≈⟨ r-cong (lemma-1 g k) ⟩
+                         right ( A [ FMap U k o g  ] ) 
+                     ∎ where
+                             lemma-1 : {a : Obj A} {b b' : Obj B } ->
+                               ( g : Hom A a (FObj U b))  -> ( k : Hom B b b' ) ->
+                                A [ A [ FMap U k o left ( right g ) ]   ≈  A [ FMap U k o g  ] ]
+                             lemma-1 = let open ≈-Reasoning (A) in
+                                   begin
+                                        FMap U k o left ( right g ) 
+                                   ≈⟨ cdr ( right-injective) ⟩
+                                        FMap U k o g  
+                                   ∎ 
+           right-commute2 : {a a' : Obj A} {b : Obj B } ->
+                       ( g : Hom A a (FObj U b) )  -> ( h : Hom A a' a ) ->
+                        B [ B [ right g  o  FMap F h ]   ≈  right ( A [ g o h ] ) ]
+           right-commute2 = {!!}
 
         open NTrans
         open import Category.Cat
Binary file category.pdf has changed
--- a/universal-mapping.agda	Fri Aug 23 17:30:04 2013 +0900
+++ b/universal-mapping.agda	Sat Aug 24 17:16:07 2013 +0900
@@ -390,44 +390,30 @@
 open UnityOfOppsite
 
 --   f                            : a -----------> U(b)
---   FMap U ( right uo f )        :      UF(a) --> U(b)
---   FMap U ( right uo f ) o η    : a -> UF(a) --> U(b)
---   right (FMap U ( right uo f )  o η)
-
---   right f                      : F(a) --------> b
---   ε  o (FMap F f)              : F(a)--FU(b)--> b
---   left (ε  o (FMap F f))       : a -----------> U(b) 
+--   1_F(a)                       :F(a) ---------> F(a)
+--   ε(b) = right uo (1_F(a))     :UF(b)---------> a
+--   η(a) = left  uo (1_U(a))     : a -----------> FU(a)  
 
 
 uo-η-map  : {c₁ c₂ ℓ c₁' c₂' ℓ' : Level} {A : Category c₁ c₂ ℓ} {B : Category c₁' c₂' ℓ'} 
                  { U : Functor B A }
                  { F : Functor A B } → 
-                 ( uo : UnityOfOppsite A B U F)  →  (a : Obj A )  → Hom A a (FObj U ( FObj F ( a ) ))
-uo-η-map {_} {_} {_} {_} {_} {_} {A} {B} {U} {F} uo a =  {!!} -- ? left uo ( id1 B (FObj F a) )
+                 ( uo : UnityOfOppsite A B U F)  →  (a : Obj A )  → Hom A a (FObj U ( FObj F a ))
+uo-η-map {_} {_} {_} {_} {_} {_} {A} {B} {U} {F} uo a =  left uo ( id1 B (FObj F a) )
+
+uo-ε-map  : {c₁ c₂ ℓ c₁' c₂' ℓ' : Level} {A : Category c₁ c₂ ℓ} {B : Category c₁' c₂' ℓ'} 
+                 { U : Functor B A }
+                 { F : Functor A B } → 
+                 ( uo : UnityOfOppsite A B U F)  →  (b : Obj B )  → Hom B (FObj F ( FObj U ( b ) )) b
+uo-ε-map {_} {_} {_} {_} {_} {_} {A} {B} {U} {F} uo b =  right uo ( id1 A (FObj U b) )
 
 uo-solution  : {c₁ c₂ ℓ c₁' c₂' ℓ' : Level} (A : Category c₁ c₂ ℓ) (B : Category c₁' c₂' ℓ')
                  ( U : Functor B A )
                  ( F : Functor A B ) → 
                  ( uo : UnityOfOppsite A B U F)  →  {a : Obj A} {b : Obj B } -> 
                        ( f : Hom A a (FObj U b )) -> Hom B (FObj F a) b
-uo-solution A B U F uo {a} {b} f =  {!!} -- B  [ right uo (id1 A (FObj U b)) o FMap F f ] 
-                                    -- right uo f
-
-lemma-u2 :  {c₁ c₂ ℓ c₁' c₂' ℓ' : Level} {A : Category c₁ c₂ ℓ} {B : Category c₁' c₂' ℓ'}
-                 { U : Functor B A }
-                 { F : Functor A B } →  
-                 ( uo : UnityOfOppsite A B U F)  →
-                {a : Obj A} {b : Obj B } -> ( f : Hom A a (FObj U b ))  ->
-        B [ B  [ right uo (id1 A (FObj U b)) o FMap F f ] ≈  right uo f ]
-lemma-u2 = {!!}
-
-lemma-u1 :  {c₁ c₂ ℓ c₁' c₂' ℓ' : Level} {A : Category c₁ c₂ ℓ} {B : Category c₁' c₂' ℓ'}
-                 { U : Functor B A }
-                 { F : Functor A B } →  
-                 ( uo : UnityOfOppsite A B U F)  →
-                {a : Obj A} {b : Obj B } -> ( f : Hom A a (FObj U b ) )  ->
-        A [ A  [ FMap U (right uo f)  o  left uo (id1 B (FObj F a)) ] ≈  f ]
-lemma-u1 = {!!}
+uo-solution A B U F uo {a} {b} f =  --  B  [ right uo (id1 A (FObj U b)) o FMap F f ] 
+                                     right uo f
 
 --     F(ε(b)) o η(F(b))
 --     F( right uo (id1 A (FObj U b))  ) o  left uo (id1 B (FObj F a)) ] == 1
@@ -448,6 +434,8 @@
          universalMapping {a} {b} {f}  = let open ≈-Reasoning (A) in
                begin
                     FMap U ( uo-solution A B U F uo f) o ( uo-η-map uo  ) a
+               ≈⟨⟩
+                    FMap U ( right uo  f) o left uo ( id1 B (FObj F a)  )
                ≈⟨ {!!} ⟩
                     f