diff freyd2.agda @ 615:a45c32ceca97

initial Object's arrow found
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 14 Jun 2017 10:37:41 +0900
parents e6be03d94284
children 7011165c118e
line wrap: on
line diff
--- a/freyd2.agda	Tue Jun 13 22:53:44 2017 +0900
+++ b/freyd2.agda	Wed Jun 14 10:37:41 2017 +0900
@@ -154,7 +154,7 @@
                  ( Sets [ TMap (LimitNat A I Sets Γ (a0 lim) (t0 lim) (HomA A b)) i o ψ a t  ] ) x
              ≈⟨⟩
                 FMap (HomA A b) ( TMap (t0 lim) i) (FMap (HomA A b) (limit (isLimit lim) b (ta a x t )) (id1 A b ))
-             ≈⟨⟩
+             ≈⟨⟩ -- FMap (Hom A b ) f g  = A [ f o g  ]
                 TMap (t0 lim) i o (limit (isLimit lim) b (ta a x t ) o id1 A b )
              ≈⟨  cdr idR ⟩
                 TMap (t0 lim) i o limit (isLimit lim) b (ta a x t ) 
@@ -185,23 +185,6 @@
        preserve = λ Γ lim → UpreserveLimit0 A I b Γ lim
    } 
 
--- K{*}↓U has preinitial full subcategory then U is representable
---    K{*}↓U is complete, so it has initial object
-
-UisRepresentable : {c₁ c₂ ℓ : Level} (A : Category c₁ c₂ ℓ)
-      (comp : Complete A A)
-      (U : Functor A (Sets {c₂}) )
-      (a : Obj Sets )
-      (x : Obj ( K (Sets) A a ↓ U) )
-      ( init : HasInitialObject {c₁} {c₂} {ℓ}  ( K (Sets) A a ↓ U ) x )
-        → Representable A U (obj x)
-UisRepresentable A comp U a x init = record {
-         repr→ = record { TMap = {!!} ; isNTrans = record { commute = {!!} } }
-         ; repr← = record { TMap = {!!} ; isNTrans = record { commute = {!!} } }
-         ; reprId→  = λ {y}  → ?
-         ; reprId←  = λ {y}  → ?
-    }
-
 -- K{*}↓U has preinitial full subcategory if U is representable
 --     if U is representable,  K{*}↓U has initial Object ( so it has preinitial full subcategory )
 
@@ -212,7 +195,42 @@
       (R : Representable A U a ) →
       HasInitialObject {c₁} {c₂} {ℓ}  ( K (Sets) A (FObj U a) ↓ U ) ( record  { obj = a ; hom = id1 Sets (FObj U a) } )
 KUhasInitialObj A comp U a R = record {
-           initial =  λ b → {!!}
+           initial =  λ b → initial0 b
          ; uniqueness =  λ b f → {!!}
-     }
+     } where
+         initial0com :  (b : Obj (K Sets A (FObj U a) ↓ U)) →
+              Sets [ Sets [ FMap U (TMap (repr→ R) (obj b) (hom b (TMap (repr← R) a (id1 A a)))) o id1 Sets (FObj U a) ]
+                 ≈ Sets [ hom b o FMap (K Sets A (FObj U a)) (TMap (repr→ R) (obj b) (hom b (TMap (repr← R) a (id1 A a)))) ] ]
+         initial0com b = let open ≈-Reasoning Sets in begin
+                   FMap U (TMap (repr→ R) (obj b) (hom b (TMap (repr← R) a (id1 A a)))) o id1 Sets (FObj U a)
+             ≈⟨⟩
+                   FMap U (TMap (repr→ R) (obj b) (hom b (TMap (repr← R) a (id1 A a)))) 
+             ≈⟨ {!!} ⟩
+                   hom b o FMap (K Sets A (FObj U a)) (TMap (repr→ R) (obj b) (hom b (TMap (repr← R) a (id1 A a))))
+             ∎ 
 
+         initial0 : (b : Obj (K Sets A (FObj U a) ↓ U)) →
+            Hom ((K Sets A (FObj U a)) ↓ U)
+              (record { obj = a ; hom = id1 Sets (FObj U a) }) b
+         initial0 b = record {
+                arrow =   TMap ( repr→ R ) (obj b) ( hom b (TMap ( repr← R ) a (id1 A a)))
+              ; comm = initial0com b }
+            
+
+-- K{*}↓U has preinitial full subcategory then U is representable
+--    K{*}↓U is complete, so it has initial object
+
+UisRepresentable : {c₁ c₂ ℓ : Level} (A : Category c₁ c₂ ℓ)
+      (comp : Complete A A)
+      (U : Functor A (Sets {c₂}) )
+      (a : Obj Sets )
+      (x : Obj ( K (Sets) A a ↓ U) )
+      ( init : HasInitialObject {c₁} {c₂} {ℓ} ( K (Sets) A a ↓ U ) x )
+        → Representable A U (obj x)
+UisRepresentable A comp U a x init = record {
+         repr→ = record { TMap = {!!} ; isNTrans = record { commute = {!!} } }
+         ; repr← = record { TMap = {!!} ; isNTrans = record { commute = {!!} } }
+         ; reprId→  = λ {y}  → ?
+         ; reprId←  = λ {y}  → ?
+    }
+