changeset 199:0ce7795fa46b

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 31 Aug 2013 01:57:35 +0900
parents 1edba4226474
children 6e704f4d4f03
files yoneda.agda
diffstat 1 files changed, 12 insertions(+), 35 deletions(-) [+]
line wrap: on
line diff
--- a/yoneda.agda	Sat Aug 31 01:51:38 2013 +0900
+++ b/yoneda.agda	Sat Aug 31 01:57:35 2013 +0900
@@ -87,36 +87,6 @@
 -- Extensionality a b = {A : Set a} {B : A → Set b} {f g : (x : A) → B x} → (∀ x → f x ≡ g x) → f ≡ g → ( λ x → f x ≡ λ x → g x )
 postulate extensionality : Relation.Binary.PropositionalEquality.Extensionality c₂ c₂
 
--- non cotravariant version 
-
-y-obj' : (a : Obj A) → Functor A Sets
-y-obj' a = record {
-        FObj = λ b → Hom A a b
-        ; FMap =   λ {b c : Obj A } → λ ( f : Hom A b c ) → λ (g : Hom A a b ) →  A [ f o g ] 
-        ; isFunctor = record {
-             identity = identity
-             ; distr = λ {a} {b} {c} {f} {g} → distr1 a b c f g
-             ; ≈-cong = cong1
-        } 
-    } where
-        lemma-y-obj1 : {b : Obj A } → (x : Hom A a b) → A [ id1 A b o x ] ≡ x
-        lemma-y-obj1 {b} x = let open ≈-Reasoning (A) in ≈-≡ idL
-        identity : {b : Obj A} → Sets [ (λ (g : Hom A a b ) → A [ id1 A b o g ]) ≈ ( λ g → g ) ]
-        identity {b} = extensionality lemma-y-obj1
-        lemma-y-obj2 : (a₁ b c : Obj A) (f : Hom A a₁ b) (g : Hom A b c) → (x : Hom A a a₁ )→ A [ A [ g o f ] o x ] ≡ (Sets [ _[_o_] A g o _[_o_] A f ]) x
-        lemma-y-obj2 a₁ b c f g x = let open ≈-Reasoning (A) in ≈-≡ ( begin
-               A [ A [ g o f ] o x ]
-             ≈↑⟨ assoc ⟩
-               A [ g o A [ f o x ] ] 
-             ≈⟨⟩
-               ( λ x →  A [ g o x  ]  ) ( ( λ x → A [ f o x ] ) x )
-             ∎ )
-        distr1 :   (a₁ b c : Obj A) (f : Hom A a₁ b) (g : Hom A b c) →
-                Sets [ (λ g₁ → A [ A [ g o f ] o g₁ ]) ≈ Sets [ (λ g₁ → A [ g o g₁ ]) o (λ g₁ → A [ f o g₁ ]) ] ]
-        distr1 a b c f g = extensionality ( λ x → lemma-y-obj2 a b c f g x )
-        cong1 :  {A₁ B : Obj A} {f g : Hom A A₁ B} → A [ f ≈ g ] → Sets [ (λ g₁ → A [ f o g₁ ]) ≈ (λ g₁ → A [ g o g₁ ]) ]
-        cong1 eq = extensionality ( λ x → ( ≈-≡ (  
-                 (IsCategory.o-resp-≈  ( Category.isCategory A )) ( IsEquivalence.refl (IsCategory.isEquivalence  ( Category.isCategory A ))) eq )))
 
 ----
 --
@@ -229,7 +199,7 @@
 --
 --  F : A → Sets  ∈ Obj SetsAop
 --
---  F(a) ⇔ Nat(h_a,F)
+--  F(a) -> Nat(h_a,F)
 --      x ∈ F(a) , (g : Hom A b a)  → ( FMap F g ) x
 ------
 
@@ -258,12 +228,19 @@
    isNTrans1 = record { commute = λ {a₁ b f}  →  commute {a₁} {b} {f} } 
 
 
+--  F(a) <- Nat(h_a,F)
 Nat2F : {a : Obj A} → {F : Obj SetsAop} →  Hom SetsAop (y-obj a) F  → FObj F a 
 Nat2F {a} {F} ha =  ( TMap ha a ) (id1 A a)
 
+----
+--
+-- Prove  Bijection (as routine exercise ...)
+--
+----
+
 F2Nat→Nat2F : {a : Obj A } → {F : Obj SetsAop} → (fa : FObj F a) →  Nat2F {a} {F} (F2Nat {a} {F} fa) ≡ fa 
--- FMap F (Category.Category.Id A) fa ≡ fa
 F2Nat→Nat2F {a} {F} fa = let open ≈-Reasoning (Sets) in cong ( λ f → f fa ) (
+             -- FMap F (Category.Category.Id A) fa ≡ fa
              begin
                ( FMap F (id1 A _ )) 
              ≈⟨ IsFunctor.identity (isFunctor F)    ⟩
@@ -298,7 +275,7 @@

 
 -- Yoneda's Lemma
---    full and faithfull
+--    Yoneda Functor is full and faithfull
 --    that is FMapp Yoneda is injective and surjective
 
 --  λ b g → (A Category.o f₁) g
@@ -307,7 +284,7 @@
 
 --  F2Nat is bijection so FMap YonedaFunctor also ( using functional extensionality )
 
---  Full embedding requires injective on Object, that is
+--  Full embedding of Yoneda Functor requires injective on Object, that is
 --     FObj YonedaFunctor a   ≡ FObj YonedaFunctor b → a  ≡ b
 
 dom-equivalence : {a b : Obj A} → {f g : Hom A a b} → A [ f ≈ g ] → Category.dom A f ≡ Category.dom A g
@@ -325,4 +302,4 @@
 -- YondaLemma2 : {a b : Obj A }  → (λ x → FObj (FObj YonedaFunctor a) x)  ≡ (λ x → FObj (FObj YonedaFunctor b  ) x)  →  
 --        {f : Hom A a b } → a ≡ b 
 -- YondaLemma2 {a} {b} eq  {f}  = {!!} eq
--- I cannot prove this, sorry
+-- I cannot prove this, please help.