### changeset 823:f57c9603d989

author Shinji KONO Wed, 01 May 2019 21:35:03 +0900 4c0580d9dda4 878d8643214f CCCGraph.agda 1 files changed, 8 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
```--- a/CCCGraph.agda	Wed May 01 21:16:58 2019 +0900
+++ b/CCCGraph.agda	Wed May 01 21:35:03 2019 +0900
@@ -350,10 +350,11 @@
∎  )

-UX : {c₁ c₂ ℓ : Level} → Functor (Cart {c₁} {c₂} {ℓ} ) (Grp {c₁} {c₂})
-FObj (UX {c₁} {c₂} {ℓ}) a = fobj a
-FMap UX f =  fmap f
-isFunctor (UX {c₁} {c₂} {ℓ}) = isf where
+UX : {c₁ c₂ ℓ : Level} → ( ≈-to-≡ : (A : Category c₁ c₂ ℓ ) →  {a b : Obj A} → {f g : Hom A a b} → A [ f ≈ g ] → f ≡ g  )
+    → Functor (Cart {c₁} {c₂} {ℓ} ) (Grp {c₁} {c₂})
+FObj (UX {c₁} {c₂} {ℓ} ≈-to-≡  ) a = fobj a
+FMap (UX ≈-to-≡)  f =  fmap f
+isFunctor (UX {c₁} {c₂} {ℓ}  ≈-to-≡)  = isf where
open import HomReasoning
lemma0 : {A B : Category c₁ c₂ ℓ } { f g : Functor A B } → {a b : Obj B} → [_]_~_ B  (id1 B a) (id1 B b) → a ≡ b
lemma0 {A} {B} {f} {g} (refl eqv) = refl
@@ -365,12 +366,12 @@
→ (Cart {c₁} {c₂} {ℓ}) [ f ≈ g ] → vmap (fmap f) ≡ vmap (fmap g)
lemma1 {a} {b} {f} {g} eq = extensionality Sets ( λ z → lemma01 {cat a} {cat b} {cmap f} {cmap g} eq  )
lemma20 : {A B : Category c₁ c₂ ℓ }  {a b : Obj A} → ( e : Hom A a b ) → ( g : Functor A B )  → ( f : Hom A a b → Hom B (FObj g a) (FObj g b) )
-       → B [ f e ≈ FMap g e ] → f e ≅ FMap g e
-  lemma20 e g f eq = {!!}
+       → B [ f e ≈ FMap g e ] → f e  ≡ FMap g e
+  lemma20 {_} {B} e g f eq = ≈-to-≡ B eq
lemma2 : {A B : Obj (Cart {c₁} {c₂} {ℓ}) } { f g : Hom (Cart {c₁} {c₂} {ℓ}) A B} →
(Cart {c₁} {c₂} {ℓ}) [ f ≈ g ]  → vmap (fmap f) ≡ vmap (fmap g)  → {a b : vertex (fobj A)} {e : edge (fobj A) a b} → emap (fmap f) e ≅ emap (fmap g) e
lemma2 {A} {B} {f} {g} eq refl {a} {b} {e} with ( eq e )
-  ... | refl {h} eqv =  lemma20 e (cmap g) (FMap (cmap f)) eqv
+  ... | refl {h} eqv = Relation.Binary.HeterogeneousEquality.≡-to-≅ ( lemma20 e (cmap g) (FMap (cmap f)) eqv )
isf : IsFunctor (Cart {c₁} {c₂} {ℓ} ) (Grp {c₁} {c₂}) fobj fmap
IsFunctor.identity isf = mrefl refl refl
IsFunctor.distr isf = mrefl refl refl```