changeset 374:5641b923201e

limit-to: indexFunctor distribution law cannot be proved
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 06 Mar 2016 12:17:14 +0900
parents 4164586ffdb8
children 5a6db4bc4d9b
files limit-to.agda
diffstat 1 files changed, 25 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/limit-to.agda	Sun Mar 06 02:23:36 2016 +0900
+++ b/limit-to.agda	Sun Mar 06 12:17:14 2016 +0900
@@ -37,7 +37,7 @@
     field
          obj→ : Obj A  -> TwoObject 
          hom→ : {a b : Obj A} -> Hom A a b -> TwoObject
-         f-rev : Hom A b a
+         f-rev : Hom A b a   -- existence of this can be shown using completeness
          feq : A [ A [ f-rev o  f ] ≈  id1 A a ]
          geq : A [ A [ f-rev o  g ] ≈  id1 A a ]
     fobj : Obj A -> Obj A
@@ -57,8 +57,8 @@
          FObj = λ a → fobj two a
        ; FMap = λ f → fmap f
        ; isFunctor = record {
-             identity = {!!} 
-             ; distr = {!!}
+             identity = \{x} -> identity {x}
+             ; distr = \ {a} {b} {c} {f} {g}   -> distr {a} {b} {c} {f} {g} 
              ; ≈-cong = {!!}
        }
       } where
@@ -68,6 +68,27 @@
           ... | t1 | t0 = f-rev two
           ... | t1 | t1 = id1 A b
           ... | t0 | t1  = fmap' two (hom→ two f')
+          identity :  {x : Obj A} → A [ fmap (id1 A  x) ≈ id1 A  (fobj two x) ]
+          identity {x} with obj→ two x
+          ... | t0 = let open ≈-Reasoning (A) in refl-hom
+          ... | t1 = let open ≈-Reasoning (A) in refl-hom
+          distr : {a₁ : Obj A} {b₁ : Obj A} {c : Obj A} {f₁ : Hom A a₁ b₁} {g₁ : Hom A b₁ c} → A [ fmap (A [ g₁ o f₁ ]) ≈ A [ fmap g₁ o fmap f₁ ] ]
+          distr {a₁} {b₁} {c} {f₁} {g₁}  with obj→  two  a₁  | obj→  two  b₁  | obj→  two  c
+          ... | t0 | t0 | t0 = let open ≈-Reasoning (A) in
+              begin
+                 id1 A a
+              ≈↑⟨ idL ⟩
+                 id1 A a  o id1 A a
+              ∎
+          ... | t0 | t0 | t1 = {!!}
+          ... | t0 | t1 | t0 = {!!} 
+          ... | t0 | t1 | t1 = {!!} 
+          ... | t1 | t0 | t0 = {!!}
+          ... | t1 | t0 | t1 = {!!}
+          ... | t1 | t1 | t0 = {!!}
+          ... | t1 | t1 | t1 = {!!}
+          ≈-cong :   {a : Obj A} {b : Obj A} {f : Hom A a b} {g : Hom A a b} → A [ f ≈ g ] → A [ fmap f ≈ fmap g ]
+          ≈-cong {a} {b} {f} {g}  f≈g = let open ≈-Reasoning (A) in ?
 
 open Limit
 
@@ -134,7 +155,7 @@
          k : {d : Obj A}  (h : Hom A d a) → A [ A [ f  o  h ] ≈ A [ g  o h ] ] → Hom A d c
          k {d} h fh=gh  = limit (lim A Γ  {c} {nat c e fe=ge }) d (nat d h fh=gh )
          ek=h :  (d : Obj A ) (h : Hom A d a ) ->  ( fh=gh : A [ A [ f  o  h ] ≈ A [ g  o h ] ] )  -> A [ A [ e o k h fh=gh ] ≈ h ]
-         ek=h d h fh=gh = ?
+         ek=h d h fh=gh = {!!}
          uniquness :  (d : Obj A ) (h : Hom A d a ) ->  ( fh=gh : A [ A [ f  o  h ] ≈ A [ g  o h ] ] )  ->
                  ( k' : Hom A d c )
                 -> A [ A [ e o k' ] ≈ h ] → A [ k h fh=gh ≈ k' ]