changeset 221:ea0407fb8f02

on going ...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 04 Sep 2013 20:35:43 +0900
parents 5d96be63053f
children 0bc85361b7d0
files equalizer.agda
diffstat 1 files changed, 39 insertions(+), 40 deletions(-) [+]
line wrap: on
line diff
--- a/equalizer.agda	Wed Sep 04 18:45:17 2013 +0900
+++ b/equalizer.agda	Wed Sep 04 20:35:43 2013 +0900
@@ -23,7 +23,7 @@
 record Equalizer { c₁ c₂ ℓ : Level} ( A : Category c₁ c₂ ℓ )  {c a b : Obj A} (f g : Hom A a b)  : Set  (ℓ ⊔ (c₁ ⊔ c₂)) where
    field
       e : Hom A c a 
-      ef=eg : A [ A [ f o e ] ≈ A [ g o e ] ]
+      fe=ge : A [ A [ f o e ] ≈ A [ g o e ] ]
       k : {d : Obj A}  (h : Hom A d a) → A [ A [ f  o  h ] ≈ A [ g  o h ] ] → Hom A d c
       ek=h : {d : Obj A}  → ∀ {h : Hom A d a} →  {eq : A [ A [ f  o  h ] ≈ A [ g  o h ] ] } →  A [ A [ e  o k {d} h eq ] ≈ h ]
       uniqueness : {d : Obj A} →  ∀ {h : Hom A d a} →  {eq : A [ A [ f  o  h ] ≈ A [ g  o h ] ] } →  {k' : Hom A d c } → 
@@ -48,30 +48,6 @@
 open Equalizer
 open EqEqualizer
 
--- Equalizer is unique up to iso
-
-equalizer-iso : { c c' a b : Obj A } {f g : Hom A a b } → ( eqa : Equalizer A {c} f g) → ( eqa' :  Equalizer A {c'} f g ) 
-      → Hom A c c'   --- != id1 A c
-equalizer-iso  {c} eqa eqa' = k eqa' (e eqa) (ef=eg eqa)
-
-equalizer-iso-eq : { c c' a b : Obj A } {f g : Hom A a b } → ( eqa : Equalizer A {c} f g) → ( eqa' :  Equalizer A {c'} f g ) → {eff : Equalizer A {c} f f} 
-      → A [ A [ equalizer-iso eqa eqa' o  equalizer-iso eqa' eqa ] ≈  id1 A c' ]
-equalizer-iso-eq {c} {c'} {f} {g} eqa eqa' {eff} =  let open ≈-Reasoning (A) in
-             begin
-                 equalizer-iso eqa eqa' o  equalizer-iso eqa' eqa 
-             ≈⟨⟩
-                 k eqa' (e eqa) (ef=eg eqa)  o k eqa (e eqa') (ef=eg eqa')
-             ≈⟨ car (uniqueness eqa' {!!}) ⟩
-                 {!!} o k eqa (e eqa') (ef=eg eqa')
-             ≈⟨ {!!} ⟩
-                 id1 A c'
-             ∎
-
--- ke = e' k'e' = e  → k k' = 1 , k' k = 1
---     ke  = e'
---     k'ke  = k'e' = e   kk' = 1
-
---     x e = e -> x = id?
 
 f1=g1 : { a b : Obj A } {f g : Hom A a b } → (eq : A [ f ≈ g ] ) → A [ A [ f o id1 A a ] ≈ A [ g o id1 A a ]  ]
 f1=g1 eq = let open ≈-Reasoning (A) in (resp refl-hom eq )
@@ -106,7 +82,7 @@
            → Equalizer A {c} (A [ f o h ])  (A [ g o h ] ) 
 equalizer+h  {a} {b} {c} {d} {f} {g} eqa i h h-1 eq h-1-id =  record {
       e = i  ; -- A [ h-1 o e eqa ]  ;       -- Hom A a d
-      ef=eg = ef=eg1 ;
+      fe=ge = fe=ge1 ;
       k = λ j eq' → k eqa (A [ h o j ]) (fhj=ghj j eq' ) ;
       ek=h = ek=h1 ; 
       uniqueness = uniqueness1
@@ -124,15 +100,15 @@
              ≈↑⟨ assoc ⟩
                   g o ( h  o j )

-      ef=eg1 :  A [ A [ A [ f o h ] o i ] ≈ A [ A [ g o h ] o i ] ]
-      ef=eg1 = let open ≈-Reasoning (A) in 
+      fe=ge1 :  A [ A [ A [ f o h ] o i ] ≈ A [ A [ g o h ] o i ] ]
+      fe=ge1 = let open ≈-Reasoning (A) in 
              begin
                    ( f o h ) o i
              ≈↑⟨ assoc  ⟩
                    f o (h  o i )
              ≈⟨ cdr eq ⟩
                    f o (e eqa)
-             ≈⟨ ef=eg eqa ⟩
+             ≈⟨ fe=ge eqa ⟩
                    g o (e eqa)
              ≈↑⟨ cdr eq ⟩
                    g o (h  o i )
@@ -185,7 +161,7 @@
            → Equalizer A {c} (A [ h o f ])  (A [ h o g ] ) 
 h+equalizer  {a} {b} {c} {d} {f} {g} eqa h h-1 h-1-id =  record {
       e = e eqa  ;   
-      ef=eg = ef=eg1 ; 
+      fe=ge = fe=ge1 ; 
       k = λ j eq' → k eqa j (fj=gj j eq') ;
       ek=h = ek=h1 ; 
       uniqueness = uniqueness1
@@ -213,13 +189,13 @@
              ≈⟨ idL ⟩
                 g o j

-      ef=eg1 :  A [ A [ A [ h o f ] o e eqa ] ≈ A [ A [ h o g ] o e eqa ] ]
-      ef=eg1 =  let open ≈-Reasoning (A) in
+      fe=ge1 :  A [ A [ A [ h o f ] o e eqa ] ≈ A [ A [ h o g ] o e eqa ] ]
+      fe=ge1 =  let open ≈-Reasoning (A) in
              begin
                 ( h o f ) o e eqa
              ≈↑⟨ assoc  ⟩
                 h o (f  o e eqa )
-             ≈⟨ cdr (ef=eg eqa)  ⟩
+             ≈⟨ cdr (fe=ge eqa)  ⟩
                 h o (g  o e eqa )
              ≈⟨ assoc ⟩
                 ( h o g ) o e eqa 
@@ -235,7 +211,7 @@
            → Equalizer A {c} (A [ f o e eqa ])  (A [ g o e eqa ] ) 
 eefeg {a} {b} {c} {d} {f} {g} eqa =  record {
       e = id1 A c ; -- i  ; -- A [ h-1 o e eqa ]  ;       -- Hom A a d
-      ef=eg = ef=eg1 ;
+      fe=ge = fe=ge1 ;
       k = λ j eq' → k eqa (A [ h o j ]) (fhj=ghj j eq' ) ;
       ek=h = ek=h1 ; 
       uniqueness = uniqueness1
@@ -255,11 +231,11 @@
              ≈↑⟨ assoc ⟩
                   g o ( h  o j )

-      ef=eg1 :  A [ A [ A [ f o h ] o i ] ≈ A [ A [ g o h ] o i ] ]
-      ef=eg1 = let open ≈-Reasoning (A) in 
+      fe=ge1 :  A [ A [ A [ f o h ] o i ] ≈ A [ A [ g o h ] o i ] ]
+      fe=ge1 = let open ≈-Reasoning (A) in 
              begin
                    ( f o h ) o i
-             ≈⟨ car ( ef=eg eqa ) ⟩
+             ≈⟨ car ( fe=ge eqa ) ⟩
                    ( g o h ) o i

       ek=h1 :  {d' : Obj A} {k' : Hom A d' c} {eq' : A [ A [ A [ f o h ] o k' ] ≈ A [ A [ g o h ] o k' ] ]} →
@@ -287,8 +263,31 @@
                    k'

 
-      
+-- Equalizer is unique up to iso
+
+equalizer-iso : { c c' a b : Obj A } {f g : Hom A a b } → ( eqa : Equalizer A {c} f g) → ( eqa' :  Equalizer A {c'} f g ) 
+      → Hom A c c'   --- != id1 A c
+equalizer-iso  {c} eqa eqa' = k eqa' (e eqa) (fe=ge eqa)
 
+--
+--        
+--           e eqa f g        f
+--         c ----------> a ------->b
+--
+equalizer-iso-eq : { c c' a b : Obj A } {f g : Hom A a b } → ( eqa : Equalizer A {c} f g) → ( eqa' :  Equalizer A {c'} f g ) 
+      → A [ A [ equalizer-iso eqa eqa' o   equalizer-iso eqa' eqa ] ≈  id1 A c' ]
+equalizer-iso-eq {c} {c'} {f} {g} eqa eqa' =  let open ≈-Reasoning (A) in
+             begin
+                  k eqa' (e eqa) (fe=ge eqa)  o  k eqa (e eqa' ) (fe=ge eqa' )
+             ≈⟨ {!!} ⟩
+                 id1 A c'
+             ∎
+
+-- ke = e' k'e' = e  → k k' = 1 , k' k = 1
+--     ke  = e'
+--     k'ke  = k'e' = e   kk' = 1
+
+--     x e = e -> x = id?
 
 lemma-equ1 :  { c₁ c₂ ℓ : Level} ( A : Category c₁ c₂ ℓ ) → {a b c : Obj A} (f g : Hom A a b)  → 
          ( {a b c : Obj A} → (f g : Hom A a b)  → Equalizer A {c} f g ) → EqEqualizer A {c} f g
@@ -296,7 +295,7 @@
       α = λ f g →  e (eqa f g ) ; -- Hom A c a
       γ = λ {a} {b} {c} {d} f g h → k (eqa f g ) {d} ( A [ h  o (e ( eqa (A [ f  o  h ] ) (A [ g o h ] ))) ] ) (lemma-equ4 {a} {b} {c} {d} f g h ) ;  -- Hom A c d
       δ =  λ {a} f → k (eqa f f) (id1 A a)  (lemma-equ2 f); -- Hom A a c
-      b1 = ef=eg (eqa f g) ;
+      b1 = fe=ge (eqa f g) ;
       b2 = lemma-equ5 ;
       b3 = lemma-equ3 ;
       b4 = lemma-equ6 
@@ -329,7 +328,7 @@
                    f o ( h o e (eqa (f o h) ( g o h )))
              ≈⟨ assoc ⟩
                    (f o h) o e (eqa (f o h) ( g o h ))
-             ≈⟨ ef=eg (eqa (A [ f o h ]) (A [ g o h ])) ⟩
+             ≈⟨ fe=ge (eqa (A [ f o h ]) (A [ g o h ])) ⟩
                    (g o h) o e (eqa (f o h) ( g o h ))
              ≈↑⟨ assoc ⟩
                    g o ( h o e (eqa (f o h) ( g o h )))