changeset 584:f0f516817762

cequ introduced
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 11 May 2017 14:49:17 +0900
parents cd65d5c9a54d
children 59c3de1c4043
files SetsCompleteness.agda
diffstat 1 files changed, 17 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/SetsCompleteness.agda	Wed May 03 18:14:49 2017 +0900
+++ b/SetsCompleteness.agda	Thu May 11 14:49:17 2017 +0900
@@ -178,10 +178,9 @@
 
 record slim  { c₂ }  { I OC :  Set  c₂ } 
                 ( sobj :  OC →  Set  c₂ ) ( smap : { i j :  OC  }  → (f : I → I ) → sobj i → sobj j ) 
-                (lim :   Set  c₂ ) ( e : lim → sproduct OC sobj  ) 
       :  Set   c₂  where
    field 
-       slequ :  (i j : OC) (f :  I → I  ) → sequ lim (sobj j) (λ x →  smap f (proj (e x) i) ) (λ x → proj (e x) j )
+       slequ : ( e : OC → sproduct OC sobj  )  (i j : OC) (f :  I → I  ) → sequ OC (sobj j) (λ x →  smap f (proj (e x) i) ) (λ x → proj (e x) j )
 
 open slim
 
@@ -189,26 +188,31 @@
 open NTrans
 
 Cone : {  c₁ c₂ ℓ : Level} ( C : Category c₁ c₂ ℓ ) ( I :  Set  c₁ ) ( s : Small C I )  ( Γ : Functor C (Sets  {c₁} ) )   
-    → ( lim :  Set  c₁ )
-    → ( e : Hom Sets lim (sproduct (Obj C) (ΓObj s  Γ)) )
-    → NTrans C Sets (K Sets C lim) Γ
-Cone C I s  Γ lim e  =  record {
+    → ( prod :  Set  c₁ → sproduct (Obj C) (ΓObj s Γ) )
+    → ( e : Hom Sets ( slim (ΓObj s Γ) (ΓMap s Γ)  ) (sproduct (Obj C) (ΓObj s  Γ)  ) )
+    → NTrans C Sets (K Sets C ( slim (ΓObj s Γ) (ΓMap s Γ)))  Γ
+Cone C I s  Γ prod e  =  record {
                TMap = λ i →  λ se → proj ( equ {_} { sproduct (Obj C) (ΓObj s  Γ)}  {FObj Γ i}
                      {λ x → proj x i} {λ x → proj x i} (elem (e se ) refl )) i
              ; isNTrans = record { commute = commute1 }
       } where
-         cone-equ : (a b : Obj C) (f : Hom C a b) → (se : lim ) → sequ lim (FObj Γ b) (λ x →  FMap Γ f (proj (e x) a) ) (λ x → proj (e x) b )
-         cone-equ a b f se = slequ ? ? ? ?
-         commute1 :  {a b : Obj C} {f : Hom C a b} → Sets [ Sets [ FMap Γ f o (λ se → proj (equ (elem (e se) refl)) a) ]
-              ≈ Sets [ (λ se → proj (equ (elem (e se) refl)) b) o FMap (K Sets C lim) f ] ]
+         cequ :  (se : slim (ΓObj s Γ) (ΓMap s Γ)  ) → (b : Obj C )  → sproduct (Obj C) (ΓObj s  Γ)
+         cequ se b = equ {_} {sproduct (Obj C) (ΓObj s Γ)}  {ΓObj s Γ b} {λ x → proj x b }  {λ x → proj x b} (elem (e se) refl)
+         cone-equ : (a b : Obj C) (f : I → I ) → (se : slim (ΓObj s Γ) (ΓMap s Γ)  ) 
+              → sequ (slim (ΓObj s Γ) (ΓMap s Γ)) (FObj Γ b) (λ x →  FMap Γ (hom← s f) (proj (e x) a) ) (λ x → proj (e x) b )
+         cone-equ a b f se = elem se ( fe=ge0 (slequ se ( λ x → record { proj = λ i → proj ( e se ) i  } )  a b f ) )
+         commute1 :  {a b : Obj C} {f : Hom C a b} → Sets [ Sets [ FMap Γ f o (λ se → proj (cequ se b) a) ]
+              ≈ Sets [ (λ se → proj (cequ se b) b) o FMap (K Sets C ( slim (ΓObj s Γ) (ΓMap s Γ) )) f ] ]
          commute1 {a} {b} {f} =   extensionality Sets  ( λ  se  →  begin  
-                 (Sets [ FMap Γ f o (λ se → proj (equ (elem (e se) refl)) a) ]) se
+                 (Sets [ FMap Γ f o (λ se → proj (cequ se b) a) ]) se
              ≡⟨⟩
                   FMap Γ f (proj (e se) a )
-             ≡⟨  fe=ge0 (cone-equ a b f se ) ⟩
+             ≡⟨  ≡cong ( λ g → FMap Γ g (proj (e se) a))  (sym ( hom-iso s  ) ) ⟩
+                   FMap Γ  (hom← s ( hom→ s f))  (proj (e se) a)
+             ≡⟨  fe=ge0 (cone-equ a b ( hom→ s f) se ) ⟩
                   proj (e se) b 
              ≡⟨⟩
-                  (Sets [ (λ se → proj (equ (elem (e se) refl)) b) o FMap (K Sets C lim) f ]) se
+                  (Sets [ (λ se → proj (cequ se b) b) o FMap (K Sets C ( slim (ΓObj s Γ) (ΓMap s Γ)  )) f ]) se
              ∎  ) where
                   open  import  Relation.Binary.PropositionalEquality
                   open ≡-Reasoning