Mercurial > hg > Members > kono > Proof > category
changeset 477:bcf941e20737
add Comma category
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 08 Mar 2017 22:33:31 +0900 |
parents | 6ccda88f5561 |
children | dc24ac6ebdb3 |
files | Comma.agda |
diffstat | 1 files changed, 62 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Comma.agda Wed Mar 08 22:33:31 2017 +0900 @@ -0,0 +1,62 @@ +open import Level +open import Category +module Comma {c₁ c₂ ℓ c₁' c₂' ℓ' : Level} (A : Category c₁ c₂ ℓ) (B : Category c₁' c₂' ℓ') ( F G : Functor A B ) where + +open import HomReasoning +open import cat-utility + + +-- this a special case A = A, B = A, C = B + +open Functor + +record CommaObj : Set ( c₁ ⊔ c₂' ) where + field + obj : Obj A + hom : Hom B ( FObj F obj ) ( FObj G obj ) + +open CommaObj + +record CommaHom ( a b : CommaObj ) : Set ( c₂ ⊔ ℓ' ) where + field + arrow : Hom A ( obj a ) ( obj b ) + comm : B [ B [ FMap G arrow o hom a ] ≈ B [ hom b o FMap F arrow ] ] + +open CommaHom + +_⋍_ : { a b : CommaObj } ( f g : CommaHom a b ) → Set ℓ +_⋍_ f g = A [ arrow f ≈ arrow g ] + +_∙_ : {a b c : CommaObj } → CommaHom b c → CommaHom a b → CommaHom a c +_∙_ {a} {b} {c} f g = record { + arrow = A [ arrow f o arrow g ] ; + comm = comm1 + } where + comm1 : B [ B [ FMap G (A [ arrow f o arrow g ] ) o hom a ] ≈ B [ hom c o FMap F (A [ arrow f o arrow g ]) ] ] + comm1 = {!!} + +CommaId : { a : CommaObj } → CommaHom a a +CommaId {a} = record { arrow = id1 A ( obj a ) ; + comm = comm2 } where + comm2 : B [ B [ FMap G (id1 A (obj a)) o hom a ] ≈ B [ hom a o FMap F (id1 A (obj a)) ] ] + comm2 = {!!} + +open import Relation.Binary.Core + +isCommaCategory : IsCategory CommaObj CommaHom _⋍_ _∙_ CommaId +isCommaCategory = record { + isEquivalence = let open ≈-Reasoning (A) in record {refl = refl-hom ; + sym = sym ; + trans = trans-hom } + ; identityL = {!!} + ; identityR = {!!} + ; o-resp-≈ = λ{a b c f g h i } → o-resp-≈1 {a} {b} {c} {f} {g} {h} {i} + ; associative = {!!} + } where + o-resp-≈1 : {!!} + o-resp-≈1 = {!!} + + +_↑_ : Category {!!} {!!} ℓ +_↑_ = {!!} +