Merge branch 'Saizan-dev-yoneda'

This commit is contained in:
Frederik Hanghøj Iversen 2018-01-25 22:00:22 +01:00
commit eae441b659
3 changed files with 20 additions and 14 deletions

View file

@ -6,7 +6,7 @@ consisting of the proposal for the thesis).
Installation Installation
============ ============
You probably need a very recent version of the Agda compiler. At the time You probably need a very recent version of the Agda compiler. At the time
of writing the solution has been tested with Agda version 2.6.0-9af3e07. of writing the solution has been tested with Agda version 2.6.0-5d84754.
Dependencies Dependencies
------------ ------------

View file

@ -34,8 +34,6 @@ module _ ( ' : Level) where
(λ i {x y : A .Object} A .Arrow x y D .Arrow (eq* i x) (eq* i y)) (λ i {x y : A .Object} A .Arrow x y D .Arrow (eq* i x) (eq* i y))
(func→ (h ∘f (g ∘f f))) (func→ ((h ∘f g) ∘f f)) (func→ (h ∘f (g ∘f f))) (func→ ((h ∘f g) ∘f f))
eq→ = refl eq→ = refl
id-l = (h ∘f (g ∘f f)) .ident -- = func→ (h ∘f (g ∘f f)) (𝟙 A) ≡ 𝟙 D
id-r = ((h ∘f g) ∘f f) .ident -- = func→ ((h ∘f g) ∘f f) (𝟙 A) ≡ 𝟙 D
postulate eqI : PathP postulate eqI : PathP
(λ i {c : A .Object} eq→ i (A .𝟙 {c}) D .𝟙 {eq* i c}) (λ i {c : A .Object} eq→ i (A .𝟙 {c}) D .𝟙 {eq* i c})
(ident ((h ∘f (g ∘f f)))) (ident ((h ∘f (g ∘f f))))

View file

@ -52,12 +52,12 @@ module _ { : Level} { : Category } where
open import Cat.Category open import Cat.Category
open Category open Category
open import Cat.Categories.Cat using (Cat) open import Cat.Categories.Cat using (Cat)
open import Cat.Categories.Fun
open import Cat.Categories.Sets
module Cat = Cat.Categories.Cat module Cat = Cat.Categories.Cat
open Exponential open Exponential
private private
Cat = Cat Cat = Cat
CatHasExponentials : HasExponentials Cat
CatHasExponentials = Cat.hasExponentials
-- Exp : Set (lsuc (lsuc )) -- Exp : Set (lsuc (lsuc ))
-- Exp = Exponential (Cat (lsuc ) ) -- Exp = Exponential (Cat (lsuc ) )
@ -66,18 +66,26 @@ module _ { : Level} { : Category } where
_⇑_ : (A B : Cat .Object) Cat .Object _⇑_ : (A B : Cat .Object) Cat .Object
A B = (exponent A B) .obj A B = (exponent A B) .obj
where where
open HasExponentials CatHasExponentials open HasExponentials (Cat.hasExponentials )
private -- private
-- I need `Sets` to be a `Category ` but it simlpy isn't. -- -- I need `Sets` to be a `Category ` but it simlpy isn't.
Setz : Category -- Setz : Category
Setz = {!Sets!} -- Setz = {!Sets!}
:func*: : .Object (Setz Opposite ) .Object -- :func*: : .Object (Setz Opposite ) .Object
:func*: A = {!!} -- :func*: A = {!!}
yoneda : Functor (Setz (Opposite )) -- prsh = presheaf { = }
-- k = prsh {!!}
-- :func*:' : .Object Presheaf
-- :func*:' = prsh
-- module _ {A B : .Object} (f : .Arrow A B) where
-- open import Cat.Categories.Fun
-- :func→:' : NaturalTransformation (prsh A) (prsh B)
yoneda : Functor (Fun { = Opposite } {𝔻 = Sets {}})
yoneda = record yoneda = record
{ func* = :func*: { func* = presheaf { = }
; func→ = {!!} ; func→ = {!!}
; ident = {!!} ; ident = {!!}
; distrib = {!!} ; distrib = {!!}