Mercurial > hg > Members > kono > Proof > category
changeset 370:93540deafde7
fix
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 06 Mar 2016 01:05:03 +0900 |
parents | a8ac736d73ff |
children | 3a125d05ae0f |
files | limit-to.agda |
diffstat | 1 files changed, 20 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/limit-to.agda Sun Mar 06 00:23:35 2016 +0900 +++ b/limit-to.agda Sun Mar 06 01:05:03 2016 +0900 @@ -29,18 +29,25 @@ t0 : TwoObject t1 : TwoObject -record TwoCat {ℓ c₁ c₂ : Level } (A : Category c₁ c₂ ℓ) : Set (c₂ ⊔ c₁ ⊔ ℓ) where +record TwoCat {ℓ c₁ c₂ : Level } (A : Category c₁ c₂ ℓ) ( a b : Obj A ) ( f g : Hom A a b ): Set (c₂ ⊔ c₁ ⊔ ℓ) where field obj→ : Obj A -> TwoObject hom→ : {a b : Obj A} -> Hom A a b -> TwoObject + fobj : Obj A -> Obj A + fobj x with obj→ x + ... | t0 = a + ... | t1 = b + fmap' : TwoObject -> Hom A a b + fmap' t0 = f + fmap' t1 = g open TwoCat -indexFunctor : {c₁ c₂ ℓ : Level} (A : Category c₁ c₂ ℓ) -> (two : TwoCat A) -> - ( a b : Obj A ) ( f g : Hom A a b ) ( f-rev : Hom A b a ) - -> Functor A A -indexFunctor A two a b f g f-rev = record { - FObj = λ a → fobj a +indexFunctor : {c₁ c₂ ℓ : Level} (A : Category c₁ c₂ ℓ) + ( a b : Obj A ) ( f g : Hom A a b ) ( f-rev : Hom A b a ) -> (two : TwoCat A a b f g ) + -> Functor A A +indexFunctor A a b f g f-rev two = record { + FObj = λ a → fobj two a ; FMap = λ f → fmap f ; isFunctor = record { identity = {!!} @@ -48,37 +55,30 @@ ; ≈-cong = {!!} } } where - fobj : Obj A -> Obj A - fobj x with obj→ two x - ... | t0 = a - ... | t1 = b - fmap' : (x y : Obj A) -> TwoObject -> Hom A a b - fmap' _ _ t0 = f - fmap' _ _ t1 = g - fmap : {x y : Obj A } -> Hom A x y -> Hom A (fobj x) (fobj y) + fmap : {x y : Obj A } -> Hom A x y -> Hom A (fobj two x) (fobj two y) fmap {x} {y} f' with obj→ two x | obj→ two y ... | t0 | t0 = id1 A a ... | t1 | t0 = f-rev ... | t1 | t1 = id1 A b - ... | t0 | t1 = fmap' x y (hom→ two f') + ... | t0 | t1 = fmap' two (hom→ two f') open Limit -lim-to-equ : {c₁ c₂ ℓ : Level} (A : Category c₁ c₂ ℓ) (two : TwoCat A ) +lim-to-equ : {c₁ c₂ ℓ : Level} (A : Category c₁ c₂ ℓ) (lim : (I : Category c₁ c₂ ℓ) ( Γ : Functor I A ) → { a0 : Obj A } { u : NTrans I A ( K A I a0 ) Γ } → Limit A I Γ a0 u ) -- completeness - → {a b c : Obj A} (f-rev : Hom A b a ) (f g : Hom A a b ) + → {a b c : Obj A} (f-rev : Hom A b a ) (f g : Hom A a b ) (two : TwoCat A a b f g ) → (e : Hom A c a ) → (fe=ge : A [ A [ f o e ] ≈ A [ g o e ] ] ) → Equalizer A e f g -lim-to-equ A two lim {a} {b} {c} f-rev f g e fe=ge = record { +lim-to-equ A lim {a} {b} {c} f-rev f g two e fe=ge = record { fe=ge = fe=ge ; k = λ {d} h fh=gh → k {d} h fh=gh ; ek=h = λ {d} {h} {fh=gh} → {!!} ; uniqueness = λ {d} {h} {fh=gh} {k'} → {!!} } where - Γ = indexFunctor A two a b f g f-rev + Γ = indexFunctor A a b f g f-rev two nmap : (x : Obj A) ( d : Obj A ) (h : Hom A d a ) -> Hom A (FObj (K A A d) x) (FObj Γ x) nmap x d h with (obj→ two x) ... | t0 = h - ... | t1 = A [ f o h ] + ... | t1 = A [ fmap' two (obj→ two x) o h ] commute1 : {x y : Obj A} {f' : Hom A x y} (d : Obj A) (h : Hom A d a ) -> A [ A [ f o h ] ≈ A [ g o h ] ] -> TwoObject -> TwoObject → A [ A [ FMap Γ f' o nmap x d h ] ≈ A [ nmap y d h o FMap (K A A d) f' ] ] commute1 {x} {y} {f'} d h fh=gh t0 t0 = let open ≈-Reasoning (A) in