cat/src/Cat/Category/Free.agda

43 lines
1.3 KiB
Agda
Raw Normal View History

2018-02-02 14:33:54 +00:00
{-# OPTIONS --allow-unsolved-metas #-}
module Cat.Category.Free where
2017-11-10 15:00:00 +00:00
open import Agda.Primitive
2018-01-30 10:19:48 +00:00
open import Cubical hiding (Path)
open import Data.Product
2017-11-10 15:00:00 +00:00
open import Cat.Category as C
2017-11-10 15:00:00 +00:00
module _ { ' : Level} ( : Category ') where
2017-11-10 15:00:00 +00:00
private
open module = Category
2018-01-21 14:03:00 +00:00
postulate
Path : (a b : .Object) Set '
emptyPath : (o : .Object) Path o o
concatenate : {a b c : .Object} Path b c Path a b Path a c
2017-11-10 15:00:00 +00:00
private
module _ {A B C D : .Object} {r : Path A B} {q : Path B C} {p : Path C D} where
2017-11-10 15:00:00 +00:00
postulate
p-assoc : concatenate {A} {C} {D} p (concatenate {A} {B} {C} q r)
concatenate {A} {B} {D} (concatenate {B} {C} {D} p q) r
module _ {A B : .Object} {p : Path A B} where
2017-11-10 15:00:00 +00:00
postulate
ident-r : concatenate {A} {A} {B} p (emptyPath A) p
ident-l : concatenate {A} {B} {B} (emptyPath B) p p
RawFree : RawCategory '
RawFree = record
{ Object = .Object
2017-11-10 15:00:00 +00:00
; Arrow = Path
; 𝟙 = λ {o} emptyPath o
; _∘_ = λ {a b c} concatenate {a} {b} {c}
}
RawIsCategoryFree : IsCategory RawFree
RawIsCategoryFree = record
{ assoc = p-assoc
; ident = ident-r , ident-l
2018-02-06 09:34:43 +00:00
; arrowIsSet = {!!}
; univalent = {!!}
2017-11-10 15:00:00 +00:00
}