changeset 648:10f2057c8bff

use module
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 04 Jul 2017 10:16:07 +0900
parents 4d261d04b176
children 4d742e13fb7c
files freyd2.agda
diffstat 1 files changed, 40 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/freyd2.agda	Tue Jul 04 03:39:29 2017 +0900
+++ b/freyd2.agda	Tue Jul 04 10:16:07 2017 +0900
@@ -372,6 +372,17 @@
 -- Adjoint Functor Theorem
 --
 
+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) ) 
+     (LP :  LimitPreserve A I B U  ) where
+
+   tmap-η' : (y : Obj B)  → Hom B y (FObj U (obj (i y)))
+   tmap-η'  y = hom (i y) 
+
 tmap-η : {c₁ c₂ ℓ : Level} (A B : Category c₁ c₂ ℓ)  
      (U : Functor A B )
      (i : (b : Obj B) → Obj ( K B A b ↓ U) )
@@ -408,6 +419,16 @@
            ; ≈-cong = {!!} -- λ eq → extensionality A ( λ x →  lemma-y-obj3 x eq ) 
         } 
     }  where
+        identity1 : {a : Obj B} → A [ arrow (initial (In a) (objB A B U i a a (Id a))) ≈ Id (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 B U i a c (B [ g o f ]))) ≈
+                A [ arrow (initial (In b) (objB A B U i b c g)) o arrow (initial (In a) (objB A B U i 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 U i a b f)) ≈
+           arrow (initial (In a) (objB A B U i a b g)) ]
+        cong1  = {!!}
 
 nat-ε : {c₁ c₂ ℓ : Level} (A B : Category c₁ c₂ ℓ) (I : Category c₁ c₂ ℓ) ( comp : Complete A I )
      (U : Functor A B )
@@ -418,9 +439,17 @@
      (LP :  LimitPreserve A I B U  )
         → NTrans A A ( (FunctorF A B I comp U SFS PI i In LP)  ○ U ) identityFunctor
 nat-ε  A B I comp U SFS PI i In LP = 
-      record { TMap = λ i → {!!} ; isNTrans = record { commute = {!!} } } where
-       F : Functor B A
-       F = FunctorF A B I comp U SFS PI i In LP
+      record {
+         TMap = λ x → arrow ( initial (In (FObj U x)) (record { obj = x ; hom = id1 B (FObj U x) }))
+         ; isNTrans = record { commute = {!!} } } where
+        F : Functor B A
+        F = FunctorF A B I comp U SFS PI i In LP
+        comm1 : {a b : Obj A} {f : Hom A a b} →
+                A [ A [ FMap identityFunctor 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 (FunctorF A B I comp U SFS PI i In LP ○ U) f ] ]
+        comm1 = {!!}
 
 nat-η : {c₁ c₂ ℓ : Level} (A B : Category c₁ c₂ ℓ) (I : Category c₁ c₂ ℓ) ( comp : Complete A I )
      (U : Functor A B )
@@ -468,3 +497,11 @@
        η = nat-η A B I comp U SFS PI i In LP
        ε : NTrans A A ( F ○ U ) identityFunctor
        ε = nat-ε A B I comp U SFS PI i In LP
+       adjoint1 : {b : Obj A} → B [ B [ FMap U (TMap (nat-ε A B I comp U SFS PI i In LP) b) o
+                TMap (nat-η A B I comp U SFS PI i In LP) (FObj U b) ] ≈ id1 B (FObj U b) ]
+       adjoint1 = {!!}
+       adjoint2 : {a : Obj B} → A [ A [ TMap (nat-ε A B I comp U SFS PI i In LP)
+                (FObj (FunctorF A B I comp U SFS PI i In LP) a)
+                o FMap (FunctorF A B I comp U SFS PI i In LP) (TMap (nat-η A B I comp U SFS PI i In LP) a) ]
+                ≈ id1 A (FObj (FunctorF A B I comp U SFS PI i In LP) a) ]
+       adjoint2 = {!!}