changeset 654:2872af3b32cc

uniquness
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 05 Jul 2017 10:30:17 +0900
parents 893ae9a95ee1
children 26a28b1cee6f
files freyd2.agda
diffstat 1 files changed, 14 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/freyd2.agda	Wed Jul 05 09:55:31 2017 +0900
+++ b/freyd2.agda	Wed Jul 05 10:30:17 2017 +0900
@@ -388,6 +388,9 @@
    solution : {a : Obj B} {b : Obj A}  → ( f : Hom B a (FObj U b) ) → CommaHom (K B A a) U (i a) (sobj f)
    solution {a} {b} f = initial (In a) (sobj f)
 
+   ηf : (a b  : Obj B)  → ( f : Hom B a b ) → Obj ( K B A a ↓ U)
+   ηf a b f  = sobj ( B [ tmap-η b o f ]  )
+
    univ : {a : Obj B} {b : Obj A}  → (f : Hom B a (FObj U b))
        → B [ B [ FMap U (arrow (solution f)) o tmap-η a ]  ≈ f ]
    univ {a} {b} f = let open ≈-Reasoning B in begin
@@ -398,8 +401,17 @@
         f 

 
-   ηf : (a b  : Obj B)  → ( f : Hom B a b ) → Obj ( K B A a ↓ U)
-   ηf a b f  = sobj ( B [ tmap-η b o f ]  )
+   unique : {a : Obj B} { b : Obj A } → { f : Hom B a (FObj U b) } → { g :  Hom A (obj (i a)) b} →
+      B [ B [ FMap U g o  tmap-η a ]  ≈ f ] → A [ arrow (solution f)  ≈ g ]
+   unique {a} {b} {f} {g} ugη=f = let open ≈-Reasoning A in begin
+        arrow (solution f) 
+      ≈↑⟨ ≡-≈ ( cong (λ k → arrow (solution k)) ( ≈-≡ B ugη=f )) ⟩
+        arrow (solution (B [ FMap U g o tmap-η a ] )) 
+      ≈↑⟨ uniqueness (In a) (record { arrow = g ; comm = comm1 }) ⟩
+        g 
+      ∎  where
+         comm1 : B [ B [ FMap U g o hom (i a) ] ≈ B [ B [ FMap U g o tmap-η a ] o FMap (K B A a) g ] ]
+         comm1 = let open ≈-Reasoning B in sym idR
 
    F : Functor B A
    F = record {