changeset 436:ef37decef1ca

initialFullSubCategory
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 29 Aug 2016 17:02:03 +0900
parents 9f014f34b988
children 9be298a02c35
files freyd.agda
diffstat 1 files changed, 19 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/freyd.agda	Sun Aug 28 18:59:40 2016 +0900
+++ b/freyd.agda	Mon Aug 29 17:02:03 2016 +0900
@@ -16,9 +16,8 @@
            : Set  (suc ℓ ⊔ (suc c₁ ⊔ suc c₂)) where
    field
       ≈→≡ : {a b : Obj A } →  { x y : Hom A (FObj F a) (FObj F b) } → 
-                (x≈y : A [ FMap F x ≈ FMap F y  ]) → FMap F x ≡ FMap F y   -- co-comain of FMap is local small
+                (x≈y : A [ FMap F x ≈ FMap F y  ]) → FMap F x ≡ FMap F y   -- codomain of FMap is local small
       full→ : { a b : Obj A } { x : Hom A (FObj F a) (FObj F b) } → A [ FMap F ( FMap← x ) ≈ x ]
-      full← : { a b : Obj A } { x : Hom A a b } → A [ FMap← ( FMap F x ) ≈ x ]
 
 -- pre-initial
 
@@ -47,7 +46,8 @@
       (lim : ( Γ : Functor A A ) → { a0 : Obj A } { u : NTrans A A ( K A A a0 ) Γ } → Limit A A Γ a0 u ) -- completeness
       ( equ : {a b c : Obj A} → (f g : Hom A a b)  → {e : Hom A c a }  → Equalizer A e f g )
       (SFS : SmallFullSubcategory A F FMap← ) → 
-      (PI : PreInitial A F ) → { a0 : Obj A } → { u : (a : Obj A) → NTrans A A (K A A a) F }
+      (PI : PreInitial A F ) → { a0 : Obj A } → 
+      { u : (a : Obj A) → NTrans A A (K A A a) F }  -- Does it exist?
           → HasInitialObject A a0
 initialFromPreInitialFullSubcategory A F  FMap← lim equ SFS PI {a0} {u} = record {
       initial = initialArrow ; 
@@ -55,16 +55,12 @@
     } where
       initialArrow :  ∀( a : Obj A )  →  Hom A a0 a
       initialArrow a  = A [ preinitialArrow PI {a}  o limit (lim F {FObj F (preinitialObj PI)} {u (FObj F (preinitialObj PI))} ) a0 (u a0 )  ] 
-      lemma1 : (a : Obj A) (f : Hom A a0 a) → A [ f ≈ initialArrow a ]
-      lemma1 a f = let open ≈-Reasoning (A) in 
-             sym (
-             begin
-                 initialArrow a
-             ≈⟨⟩
-                 preinitialArrow PI {a} o  limit (lim F) a0 (u a0) 
-             ≈⟨ {!!} ⟩
-                 f
-             ∎  )
+      equ-fi : { a c : Obj A} -> { p : Hom A c a0 } -> {f : Hom A a0 a} -> Equalizer A p ( A [ preinitialArrow PI {a} o  limit (lim F) a0 (u a0)  ] ) f
+      equ-fi  {a} {c} {p} {f} = equ ( A [ preinitialArrow PI {a} o  limit (lim F) a0 (u a0) ] ) f
+      open Equalizer
+      kfuc=1 : {k1 c : Obj A} -> A [ A [ equalizer (equ-fi {a0} {k1} {{!!}} {{!!}} )  o  
+                    A [ preinitialArrow PI {k1} o TMap (u a0) (preinitialObj PI) ] ] ≈ id1 A a0 ]
+      kfuc=1 {k1} {c} = {!!}
       -- if equalizer has right inverse, f = g
       lemma2 :  (a b c : Obj A) ( f g : Hom A a b ) (e : Hom A c a ) (e' : Hom A a c ) ( equ : Equalizer A e f g ) (inv-e : A [ A [ e o e' ] ≈ id1 A a ] )
            -> A [ f ≈ g ]
@@ -87,4 +83,14 @@
                ≈⟨ idR ⟩
                 g

+      lemma1 : (a : Obj A) (f : Hom A a0 a) → A [ f ≈ initialArrow a ]
+      lemma1 a f = let open ≈-Reasoning (A) in 
+             sym (
+             begin
+                 initialArrow a
+             ≈⟨⟩
+                 preinitialArrow PI {a} o  limit (lim F) a0 (u a0) 
+             ≈⟨ lemma2 a0 a {!!} (A [ preinitialArrow PI {a} o  limit (lim F) a0 (u a0) ]) f {!!} {!!} {!!} (kfuc=1 {{!!}} {{!!}} ) ⟩
+                 f
+             ∎  )