changeset 590:2c5d8c3c9086

on going ...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 14 May 2017 13:53:26 +0900
parents 6584db867bd0
children 9676a75c3010
files SetsCompleteness.agda
diffstat 1 files changed, 55 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/SetsCompleteness.agda	Sun May 14 09:55:10 2017 +0900
+++ b/SetsCompleteness.agda	Sun May 14 13:53:26 2017 +0900
@@ -161,6 +161,7 @@
      hom→ : {i j : Obj C } →    Hom C i j →  I → I 
      hom← : {i j : Obj C } →  ( f : I → I  ) →  Hom C i j 
      hom-iso : {i j : Obj C } →  { f : Hom C i j } →   hom← ( hom→ f )  ≡ f 
+     iso-hom : {i j : Obj C } →  { f : I → I } →   hom→ ( hom← {i} {j} f )  ≡ f 
      -- ≈-≡ : {a b : Obj C } { x y : Hom C a b } →  (x≈y : C [ x ≈ y ] ) → x ≡ y
 
 open Small 
@@ -183,25 +184,64 @@
        slequ : (i j : OC) (f :  I → I  ) → sequ (sproduct OC sobj) (sobj j) (λ x →  smap f (proj x i) ) (λ x → proj x j )
    slprod :  {i : OC } → sproduct OC  sobj 
    slprod {i} = equ ( slequ i i slid )
+   slmap  :  { i j :  OC  }  → (f : I → I ) → sobj i → sobj j
+   slmap f x = smap f x
 
 open slim
 
 open import HomReasoning
 open NTrans
 
-cone-equ :  {  c₁ c₂ ℓ : Level} ( C : Category c₁ c₂ ℓ ) ( I :  Set  c₁ ) ( s : Small C I )  ( Γ : Functor C (Sets  {c₁} ) )
+llid :  {  c₁ c₂ ℓ : Level} ( C : Category c₁ c₂ ℓ ) ( I :  Set  c₁ ) ( s : Small C I )  ( Γ : Functor C (Sets  {c₁} ) )
     →  (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 (slprod x {a}) a) ) (λ x → proj (slprod x {b}) b )
-cone-equ C I s Γ a b f se = elem se {!!} -- (( fe=ge0 (slequ se  a b f  )) )
+    → ( x : FObj Γ a )
+    → slmap se slid x ≡ x
+llid C I s Γ a b f se x = begin
+        slmap se slid x 
+       ≡⟨  ≡cong ( λ g → slmap se g x )  (sym ( iso-hom s  ) ) ⟩
+        slmap se ((hom→ s (hom← s slid)) ) x 
+       ≡⟨⟩
+         FMap Γ (hom← s (hom→ s (hom← s slid))) x
+       ≡⟨  ≡cong ( λ g → FMap Γ g  x )  (hom-iso s ) ⟩
+         FMap Γ (hom← s slid) x
+       ≡⟨ {!!} ⟩
+         FMap Γ (id1 C a) x
+       ≡⟨ ≡cong ( λ g →  g x ) ( IsFunctor.identity (isFunctor  Γ ) ) ⟩
+         x
+       ∎  where
+                  open  import  Relation.Binary.PropositionalEquality
+                  open ≡-Reasoning
+
 
-cone-equ' :  {  c₁ c₂ ℓ : Level} ( C : Category c₁ c₂ ℓ ) ( I :  Set  c₁ ) ( s : Small C I )  ( Γ : Functor C (Sets  {c₁} ) )
+lldistr :  {  c₁ c₂ ℓ : Level} ( C : Category c₁ c₂ ℓ ) ( I :  Set  c₁ ) ( s : Small C I )  ( Γ : Functor C (Sets  {c₁} ) )
+    →  (a b : Obj C) (f g : I → I ) → (se : slim (ΓObj s Γ) (ΓMap s Γ)  ) 
+    → ( x : FObj Γ a )
+    → slmap se ( λ y → f ( g y )) x ≡ slmap se f ( ( slmap se g ) x )
+lldistr C I s Γ a b f g se x =  {!!}
+
+lla :  {  c₁ c₂ ℓ : Level} ( C : Category c₁ c₂ ℓ ) ( I :  Set  c₁ ) ( s : Small C I )  ( Γ : Functor C (Sets  {c₁} ) )
     →  (a b : Obj C) (f : I → I ) → (se : slim (ΓObj s Γ) (ΓMap s Γ)  ) 
-    →    FMap Γ (hom← s f) (proj (equ (slequ se a b f )) a) ≡  proj (equ (slequ se a b f)) b 
-cone-equ' C I s Γ a b f se  = fe=ge0 (slequ se  a b f ) 
+    → proj ( equ ( slequ se a b f)) a ≡ proj (slprod se {a}) a 
+lla C I s Γ a b f se = begin
+          proj ( equ ( slequ se a b f)) a 
+       ≡⟨ fe=ge0 {!!} ⟩
+          proj ( equ ( slequ se a a slid)) a 
+       ≡⟨⟩
+          proj (slprod se {a}) a
+       ∎  where
+                  open  import  Relation.Binary.PropositionalEquality
+                  open ≡-Reasoning
+
+
+llb :  {  c₁ c₂ ℓ : Level} ( C : Category c₁ c₂ ℓ ) ( I :  Set  c₁ ) ( s : Small C I )  ( Γ : Functor C (Sets  {c₁} ) )
+    →  (a b : Obj C) (f : I → I ) → (se : slim (ΓObj s Γ) (ΓMap s Γ)  ) 
+    → proj ( equ ( slequ se a b f)) b ≡ proj (slprod se {b}) b 
+llb C I s Γ a b f se = {!!}
+
 
 Cone : {  c₁ c₂ ℓ : Level} ( C : Category c₁ c₂ ℓ ) ( I :  Set  c₁ ) ( s : Small C I )  ( Γ : Functor C (Sets  {c₁} ) )   
     → NTrans C Sets (K Sets C ( slim (ΓObj s Γ) (ΓMap s Γ)))  Γ
-Cone C I s  Γ =  record {
+Cone {c₁} C I s  Γ =  record {
                TMap = λ i →  λ se → proj ( equ {_} { sproduct (Obj C) (ΓObj s  Γ)}  {FObj Γ i}
                      {λ x → proj x i} {λ x → proj x i} (elem (slprod se) refl )) i
              ; isNTrans = record { commute = commute1 }
@@ -213,8 +253,12 @@
              ≡⟨⟩
                   FMap Γ f (proj (slprod se) a )
              ≡⟨  ≡cong ( λ g → FMap Γ g (proj (slprod se) a))  (sym ( hom-iso s  ) ) ⟩
-                   FMap Γ  (hom← s ( hom→ s f))  (proj (slprod se {a}) a)
-             ≡⟨  fe=ge0 (cone-equ  C I s Γ a b ( hom→ s f) se ) ⟩
+                  FMap Γ  (hom← s ( hom→ s f))  (proj (slprod se {a}) a)
+             ≡⟨  ≡cong ( λ g →  FMap Γ  (hom← s ( hom→ s f)) g ) (sym (lla C I s Γ a b ( hom→ s f)  se ) ) ⟩
+                  FMap Γ  (hom← s ( hom→ s f))  (proj (equ ( slequ se a b ( hom→ s f))) a)
+             ≡⟨  fe=ge0 (slequ se a b ( hom→ s f) ) ⟩
+                  proj (equ (slequ se a b ( hom→ s f))) b
+             ≡⟨  llb C I s Γ a b ( hom→ s f)  se ⟩
                   proj (slprod se {b}) b 
              ≡⟨⟩
                   (Sets [ (λ se → proj (slprod se {b}) b) o FMap (K Sets C ( slim (ΓObj s Γ) (ΓMap s Γ)  )) f ]) se
@@ -223,6 +267,7 @@
                   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 { 
@@ -237,11 +282,4 @@
           --    ( e : Obj C  → sproduct (Obj C) sobj  )
           --    sequ (Obj C) (ΓObj s Γ j) (λ x₁ → ΓMap s Γ f (proj (e x₁) i)) (λ x₁ → proj (e x₁) j)
           limit1 : (a : Obj Sets) → NTrans C Sets (K Sets C a) Γ → Hom Sets a (slim (ΓObj s Γ) (ΓMap s Γ)) 
-          limit1 a t = λ x →  record { slequ = λ i j f →  k (λ p → 
-                iproduct1 (Obj C) (ΓObj s Γ) (TMap t) x) ( begin
-                         (λ x₁ → ΓMap s Γ f (proj x₁ i)) o (λ p → iproduct1 (Obj C) (ΓObj s Γ) (TMap t) x)
-                      ≈⟨ car  (nat t)  ⟩
-                         (λ x₁ → proj x₁ j) o (λ p → iproduct1 (Obj C) (ΓObj s Γ) (TMap t) x)
-                      ∎ 
-                    ) x }
-                        where open ≈-Reasoning (Sets { c₂})
+          limit1 a t = λ x →  record { slequ = λ i j f →  elem (record { proj = λ i → TMap t i x   }) ( ≡cong ( λ g → g x)  (IsNTrans.commute (isNTrans t )))    }