Choose new name for functor composition

This commit is contained in:
Frederik Hanghøj Iversen 2018-01-21 15:21:50 +01:00
parent b158b1d420
commit b21c9b7a89
2 changed files with 9 additions and 11 deletions

View file

@ -42,26 +42,25 @@ module _ { ' : Level} {A B : Category '} where
-- The category of categories
module _ { ' : Level} where
private
_⊛_ = functor-comp
module _ {A B C D : Category '} {f : Functor A B} {g : Functor B C} {h : Functor C D} where
postulate assc : h (g f) (h g) f
postulate assc : h ∘f (g ∘f f) (h ∘f g) ∘f f
-- assc = lift-eq-functors refl refl {!refl!} λ i j → {!!}
module _ {A B : Category '} {f : Functor A B} where
lem : (func* f) (func* (identity {C = A})) func* f
lem = refl
-- lemmm : func→ {C = A} {D = B} (f identity) ≡ func→ f
-- lemmm : func→ {C = A} {D = B} (f ∘f identity) ≡ func→ f
lemmm : PathP
(λ i
{x y : Object A} Arrow A x y Arrow B (func* f x) (func* f y))
(func→ (f identity)) (func→ f)
(func→ (f ∘f identity)) (func→ f)
lemmm = refl
postulate lemz : PathP (λ i {c : A .Object} PathP (λ _ Arrow B (func* f c) (func* f c)) (func→ f (A .𝟙)) (B .𝟙))
(ident (f identity)) (ident f)
(ident (f ∘f identity)) (ident f)
-- lemz = {!!}
postulate ident-r : f identity f
postulate ident-r : f ∘f identity f
-- ident-r = lift-eq-functors lem lemmm {!lemz!} {!!}
postulate ident-l : identity f f
postulate ident-l : identity ∘f f f
-- ident-l = lift-eq-functors lem lemmm {!refl!} {!!}
CatCat : Category (lsuc ( ')) ( ')
@ -70,7 +69,7 @@ module _ { ' : Level} where
{ Object = Category '
; Arrow = Functor
; 𝟙 = identity
; _⊕_ = functor-comp
; _⊕_ = _∘f_
-- What gives here? Why can I not name the variables directly?
; isCategory = {!!}
-- ; assoc = λ {_ _ _ _ f g h} → assc {f = f} {g = g} {h = h}

View file

@ -41,8 +41,8 @@ module _ { ' : Level} {A B C : Category '} (F : Functor B C) (G : F
F→ ((G→ α1) B⊕ (G→ α0)) ≡⟨ F .distrib
(F→ G→) α1 C⊕ (F→ G→) α0
functor-comp : Functor A C
functor-comp =
_∘f_ : Functor A C
_∘f_ =
record
{ func* = F* G*
; func→ = F→ G→
@ -56,7 +56,6 @@ module _ { ' : Level} {A B C : Category '} (F : Functor B C) (G : F
-- The identity functor
identity : { '} {C : Category '} Functor C C
-- Identity = record { F* = λ x → x ; F→ = λ x → x ; ident = refl ; distrib = refl }
identity = record
{ func* = λ x x
; func→ = λ x x