Type-synonyms for Representable functors and Presheafs

This commit is contained in:
Frederik Hanghøj Iversen 2018-01-17 12:16:07 +01:00
parent 902b953ad0
commit acacfac31c

View file

@ -25,7 +25,10 @@ Sets {} = record
; ident = funExt (λ x refl) , funExt (λ x refl)
}
representable : { ' : Level} { : Category {} {'}} Category.Object Functor (Sets {'})
Representable : { ' : Level} ( : Category {} {'}) Set ( lsuc ')
Representable {' = '} = Functor (Sets {'})
representable : { ' : Level} { : Category {} {'}} Category.Object Representable
representable { = } A = record
{ func* = λ B .Arrow A B
; func→ = λ f g f .⊕ g
@ -35,8 +38,11 @@ representable { = } A = record
where
open module = Category
coRepresentable : { ' : Level} { : Category {} {'}} Category.Object (Opposite ) Functor (Opposite ) (Sets {'})
coRepresentable { = } B = record
Presheaf : { ' : Level} ( : Category {} {'}) Set ( lsuc ')
Presheaf {' = '} = Functor (Opposite ) (Sets {'})
presheaf : { ' : Level} { : Category {} {'}} Category.Object (Opposite ) Presheaf
presheaf { = } B = record
{ func* = λ A .Arrow A B
; func→ = λ f g g .⊕ f
; ident = funExt λ x fst .ident