Mercurial > hg > Members > kono > Proof > category
changeset 353:d255a929815f
list representation of TwoCat Hom
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 01 Apr 2015 17:37:04 +0900 |
parents | f589e71875ea |
children | 2a83718f50a0 |
files | limit-to.agda |
diffstat | 1 files changed, 62 insertions(+), 25 deletions(-) [+] |
line wrap: on
line diff
--- a/limit-to.agda Wed Dec 24 22:16:20 2014 +0900 +++ b/limit-to.agda Wed Apr 01 17:37:04 2015 +0900 @@ -20,46 +20,83 @@ --- ------> --- g +data _∨_ {c₁} (A B : Set c₁): Set c₁ where + or1 : A → A ∨ B + or2 : B → A ∨ B + + +record TwoSet {c₁} (A : Set c₁): Set (suc c₁) where + field + a0 : A + a1 : A + element : (x : A) → ( x ≡ a0) ∨ (x ≡ a1 ) + + data Two {c₁} : Set c₁ where t0 : Two t1 : Two -record TwoCat {c₁ c₂ ℓ : Level} (I : Category c₁ c₂ ℓ) - (two : Two {c₁}) : Set (suc (c₁ ⊔ c₂ ⊔ ℓ )) where - field - obj : Two {c₁} → Obj I - obj← : Obj I → Two - map : Two {c₁} → Hom I (obj t0) (obj t1) - map← : Hom I (obj t0) (obj t1) → Two {c₁} - unique-obj : ∀{two : Two } → obj← ( obj two ) ≡ two - unique-obj1 : ∀{i : Obj I } → obj ( obj← i ) ≡ i - unique-map : ∀{two : Two } → map← ( map two ) ≡ two - unique-map1 : ∀{f : Hom I (obj t0) (obj t1) } → map ( map← f ) ≡ f + +infixr 40 _::_ +data List {a} (A : Set a) : Set a where + [] : List A + _::_ : A -> List A -> List A + +-- record TwoCat {ℓ} (S : Sets {ℓ}) : Set ℓ where +-- field +-- twoSet : TwoSet S +-- hom : TwoSet S → TwoSet S → Set _ + + +twocat : {c₁ c₂ ℓ : Level} → (id-0 id-1 f g : Set c₂) → Category c₁ _ ℓ +twocat {c₁} {c₂} {ℓ} id-0 id-1 f g = record { + Obj = Two {c₁} ; + Hom = λ a b → List (Set c₂) ; + _o_ = {!!} ; + _≈_ = {!!} ; + Id = {!!} ; + isCategory = record { + isEquivalence = {!!} ; + identityL = {!!} ; + identityR = {!!} ; + o-resp-≈ = {!!} ; + associative = {!!} + } + } where + hom : Two {c₁} → Two {c₁} → List (Set c₂) + hom t0 t0 = id-0 :: [] + hom t0 t1 = f :: g :: [] + hom t1 t0 = [] + hom t1 t1 = id-1 :: [] open Limit -open TwoCat - -record two-Γ {c₁ c₂ ℓ : Level} (A : Category c₁ c₂ ℓ) (I : Category c₁ c₂ ℓ) - (a b : Obj A) (f g : Hom A a b ) - (two : Two) (twocat : TwoCat I two ) (Γ : Functor I A) : Set (suc (c₁ ⊔ c₂ ⊔ ℓ )) where - field - a0 : FObj Γ (obj twocat t0 ) ≡ a - b0 : FObj Γ (obj twocat t1 ) ≡ b - f0 : A [ FMap Γ (map twocat t0 ) ≈ f ] - g0 : A [ FMap Γ (map twocat t0 ) ≈ g ] lim-to-equ : {c₁ c₂ ℓ : Level} (A : Category c₁ c₂ ℓ) (I : Category c₁ c₂ ℓ) - (two : Two ) - (twocat : TwoCat I two) - (Γ : Functor I A) + (two : {!!} ) (lim : ( Γ : 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 g : Hom A a b) → (e : Hom A c a ) → (fe=ge : A [ A [ f o e ] ≈ A [ g o e ] ] ) → Equalizer A e f g -lim-to-equ {c₁} A I two twocat Γ lim {a} {b} {c} f g e fe=ge = record { +lim-to-equ {c₁} A I two lim {a} {b} {c} f g 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 + Γobj : Two {c₁} → Obj A + Γobj t0 = a + Γobj t1 = b + Γmap : Two {c₁} → Hom A a b + Γmap t0 = f + Γmap t1 = g + Γ : Functor I A + Γ = record { + FObj = λ x → Γobj {!!} ; + FMap = λ f → {!!} ; + isFunctor = record { + ≈-cong = {!!} ; + identity = {!!} ; + distr = {!!} + } + } nat : (d : Obj A) → NTrans I A (K A I d) Γ nat d = record { TMap = λ x → {!!} ;