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