changeset 250:a1e2228c2a6b

equalizer iso done.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 09 Sep 2013 15:56:34 +0900
parents bdeed843f8b1
children 40947f08bab6
files equalizer.agda
diffstat 1 files changed, 37 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/equalizer.agda	Mon Sep 09 14:03:44 2013 +0900
+++ b/equalizer.agda	Mon Sep 09 15:56:34 2013 +0900
@@ -150,7 +150,6 @@
 --     e' = h   o e
 --     e  = h'  o e'
 
-
 c-iso-l : { c c' a b : Obj A } {f g : Hom A a b } →  {e : Hom A c a } { e' : Hom A c' a }
        ( eqa : Equalizer A e f g) → ( eqa' :  Equalizer A e' f g )
       →  ( keqa : Equalizer A (k eqa' e (fe=ge eqa)) (A [ f o e' ])  (A [ g o e' ]) )
@@ -174,7 +173,40 @@
      --                                           h =   j e f   -> j = j'
      --
 
---  e = c-iso-l o e' is assumed by equalizer's degree of freedom
+c-iso→' : { c c' a b : Obj A } {f g : Hom A a b } → {e : Hom A c a } {e' : Hom A c' a} ( eqa : Equalizer A e f g) → ( eqa' :  Equalizer A e' f g )
+      →  ( keqa : Equalizer A (k eqa' e (fe=ge eqa)) (A [ f o e' ])  (A [ g o e' ]) )
+      →  A [ A [ e' o c-iso-l eqa eqa' keqa ]  ≈ e ]
+c-iso→' {c} {c'} {a} {b} {f} {g} {e} {e'} eqa eqa' keqa = let open ≈-Reasoning (A) in begin
+                 e' o c-iso-l eqa eqa' keqa 
+              ≈⟨⟩
+                 e'  o k eqa' e (fe=ge eqa)
+              ≈⟨⟩
+                 equalizer eqa'  o k eqa' e (fe=ge eqa)
+              ≈⟨ ek=h eqa' ⟩
+                 e
+              ∎
+
+c-iso←' : { c c' a b : Obj A } {f g : Hom A a b } → {e : Hom A c a } {e' : Hom A c' a} ( eqa : Equalizer A e f g) → ( eqa' :  Equalizer A e' f g )
+      →  ( keqa : Equalizer A (k eqa' e (fe=ge eqa)) (A [ f o e' ])  (A [ g o e' ]) )
+      →  A [ A [ e o c-iso-r eqa eqa' keqa ]  ≈ e' ]
+c-iso←' {c} {c'} {a} {b} {f} {g} {e} {e'} eqa eqa' keqa = let open ≈-Reasoning (A) in begin
+                 e o c-iso-r eqa eqa' keqa 
+              ≈⟨⟩
+                 e  o  k keqa (id1 A c') ( f1=g1 (fe=ge eqa') (id1 A c') )
+              ≈↑⟨ car  (ek=h eqa' ) ⟩
+                 ( equalizer eqa'  o k eqa' e (fe=ge eqa) ) o  k keqa (id1 A c') ( f1=g1 (fe=ge eqa') (id1 A c') )
+              ≈⟨⟩
+                 ( e'  o k eqa' e (fe=ge eqa) ) o  k keqa (id1 A c') ( f1=g1 (fe=ge eqa') (id1 A c') )
+              ≈↑⟨ assoc ⟩
+                 e'  o (( k eqa' e (fe=ge eqa) ) o  k keqa (id1 A c') ( f1=g1 (fe=ge eqa') (id1 A c') ) )
+              ≈⟨⟩
+                 e'  o (equalizer keqa  o  k keqa (id1 A c') ( f1=g1 (fe=ge eqa') (id1 A c') ) )
+              ≈⟨ cdr ( ek=h keqa )  ⟩
+                 e'  o id1 A c'
+              ≈⟨ idR ⟩
+                 e'
+              ∎
+
 c-iso→ : { c c' a b : Obj A } {f g : Hom A a b } → {e : Hom A c a } {e' : Hom A c' a} ( eqa : Equalizer A e f g) → ( eqa' :  Equalizer A e' f g )
       →  ( keqa : Equalizer A (k eqa' e (fe=ge eqa)) (A [ f o e' ])  (A [ g o e' ]) )
       →  A [ A [ c-iso-l eqa eqa' keqa o c-iso-r eqa eqa' keqa ]  ≈ id1 A c' ]
@@ -189,10 +221,8 @@
 c-iso← : { c c' a b : Obj A } {f g : Hom A a b } → {e : Hom A c a } {e' : Hom A c' a} ( eqa : Equalizer A e f g) → ( eqa' :  Equalizer A e' f g )
       →  ( keqa :  Equalizer A (k eqa' e (fe=ge eqa )) (A [ f o e' ])  (A [ g o e' ]) )
       →  ( keqa' : Equalizer A (k keqa (id1 A c') ( f1=g1 (fe=ge eqa') (id1 A c') )) (A [ f o e ])   (A [ g o e ]) )
-      --  e' = c-iso-r o e is assumed by equalizer's degree of freedom
-      →  { e'->e : A [ e'  ≈  A [ e  o equalizer keqa' ] ] } -- implicit assumption , which should be refl
       →  A [ A [ c-iso-r eqa eqa' keqa o c-iso-l eqa eqa' keqa ]  ≈ id1 A c ]
-c-iso← {c} {c'} {a} {b} {f} {g} {e} {e'} eqa eqa' keqa keqa' {e'->e} = let open ≈-Reasoning (A) in begin
+c-iso← {c} {c'} {a} {b} {f} {g} {e} {e'} eqa eqa' keqa keqa'  = let open ≈-Reasoning (A) in begin
                  c-iso-r eqa eqa' keqa o c-iso-l eqa eqa' keqa
               ≈⟨⟩
                  k keqa (id1 A c') ( f1=g1 (fe=ge eqa') (id1 A c') ) o k eqa' e (fe=ge eqa )
@@ -202,7 +232,7 @@
                      k eqa' e (fe=ge eqa )
                    ≈⟨ uniqueness eqa' ( begin
                        e' o k keqa' (id1 A c) (f1=g1 (fe=ge eqa) (id1 A c))
-                   ≈⟨ car e'->e ⟩
+                   ≈↑⟨ car (c-iso←' eqa eqa' keqa ) ⟩
                         ( e  o equalizer keqa' ) o k keqa' (id1 A c) (f1=g1 (fe=ge eqa) (id1 A c))
                    ≈↑⟨ assoc ⟩
                          e  o ( equalizer keqa'  o k keqa' (id1 A c) (f1=g1 (fe=ge eqa) (id1 A c)))
@@ -213,8 +243,7 @@
                    ∎ )⟩
                      k keqa' (id1 A c) ( f1=g1 (fe=ge eqa) (id1 A c) )
               ∎ )⟩
-                 equalizer keqa'  o k keqa' (id1 A c) ( f1=g1 (fe=ge eqa) (id1 A c) )
-              ≈⟨ ek=h keqa' ⟩
+                 equalizer keqa'  o k keqa' (id1 A c) ( f1=g1 (fe=ge eqa) (id1 A c) ) ≈⟨ ek=h keqa' ⟩
                  id1 A c