changeset 683:88e8a1290dc4

clean up
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 08 Nov 2017 00:05:50 +0900
parents 50a01df1169a
children 5d9d7c2f2718
files pullback.agda
diffstat 1 files changed, 23 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/pullback.agda	Tue Nov 07 23:48:46 2017 +0900
+++ b/pullback.agda	Wed Nov 08 00:05:50 2017 +0900
@@ -30,9 +30,6 @@
 open IsEqualizer
 open IsProduct
 
---          ( A [  π1 o equalizer1 ( eqa ( A [ f  o π1 ] ) ( A [ g  o π2 ] ) )  ] )
---          ( A [  π2 o equalizer1 ( eqa ( A [ f  o π1 ] ) ( A [ g  o π2 ] ) )  ] )
-
 pullback-from :  {a b c : Obj A}
       ( f : Hom A a c )    ( g : Hom A b c )
       ( eqa : {a b : Obj A} → (f g : Hom A a b)  → Equalizer A f g )
@@ -381,9 +378,11 @@
          e : Hom A d p0
          e = equalizer equ-ε 
          equ = isEqualizer  equ-ε 
+         -- projection of the product of Obj I
          proj : (i : Obj I) → Hom A p0 (FObj Γ i)
          proj = pi ( prod  (FObj Γ) )
          prodΓ = isIProduct ( prod (FObj Γ) ) 
+         -- projection of the product of Hom I
          mu : {j k : Obj I} → (u : Hom I j k ) → Hom A (iprod (prod Fcod)) (Fcod (Homprod u))
          mu u = pi (prod Fcod ) (Homprod u) 
          limit-ε :  NTrans I A (K A I (equalizer-c equ-ε ) ) Γ
@@ -418,20 +417,23 @@
                  ≈⟨⟩
                       tmap k o FMap (K A I d) u

+         --  an arrow to our product of Obj I ( is an equalizer because of commutativity of t )
+         h : {a : Obj A} → (t : NTrans I A (K A I a) Γ ) → Hom A a p0
+         h t = iproduct prodΓ (TMap t) 
          fh=gh : (a : Obj A) → (t : NTrans I A (K A I a) Γ ) →
-            A [ A [ g o iproduct prodΓ (TMap t) ] ≈ A [ f o iproduct prodΓ (TMap t) ] ]
+            A [ A [ g o h t ] ≈ A [ f o h t ] ]
          fh=gh a t = let  open ≈-Reasoning (A) in begin
-                  g o iproduct prodΓ (TMap t) 
+                  g o h t
                 ≈↑⟨ ip-uniqueness (isIProduct (prod Fcod)) ⟩
-                  iproduct (isIProduct (prod Fcod)) (λ u →  pi (prod Fcod) u o ( g o iproduct prodΓ (TMap t) ))
+                  iproduct (isIProduct (prod Fcod)) (λ u →  pi (prod Fcod) u o ( g o h t ))
                 ≈⟨ ip-cong  (isIProduct (prod Fcod)) ( λ u →  begin
-                            pi (prod Fcod) u o ( g o iproduct prodΓ (TMap t)  )
+                            pi (prod Fcod) u o ( g o h t )
                         ≈⟨ assoc ⟩
-                            ( pi (prod Fcod) u o  g ) o iproduct prodΓ (TMap t)  
+                            ( pi (prod Fcod) u o  g ) o h t
                         ≈⟨ car (pif=q  (isIProduct (prod Fcod ))) ⟩
-                            (FMap Γ (hom u) o  pi (prod (FObj Γ)) (hom-j u) )  o iproduct prodΓ (TMap t)
+                            (FMap Γ (hom u) o  pi (prod (FObj Γ)) (hom-j u) )  o h t
                         ≈↑⟨ assoc ⟩
-                            FMap Γ (hom u) o (pi (prod (FObj Γ)) (hom-j u)   o iproduct prodΓ (TMap t) )
+                            FMap Γ (hom u) o (pi (prod (FObj Γ)) (hom-j u)   o h t )
                         ≈⟨ cdr ( pif=q prodΓ ) ⟩
                             FMap Γ (hom u) o TMap t (hom-j u)
                         ≈⟨ IsNTrans.commute (isNTrans t) ⟩
@@ -439,29 +441,29 @@
                         ≈⟨ idR ⟩
                             TMap t (hom-k u) 
                         ≈↑⟨  pif=q prodΓ  ⟩
-                           pi (prod (FObj Γ)) (hom-k u) o iproduct prodΓ (TMap t)
+                           pi (prod (FObj Γ)) (hom-k u) o h t
                         ≈↑⟨ car (pif=q  (isIProduct (prod Fcod ))) ⟩
-                            (pi (prod Fcod) u o  f ) o iproduct prodΓ (TMap t)  
+                            (pi (prod Fcod) u o  f ) o h t
                         ≈↑⟨ assoc ⟩
-                            pi (prod Fcod) u o ( f o iproduct prodΓ (TMap t)  )
+                            pi (prod Fcod) u o ( f o h t )

                  ) ⟩
-                  iproduct (isIProduct (prod Fcod)) (λ u →  pi (prod Fcod) u o ( f o iproduct prodΓ (TMap t)) )
+                  iproduct (isIProduct (prod Fcod)) (λ u →  pi (prod Fcod) u o ( f o h t ))
                 ≈⟨ ip-uniqueness (isIProduct (prod Fcod)) ⟩
-                  f o iproduct prodΓ (TMap t) 
+                  f o h t

          limit1 :  (a : Obj A) → NTrans I A (K A I a) Γ → Hom A a d
-         limit1 a t =  k equ (iproduct prodΓ (TMap t) ) ( fh=gh a t )
+         limit1 a t =  k equ (h t) ( fh=gh a t )
          t0f=t1 :  {a : Obj A} {t : NTrans I A (K A I a) Γ} {i : Obj I} →
                 A [ A [ TMap limit-ε  i o limit1 a t ] ≈ TMap t i ]
          t0f=t1 {a} {t} {i} = let  open ≈-Reasoning (A) in begin
                    TMap limit-ε  i o limit1 a t 
                 ≈⟨⟩
-                   ( ( proj i )  o e ) o  k equ (iproduct prodΓ (TMap t) ) (fh=gh a t)
+                   ( ( proj i )  o e ) o  k equ (h t) (fh=gh a t)
                 ≈↑⟨ assoc  ⟩
-                    proj i  o ( e  o  k equ (iproduct prodΓ (TMap t) ) (fh=gh a t ) )
+                    proj i  o ( e  o  k equ (h t) (fh=gh a t ) )
                 ≈⟨ cdr ( ek=h equ) ⟩
-                    proj i  o iproduct prodΓ (TMap t)
+                    proj i  o h t
                 ≈⟨ pif=q prodΓ ⟩
                    TMap t i 

@@ -471,7 +473,7 @@
          limit-uniqueness1 {a} {t} {f} lim=t = let  open ≈-Reasoning (A) in begin
                     limit1 a t
                 ≈⟨⟩
-                    k equ (iproduct prodΓ (TMap t) ) (fh=gh a t)
+                    k equ (h t) (fh=gh a t)
                 ≈⟨ IsEqualizer.uniqueness  equ ( begin
                       e o f 
                 ≈↑⟨ ip-uniqueness prodΓ ⟩
@@ -483,7 +485,7 @@
                 ≈⟨ lim=t {i} ⟩
                         TMap t i
                 ∎ ) ⟩
-                      iproduct prodΓ (TMap t)
+                      h t
                 ∎ ) ⟩
                     f