changeset 437:9be298a02c35

add rest of equation
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 29 Aug 2016 19:21:40 +0900
parents ef37decef1ca
children ce9edc8088e8
files freyd.agda
diffstat 1 files changed, 23 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/freyd.agda	Mon Aug 29 17:02:03 2016 +0900
+++ b/freyd.agda	Mon Aug 29 19:21:40 2016 +0900
@@ -53,14 +53,31 @@
       initial = initialArrow ; 
       uniqueness  = λ a f → lemma1 a f
     } where
+      f : {a : Obj A} -> Hom A  a0 (FObj F  (preinitialObj PI {a} ) ) 
+      f {a} = limit (lim F {FObj F (preinitialObj PI {a} )} {u (FObj F (preinitialObj PI))} ) a0 (u a0 )  
       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 )  ] 
-      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
+      initialArrow a  = A [ preinitialArrow PI {a}  o f ]
+      limit-u : Limit A A F a0 (u a0)
+      limit-u = lim F {a0} {u a0}
+      equ-fi : { a c : Obj A} -> { p : Hom A c a0 } -> {f' : Hom A a0 a} -> 
+          Equalizer A p ( A [ preinitialArrow PI {a} o  f ] ) f'
+      equ-fi  {a} {c} {p} {f'} = equ ( A [ preinitialArrow PI {a} o  limit (lim F) a0 (u a0) ] ) f'
+      e=id : (e : Hom A a0 a0) -> ( {c : Obj A} -> A [ A [ TMap (u a0)  c o  e ]  ≈  TMap (u a0) c ] ) -> A [ e  ≈ id1 A a0 ]
+      e=id  e uce=uc =  let open ≈-Reasoning (A) in
+            begin
+              e
+            ≈↑⟨ limit-uniqueness limit-u {a0} {u a0} {e} ( \{i} -> uce=uc ) ⟩
+              limit limit-u a0 (u a0)
+            ≈⟨ limit-uniqueness limit-u {a0} {u a0} {id1 A a0} ( \{i} -> idR ) ⟩
+              id1 A a0
+            ∎
       open Equalizer
-      kfuc=1 : {k1 c : Obj A} -> A [ A [ equalizer (equ-fi {a0} {k1} {{!!}} {{!!}} )  o  
+      kfuc=uc : {c k1 : Obj A} -> A [ A [ TMap (u a0)  c  o  A [ equalizer (equ-fi {a0} {k1} {{!!}} {{!!}} )  o  
+                    A [ preinitialArrow PI {k1} o TMap (u a0) (preinitialObj PI) ] ] ]  ≈ TMap (u a0) c ]
+      kfuc=uc {k1} {c} = {!!}
+      kfuc=1 : {k1 : 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} = {!!}
+      kfuc=1 {k1}  = {!!}
       -- 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 ]
@@ -90,7 +107,7 @@
                  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 {{!!}} {{!!}} ) ⟩
+             ≈⟨ lemma2 a0 a {!!} (A [ preinitialArrow PI {a} o  limit (lim F) a0 (u a0) ]) f {!!} {!!} {!!} (kfuc=1 {{!!}} ) ⟩
                  f
              ∎  )