changeset 541:505962017fd1

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 31 Mar 2017 10:28:34 +0900
parents 2373c11a93f1
children bc3802c5c8e4
files SetsCompleteness.agda
diffstat 1 files changed, 28 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/SetsCompleteness.agda	Fri Mar 31 08:49:10 2017 +0900
+++ b/SetsCompleteness.agda	Fri Mar 31 10:28:34 2017 +0900
@@ -106,6 +106,9 @@
      (x : sequ a b f g) → (Sets [ f o (λ e → equ e) ]) x ≡ (Sets [ g o (λ e → equ e) ]) x
 fe=ge0 (elem x eq )  =  eq
 
+irr : { c₂ : Level}  {d : Set c₂ }  { x y : d } ( eq eq' :  x  ≡ y ) → eq ≡ eq'
+irr refl refl = refl
+
 open sequ
 
 --           equalizer-c = sequ a b f g
@@ -124,8 +127,6 @@
            k {d} h eq = λ x → elem  (h x) ( ≡cong ( λ y → y x ) eq )
            ek=h : {d : Obj Sets} {h : Hom Sets d a} {eq : Sets [ Sets [ f o h ] ≈ Sets [ g o h ] ]} → Sets [ Sets [ (λ e → equ e )  o k h eq ] ≈ h ]
            ek=h {d} {h} {eq} = refl 
-           irr : {d : Set c₂ }  { x y : d } ( eq eq' :  x  ≡ y ) → eq ≡ eq'
-           irr refl refl = refl
            injection :  { c₂ : Level  } {a b  : Obj (Sets { c₂})} (f  : Hom Sets a b) → Set c₂
            injection f =  ∀ x y  → f x ≡ f y →  x  ≡ y
            elm-cong :   (x y : sequ a b f g) → equ x ≡ equ y →  x  ≡ y
@@ -175,8 +176,31 @@
 
 open snat
 
+≡cong2 : { c : Level } { A B C : Set  c } { a a' : A } { b b' : B } ( f : A → B → C ) 
+    →  a  ≡  a'
+    →  b  ≡  b'
+    →  f a b  ≡  f a' b'
+≡cong2 _ refl refl = refl
+
+snat-cong : { c₂ : Level }  { I OC :  Set  c₂ } { sobj :  OC →  Set  c₂ }
+     { smap : { i j :  OC  }  → (f : I )→  sobj i → sobj j } →
+     ( s t :  snat sobj smap ) →
+     ( snmap s ≡ snmap t )  → s ≡ t
+snat-cong s t smt=sms =   begin
+                record { snmap = snmap s ; sncommute = λ f → sncommute s f }
+             ≡⟨  ≡cong2 ( λ sm sc → record { snmap = sm  ; sncommute = λ f →  ?  }  ) smt=sms  ( irr ? ? ) ⟩
+                record { snmap = snmap t ; sncommute = λ f → sncommute t f }
+             ∎   where
+                  open  import  Relation.Binary.PropositionalEquality
+                  open ≡-Reasoning
+
+snat1 :  { c₂ : Level }  { I OC :  Set  c₂ } { sobj :  OC →  Set  c₂ } 
+     { smap : { i j :  OC  }  → (f : I )→  sobj i → sobj j } ( snmap0 : ( i : OC ) → sobj i )
+       { sncommute0 : { i j : OC } → ( f :  I ) →  smap f ( snmap0 i )  ≡ snmap0 j } 
+     → snat sobj smap
+snat1 snmap0 { sncommute0} = record { snmap = snmap0 ; sncommute = sncommute0 }
+
 open import HomReasoning
-
 open NTrans
 
 Cone : {  c₁ c₂ ℓ : Level} ( C : Category c₁ c₂ ℓ ) ( I :  Set  c₁ ) ( s : Small C I )  ( Γ : Functor C (Sets  {c₁} ) ) 
@@ -201,7 +225,6 @@
                   open ≡-Reasoning
 
 
-
 SetsLimit : {  c₁ c₂ ℓ : Level} ( C : Category c₁ c₂ ℓ ) ( I :  Set  c₁ ) ( small : Small C I ) ( Γ : Functor C (Sets  {c₁} ) ) 
     → Limit Sets C Γ
 SetsLimit { c₂} C I s Γ = record { 
@@ -238,7 +261,7 @@
              ≡⟨⟩
                   record { snmap = λ i →  ( TMap t i ) x ; sncommute = λ f → comm2 t f }
              ≡⟨ {!!} ⟩
-                  record { snmap = λ i →  snmap  (f x ) i  ; sncommute = λ f → ? }
+                  record { snmap = λ i →  snmap  (f x ) i  ; sncommute = sncommute (f x ) }
              ≡⟨⟩
                   f x
              ∎  ) where