changeset 650:449025d1327f

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 04 Jul 2017 11:03:37 +0900
parents 4d742e13fb7c
children 1503af5d7440
files freyd2.agda
diffstat 1 files changed, 25 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
--- a/freyd2.agda	Tue Jul 04 10:26:38 2017 +0900
+++ b/freyd2.agda	Tue Jul 04 11:03:37 2017 +0900
@@ -375,50 +375,49 @@
 module Adjoint-Functor {c₁ c₂ ℓ : Level} (A B : Category c₁ c₂ ℓ) (I : Category c₁ c₂ ℓ) ( comp : Complete A I )
      (U : Functor A B )
      (SFS : (b : Obj B) → SmallFullSubcategory ((K B A b) ↓ U) )  
-     (PI : (b : Obj B) → PreInitial (K B A b ↓ U)  (SFSF (SFS b))) 
-     ( i : (b : Obj B) → Obj ( K B A b ↓ U) )
-     (In : (b : Obj B) → HasInitialObject ( K B A b ↓ U) (i b) ) 
+     (PI :  (b : Obj B) → PreInitial (K B A b ↓ U)  (SFSF (SFS b))) 
+     ( i :  (b : Obj B) → Obj ( K B A b ↓ U) )
+     (In :  (b : Obj B) → HasInitialObject ( K B A b ↓ U) (i b) ) 
      (LP :  LimitPreserve A I B U  ) where
 
    tmap-η : (y : Obj B)  → Hom B y (FObj U (obj (i y)))
    tmap-η  y = hom (i y) 
 
-   objB : (a b  : Obj B)  → ( f : Hom B a b ) → Obj ( K B A a ↓ U)
-   objB a b f  = record { obj = obj (i b) ; hom = B [ tmap-η b o f ] }
+   ηf : (a b  : Obj B)  → ( f : Hom B a b ) → Obj ( K B A a ↓ U)
+   ηf a b f  = record { obj = obj (i b) ; hom = B [ tmap-η b o f ] }
 
-   solution : (a b  : Obj B)  → ( f : Hom B a b ) → CommaHom (K B A a) U (i a) (objB a b f )
-   solution a b f =  initial (In a) (objB a b f )
+   solution : (a b  : Obj B)  → ( f : Hom B a b ) → CommaHom (K B A a) U (i a) (ηf a b f )
+   solution a b f =  initial (In a) (ηf a b f )
 
    F : Functor B A
    F = record {
     FObj = λ b →  obj (i b) 
-    ; FMap = λ {x} {y} (f : Hom B x y ) → arrow ( initial (In x) (objB x y f)) 
+    ; FMap = λ {x} {y} (f : Hom B x y ) → arrow (solution x y f)
     ; isFunctor = record {
-             identity =  {!!}
-           ; distr = {!!} -- λ {a} {b} {c} {f} {g} → extensionality A ( λ x → lemma-y-obj2 a b c f g x ) ;
-           ; ≈-cong = {!!} -- λ eq → extensionality A ( λ x →  lemma-y-obj3 x eq ) 
+             identity =  identity1
+           ; distr = distr1 
+           ; ≈-cong = cong1
         } 
       }  where
-        identity1 : {a : Obj B} → A [ arrow (initial (In a) (objB a a (id1 B a))) ≈ id1 A (obj (i a)) ]
+        identity1 : {a : Obj B} → A [ arrow (initial (In a) (ηf a a (id1 B a))) ≈ id1 A (obj (i a)) ]
         identity1 = {!!}
         distr1 : {a b c : Obj B} {f : Hom B a b} {g : Hom B b c} →
-                A [ arrow (initial (In a) (objB a c (B [ g o f ]))) ≈
-                A [ arrow (initial (In b) (objB b c g)) o arrow (initial (In a) (objB a b f)) ] ]
+                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 = {!!}
         cong1  : {a : Obj B} {b : Obj B} {f g : Hom B a b} →
-          B [ f ≈ g ] → A [ arrow (initial (In a) (objB a b f)) ≈
-           arrow (initial (In a) (objB a b g)) ]
+          B [ f ≈ g ] → A [ arrow (initial (In a) (ηf a b f)) ≈ arrow (initial (In a) (ηf a b g)) ]
         cong1  = {!!}
 
-   nat-ε : NTrans A A ( F  ○ U ) identityFunctor
+   nat-ε : NTrans A A (F  ○ U) identityFunctor
    nat-ε  = record {
-         TMap = λ x → arrow ( initial (In (FObj U x)) (record { obj = x ; hom = id1 B (FObj U x) }))
-         ; isNTrans = record { commute = {!!} } } where
+         TMap = λ x → arrow (initial (In (FObj U x)) (record { obj = x ; hom = id1 B (FObj U x) }))
+         --     why we cannot write this using solution? should be *(id B) 
+         ; isNTrans = record { commute = comm1 } } where
         comm1 : {a b : Obj A} {f : Hom A a b} →
                 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 ] ]
+              ≈ A [ arrow (initial (In (FObj U b)) (record { obj = b ; hom = id1 B (FObj U b) })) o FMap (F ○ U) f ] ]
         comm1 = {!!}
 
    nat-η : NTrans B B identityFunctor (U ○ F)
@@ -429,9 +428,9 @@
        comm1 {a} {b} {f} = let open ≈-Reasoning B in begin
                FMap (U ○ F) f o tmap-η a 
              ≈⟨⟩
-               FMap U ( arrow ( initial (In a) (objB a b f ))) o hom ( i a )
-             ≈⟨ comm ( initial (In a) (objB a b f)) ⟩
-               ( tmap-η b o f ) o FMap (K B A a) (arrow (initial (In a) (objB a b f)))    
+               FMap U ( arrow ( initial (In a) (ηf a b f ))) o hom ( i a )
+             ≈⟨ comm ( initial (In a) (ηf a b f)) ⟩
+               ( tmap-η b o f ) o FMap (K B A a) (arrow (initial (In a) (ηf a b f)))    
              ≈⟨ idR ⟩
                hom (i b ) o f 
              ≈⟨⟩
@@ -440,8 +439,8 @@
 
    FisLeftAdjoint  : Adjunction B A U F nat-η nat-ε 
    FisLeftAdjoint  = record { isAdjunction = record {
-         adjoint1 = {!!}
-       ; adjoint2 = {!!}
+         adjoint1 = adjoint1
+       ; adjoint2 = adjoint2
     } } where
        adjoint1 : {b : Obj A} → B [ B [ FMap U (TMap nat-ε b) o TMap nat-η (FObj U b) ] ≈ id1 B (FObj U b) ]
        adjoint1 = {!!}