changeset 172:c7fef385330f

hmm
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 23 Aug 2013 15:38:03 +0900
parents d25b0948e006
children bf7f06580f5e
files universal-mapping.agda
diffstat 1 files changed, 88 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/universal-mapping.agda	Fri Aug 23 10:11:58 2013 +0900
+++ b/universal-mapping.agda	Fri Aug 23 15:38:03 2013 +0900
@@ -29,7 +29,7 @@
          _* = solution  ;
          isUniversalMapping = record {
                     universalMapping  = universalMapping;
-                    uniquness = uniqness
+                    uniquness = uniqueness
               }
       } where
          solution :  { a : Obj A} { b : Obj B} → ( f : Hom A a (FObj U b) ) →  Hom B (FObj F a ) b 
@@ -59,9 +59,9 @@
                 A [ A [ FMap U g o  TMap η a ]  ≈ f ] →
                 B [  (FMap F (A [ FMap U g o TMap η a ] )) ≈ FMap F f ] 
          lemma1 a b f g k = IsFunctor.≈-cong (isFunctor F) k
-         uniqness :   {a' : Obj A} { b' : Obj B } → { f : Hom A a' (FObj U b') } → { g :  Hom B (FObj F a') b'} → 
+         uniqueness :   {a' : Obj A} { b' : Obj B } → { f : Hom A a' (FObj U b') } → { g :  Hom B (FObj F a') b'} → 
                      A [ A [ FMap U g o  TMap η a' ]  ≈ f ] → B [ solution f  ≈ g ]
-         uniqness {a} {b} {f} {g} k = let open ≈-Reasoning (B) in
+         uniqueness {a} {b} {f} {g} k = let open ≈-Reasoning (B) in
               begin 
                   solution f 
               ≈⟨⟩
@@ -389,35 +389,89 @@
 
 open UnityOfOppsite
 
-uo-η  : {c₁ c₂ ℓ c₁' c₂' ℓ' : Level} {A : Category c₁ c₂ ℓ} {B : Category c₁' c₂' ℓ'} 
+--    f   :   a -> U(b)
+--    f*  : F(a)->   b
+
+--   U(f*) :     UF(a) ->   U(b)
+
+--   ∃g          F(g) = right f         <-----       left F(g) = f
+--   ∃g          UF(g) = U(f*)
+
+--   ∃f          U(f) = left g         <-----        right U(f) = g
+
+--   UF(f) :     UF(a) -> UFU(b)
+
+
+
+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)  →  NTrans  A A identityFunctor ( U ○ F )
-uo-η {_} {_} {_} {_} {_} {_} {A} {B} {U} {F} uo = record {
-             TMap = η ; isNTrans = myIsNTrans
-       } where
-            η : (a : Obj A) → Hom A a ( FObj U (FObj F a) )  
-            η a = left uo ( id1 B (FObj F a) ) 
-            commute :  {a b : Obj A} {f : Hom A a b}
-              → A [ A [ (FMap U (FMap F f))  o  ( η a ) ]  ≈ A [ (η b ) o f ] ]
-            commute {a} {b} {f} =   let open ≈-Reasoning (A) in
+                 ( 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-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-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 ))  ->
+        B [ B  [ right uo (id1 A (FObj U b)) o FMap F f ] ≈  right uo f ]
+lemma-u1 = {!!}
+
+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 B (FObj F a ) b )  ->
+        A [ A  [ FMap U f*  o  left uo (id1 B (FObj F a)) ] ≈  left uo f* ]
+lemma-u2 = {!!}
+---   FMap U f*  o id  = FMap U f*
+---       left uo f * = FMap U f*
+---       left uo id1 = FMap U id = id
+--            f = right (FMap U f)
+
+lemma-u3 :  {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 B (FObj F a ) b )  ->
+        B [  right uo ( FMap U f*) ≈  ? ]
+lemma-u3 = ?
+
+
+UO2UM  : {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)  → UniversalMapping A B U (FObj F) ( uo-η-map uo  )
+UO2UM  A B U F uo = record {
+         _* = uo-solution A B U F uo  ;
+         isUniversalMapping = record {
+                    universalMapping  = universalMapping;
+                    uniquness = uniqueness
+              }
+      } where
+         universalMapping :   {a' : Obj A} { b' : Obj B } → { f : Hom A a' (FObj U b') } →
+                     A [ A [ FMap U ( uo-solution A B U F uo f) o ( uo-η-map uo  ) a' ]  ≈ f ]
+         universalMapping {a} {b} {f}  = let open ≈-Reasoning (A) in
                begin
-                    (FMap U (FMap F f))  o  ( η a )
-               ≈⟨⟩
-                    (FMap U (FMap F f))  o left uo ( id1 B (FObj F a) )
+                    FMap U ( uo-solution A B U F uo f) o ( uo-η-map uo  ) a
                ≈⟨ {!!} ⟩
-                    left uo ( id1 B (FObj F b)) o f
-               ≈⟨⟩
-                    (η b ) o f
+                    f

-            myIsNTrans : IsNTrans A A identityFunctor ( U ○  F ) η
-            myIsNTrans = record { commute = commute }
-
-UO2UM  : {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)  → UniversalMapping A B U (FObj F) (TMap (uo-η uo) )
-UO2UM  = {!!}
+         uniqueness :   {a' : Obj A} { b' : Obj B } → { f : Hom A a' (FObj U b') } → { g :  Hom B (FObj F a') b'} →
+                     A [ A [ FMap U g o  ( uo-η-map uo  ) a' ]  ≈ f ] → B [ uo-solution A B U F uo f  ≈ g ]
+         uniqueness {a} {b} {f} {g} eq = let open ≈-Reasoning (B) in
+               begin
+                    uo-solution A B U F uo f
+               ≈⟨ {!!} ⟩
+                    g
+               ∎ 
 
 uo-ε  : {c₁ c₂ ℓ c₁' c₂' ℓ' : Level} {A : Category c₁ c₂ ℓ} {B : Category c₁' c₂' ℓ'}
                  { U : Functor B A }
@@ -425,10 +479,16 @@
                  ( uo : UnityOfOppsite A B U F)  → NTrans B B  ( F ○  U ) identityFunctor  
 uo-ε = {!!}
 
+uo-η  : {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)  → NTrans A A identityFunctor ( U ○  F )
+uo-η = {!!}
+
 UO2Adj : {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)  → Adjunction A B U F (uo-η uo ) (uo-ε uo )
+                 ( uo : UnityOfOppsite A B U F)  → Adjunction A B U F (uo-η uo) (uo-ε uo )
 UO2Adj A B {U} {F} uo = record {
            isAdjunction = record {
                adjoint1 = adjoint1 ;