changeset 644:8e35703ef116

representability theorem done.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 03 Jul 2017 15:35:28 +0900
parents 5eb746702732
children 5f26af3f1c00
files freyd2.agda
diffstat 1 files changed, 1 insertions(+), 58 deletions(-) [+]
line wrap: on
line diff
--- a/freyd2.agda	Mon Jul 03 12:20:26 2017 +0900
+++ b/freyd2.agda	Mon Jul 03 15:35:28 2017 +0900
@@ -246,7 +246,7 @@
 
             
 
--- A is complete and K{*}↓U has preinitial full subcategory then U is representable
+-- A is complete and K{*}↓U has preinitial full subcategory and U preserve limit then U is representable
 
 open SmallFullSubcategory
 open PreInitial
@@ -284,63 +284,6 @@
                   open  import  Relation.Binary.PropositionalEquality
                   open ≡-Reasoning
 
-UpreserveLimit : {c₁ c₂ ℓ : Level} (A : Category c₁ c₂ ℓ) (I : Category c₁ c₂ ℓ) ( comp : Complete A I )
-     (U : Functor A (Sets {c₂}) )
-     (SFS : SmallFullSubcategory (K (Sets {c₂}) A * ↓ U) )  
-     (PI : PreInitial (K (Sets) A * ↓ U)  (SFSF SFS)) 
-        → LimitPreserve A I Sets U 
-UpreserveLimit A I comp U SFS PI  = record {
-       preserve = λ Γ lim → limitInSets Γ lim
-   } where
-       limitInSets : (Γ : Functor I A) (lim : Limit A I Γ) →
-          IsLimit Sets I (U ○ Γ) (FObj U (a0 lim)) (LimitNat A I Sets Γ (a0 lim) (t0 lim) U)
-       limitInSets Γ lim = record {
-                 limit = λ a t → ψ a t
-               ; t0f=t = λ {a t i} → t0f=t0 {a} {t} {i}
-               ; limit-uniqueness = λ {b} {t} {f} t0f=t → limit-uniqueness0 {b} {t} {f} t0f=t 
-         } where
-               lim-t0 : (a : Obj Sets) ( t : NTrans I Sets (K Sets I a) (U ○ Γ) ) (x : a) {y : Obj I} {z : Obj I} {f : Hom I y z} 
-                  → NTrans I A (K A I (a0 lim)) Γ
-               lim-t0 a t x {y} {z} {f} = t0 lim
-               lim-t0-comm : (a : Obj Sets) ( t : NTrans I Sets (K Sets I a) (U ○ Γ) ) (x : a) {y : Obj I} {z : Obj I} {f : Hom I y z} 
-                  → A [ A [ FMap Γ f o TMap (t0 lim) y ] ≈ A [ TMap (t0 lim) z o FMap (K A I (a0 lim)) f ] ]
-               lim-t0-comm a t x {y} {z} {f} = IsNTrans.commute (isNTrans (t0 lim))
-               revU : (a : Obj (K Sets A * ↓ U)) 
-                  → Sets [ Sets [ FMap U ( arrow (SFSFMap← SFS (preinitialArrow PI {FObj (SFSF SFS) a })) ) o hom (preinitialObj PI) ] ≈ hom a ]
-               revU a  =  let open ≈-Reasoning Sets in begin
-                     FMap U ( arrow (SFSFMap← SFS (preinitialArrow PI {FObj (SFSF SFS) a }))) o hom (preinitialObj PI)
-                  ≈⟨ comm (SFSFMap← SFS (preinitialArrow PI {FObj (SFSF SFS) a })) ⟩
-                     hom a
-                  ∎ 
-               tacomm0 : (a : Obj Sets) ( t : NTrans I Sets (K Sets I a) (U ○ Γ) ) (x : a) {y : Obj I} {z : Obj I} {f : Hom I y z} 
-                  → Sets [ Sets [ FMap (U ○ Γ) f o TMap t y ] ≈ Sets [ TMap t z o FMap ( K Sets I a ) f ] ]
-               tacomm0 a t x {y} {z} {f} = IsNTrans.commute ( isNTrans t )  {y} {z} {f}
-               tacomm : (a : Obj Sets) ( t : NTrans I Sets (K Sets I a) (U ○ Γ) ) (x : a) {y : Obj I} {z : Obj I} {f : Hom I y z} 
-                  → A [ A [ FMap Γ f o arrow (SFSFMap← SFS (preinitialArrow PI {FObj (SFSF SFS) (ob A U (FObj Γ y) (TMap t y x))})) ] ≈
-                        A [ arrow (SFSFMap← SFS (preinitialArrow PI {FObj (SFSF SFS) (ob A U (FObj Γ z) (TMap t z x))} ))
-                            o FMap (K A I (obj (preinitialObj PI))) f ] ]
-               tacomm a t x {y} {z} {f} = let open ≈-Reasoning A in begin
-                    FMap Γ f o arrow (SFSFMap← SFS (preinitialArrow PI {FObj (SFSF SFS) (ob A U (FObj Γ y) (TMap t y x))})) 
-                 ≈⟨ {!!} ⟩
-                    arrow (SFSFMap← SFS (preinitialArrow PI {FObj (SFSF SFS) (ob A U (FObj Γ z) (FMap U (FMap Γ f) (TMap t y x)))} ))
-                 ≈⟨ {!!} ⟩
-                    arrow (SFSFMap← SFS (preinitialArrow PI {FObj (SFSF SFS) (ob A U (FObj Γ z) (TMap t z x))} ))
-                 ≈↑⟨ idR ⟩
-                    arrow (SFSFMap← SFS (preinitialArrow PI {FObj (SFSF SFS) (ob A U (FObj Γ z) (TMap t z x))} ))
-                            o FMap (K A I (obj (preinitialObj PI))) f 
-                 ∎
-               ta : (a : Obj Sets) ( t : NTrans I Sets (K Sets I a) (U ○ Γ) ) (x : a) → NTrans I A (K A I (obj (preinitialObj PI))) Γ
-               ta a t x = record {  TMap = λ (a : Obj I ) →
-                   arrow ( SFSFMap← SFS ( preinitialArrow PI {FObj (SFSF SFS) (ob A U (FObj Γ a) (TMap t a x))} ) )
-                ; isNTrans = record { commute = λ {y} {z} {f} → tacomm a t x {y} {z} {f} }} 
-               ψ : (a : Obj Sets) → NTrans I Sets (K Sets I a) (U ○ Γ) → Hom Sets a (FObj U (a0 lim))
-               ψ a t x = FMap U (limit (isLimit lim) (obj (preinitialObj PI)) (ta a t x)) ( hom (preinitialObj PI) OneObj )
-               t0f=t0 : {a : Obj Sets} {t : NTrans I Sets (K Sets I a) (U ○ Γ)} {i : Obj I} →
-                   Sets [ Sets [ TMap (LimitNat A I Sets Γ (a0 lim) (t0 lim) U) i o ψ a t ] ≈ TMap t i ]
-               t0f=t0 {a} {t} = {!!}
-               limit-uniqueness0 : {a : Obj Sets} {t : NTrans I Sets (K Sets I a) (U ○ Γ)} {f : Hom Sets a (FObj U (a0 lim))} →
-                   ({i : Obj I} → Sets [ Sets [ TMap (LimitNat A I Sets Γ (a0 lim) (t0 lim) U) i o f ] ≈ TMap t i ]) → Sets [ ψ a t ≈ f ]
-               limit-uniqueness0 {a} {t} {f} = {!!}
 
 -- if K{*}↓U has initial Obj, U is representable