changeset 489:75a60ceb55af

on going ..
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 12 Mar 2017 22:10:54 +0900
parents 016087cfa75a
children 1a42f06e7ae1
files freyd1.agda
diffstat 1 files changed, 48 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/freyd1.agda	Sun Mar 12 20:58:06 2017 +0900
+++ b/freyd1.agda	Sun Mar 12 22:10:54 2017 +0900
@@ -57,20 +57,20 @@
     → Limit C I (FICG Γ) 
 LimitC  {I} comp Γ glimit  = plimit glimit (FIA Γ) (climit comp (FIA Γ))
 
-commaLimit :  { I : Category c₁ c₂ ℓ } →  ( Complete A I) →  ( Γ : Functor I CommaCategory )  
-    → ( glimit :  LimitPreserve A I C G )
-    →  Obj CommaCategory
-commaLimit {I} comp Γ glimit = record {
-      obj = limit-c  comp (FIA Γ)
-      ; hom = limitHom
-   } where
-       frev : {i : Obj I } → Hom A (limit-c comp (FIA Γ)) (obj (FObj Γ i))
-       frev {i} = TMap (t0 ( climit comp (FIA Γ)))  i
-       commute : {a b : Obj I} {f : Hom I a b}   →
-              C [ C [ FMap (FICG Γ) f o C [ hom (FObj Γ a) o FMap F frev ] ] 
-            ≈ C [ C [ hom (FObj Γ b) o FMap F frev ] o FMap (K C I (FObj F (limit-c comp (FIA Γ)))) f ] ]
-       commute  {a} {b} {f} =  let  open ≈-Reasoning (C) in begin
-             FMap (FICG Γ) f o ( hom (FObj Γ a) o FMap F frev )
+frev :  { I : Category c₁ c₂ ℓ } →  (comp : Complete A I) →  ( Γ : Functor I CommaCategory ) (i : Obj I ) → Hom A (limit-c comp (FIA Γ)) (obj (FObj Γ i))
+frev comp Γ i = TMap (t0 ( climit comp (FIA Γ)))  i
+
+tu :  { I : Category c₁ c₂ ℓ } →  ( comp : Complete A I) →  ( Γ : Functor I CommaCategory )
+    →   NTrans I C (K C I (FObj F (limit-c comp (FIA Γ)))) (FICG Γ)
+tu {I} comp Γ = record {
+      TMap  = λ i →  C [ hom ( FObj Γ i ) o  FMap F (frev comp Γ i) ]
+    ; isNTrans = record { commute = λ {a} {b} {f} → commute {a} {b} {f} }
+  } where
+        commute : {a b : Obj I} {f : Hom I a b}   →
+              C [ C [ FMap (FICG Γ) f o C [ hom (FObj Γ a) o FMap F (frev comp Γ a) ] ] 
+            ≈ C [ C [ hom (FObj Γ b) o FMap F (frev comp Γ b) ] o FMap (K C I (FObj F (limit-c comp (FIA Γ)))) f ] ]
+        commute  {a} {b} {f} =  let  open ≈-Reasoning (C) in begin
+             FMap (FICG Γ) f o ( hom (FObj Γ a) o FMap F (frev comp Γ a) )
          ≈⟨⟩
              FMap G (arrow (FMap Γ f ) ) o ( hom (FObj Γ a) o FMap F ( TMap (t0 ( climit comp (FIA Γ)))  a ))
          ≈⟨ assoc ⟩
@@ -92,15 +92,19 @@
          ≈⟨ cdr ( cdr ( IsFunctor.identity (isFunctor F) ) ) ⟩
               hom (FObj Γ b) o ( FMap F (TMap (t0 ( climit comp (FIA Γ))) b) o id1 C (FObj F (limit-c comp (FIA Γ))))
          ≈⟨ assoc ⟩
-             ( hom (FObj Γ b) o FMap F frev ) o FMap (K C I (FObj F (limit-c comp (FIA Γ)))) f
+             ( hom (FObj Γ b) o FMap F (frev comp Γ b)) o FMap (K C I (FObj F (limit-c comp (FIA Γ)))) f

-       tu : NTrans I C (K C I (FObj F (limit-c comp (FIA Γ)))) (FICG Γ)
-       tu  = record {
-              TMap  = λ i →  C [ hom ( FObj Γ i ) o  FMap F frev ]
-            ; isNTrans = record { commute = λ {a} {b} {f} → commute {a} {b} {f} }
-          }
-       limitHom : Hom C (FObj F (limit-c comp (FIA Γ ) )) (FObj G (limit-c comp (FIA Γ) ))
-       limitHom = limit (isLimit (LimitC comp Γ glimit  )) (FObj F ( limit-c  comp (FIA Γ))) tu
+limitHom :  { I : Category c₁ c₂ ℓ } →  (comp : Complete A I) →  ( Γ : Functor I CommaCategory )
+    → ( glimit :  LimitPreserve A I C G ) → Hom C (FObj F (limit-c comp (FIA Γ ) )) (FObj G (limit-c comp (FIA Γ) ))
+limitHom comp Γ glimit = limit (isLimit (LimitC comp Γ glimit  )) (FObj F ( limit-c  comp (FIA Γ))) (tu comp Γ )
+
+commaLimit :  { I : Category c₁ c₂ ℓ } →  ( Complete A I) →  ( Γ : Functor I CommaCategory )  
+    → ( glimit :  LimitPreserve A I C G )
+    →  Obj CommaCategory
+commaLimit {I} comp Γ glimit = record {
+      obj = limit-c  comp (FIA Γ)
+      ; hom = limitHom comp Γ glimit
+   } 
 
 
 commaNat : { I : Category c₁ c₂ ℓ } →   ( comp : Complete A I) →  ( Γ : Functor I CommaCategory ) 
@@ -109,17 +113,34 @@
 commaNat {I} comp  Γ glimit = record {
        TMap = λ x → record {
               arrow =  TMap ( limit-u comp (FIA Γ ) ) x 
-            ; comm  =  comm1 x
+            ; comm  = comm1 x
           } 
-       ; isNTrans = record { commute = {!!} }
+       ; isNTrans = record { commute = comm2 }
     } where
        comm1 : (x : Obj I )  →
               C [ C [ FMap G (TMap (limit-u comp (FIA Γ)) x) o hom (FObj (K CommaCategory I (commaLimit comp Γ glimit)) x) ] 
             ≈ C [ hom (FObj Γ x) o FMap F (TMap (limit-u comp (FIA Γ)) x) ] ] 
        comm1 x =  let  open ≈-Reasoning (C) in begin
-             ?
-         ≈⟨ ? ⟩
-             ?
+              FMap G (TMap (limit-u comp (FIA Γ)) x) o hom (FObj (K CommaCategory I (commaLimit comp Γ glimit)) x)
+         ≈⟨⟩
+              FMap G (TMap (limit-u comp (FIA Γ)) x) o hom (commaLimit comp Γ glimit) 
+         ≈⟨⟩
+              FMap G (TMap (limit-u comp (FIA Γ)) x) o limit (isLimit (LimitC comp Γ glimit  )) (FObj F ( limit-c  comp (FIA Γ))) (tu comp Γ )
+         ≈⟨⟩
+              TMap (t0 ( LimitC comp Γ glimit )) x  o limit (isLimit (LimitC comp Γ glimit  )) (FObj F ( limit-c  comp (FIA Γ))) (tu comp Γ )
+         ≈⟨ t0f=t ( isLimit (  LimitC comp Γ glimit ) ) ⟩
+              TMap (tu comp Γ) x 
+         ≈⟨⟩
+              hom (FObj Γ x) o FMap F (TMap (limit-u comp (FIA Γ)) x)
+         ∎
+       comm2 : {a b : Obj I} {f : Hom I a b} →
+          CommaCategory [ CommaCategory [ FMap Γ f o record { arrow = TMap (limit-u comp (FIA Γ)) a ; comm = comm1 a } ]
+          ≈ CommaCategory [ record { arrow = TMap (limit-u comp (FIA Γ)) b ; comm = comm1 b } o FMap (K CommaCategory I (commaLimit comp Γ glimit)) f ] ]
+       comm2 {a} {b} {f} =  let  open ≈-Reasoning (CommaCategory) in begin
+             FMap Γ f o record { arrow = TMap (limit-u comp (FIA Γ)) a ; comm = comm1 a } 
+         ≈⟨ {!!} ⟩
+             record { arrow = TMap (limit-u comp (FIA Γ)) b ; comm = comm1 b } o FMap (K CommaCategory I (commaLimit comp Γ glimit)) f 
+         ∎
 
 
 hasLimit : { I : Category c₁ c₂ ℓ } → ( comp : Complete A I )