Cosmetics

This commit is contained in:
Frederik Hanghøj Iversen 2018-02-20 14:08:47 +01:00
parent 44eda0ced0
commit 38ec53d5c2
3 changed files with 21 additions and 15 deletions

View file

@ -5,11 +5,14 @@ consisting of the proposal for the thesis).
Installation Installation
============ ============
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-5d84754.
Dependencies Dependencies
------------ ------------
To succesfully compile the following is needed:
* Agda version >= `707ce6042b6a3bdb26521f3fe8dfe5d8a8470a43`.
* Agda Standard Library >= `87d28d7d753f73abd20665d7bbb88f9d72ed88aa`.
I've used git submodules to manage dependencies. Unfortunately Agda does not I've used git submodules to manage dependencies. Unfortunately Agda does not
allow specifying libraries to be used only as local dependencies. allow specifying libraries to be used only as local dependencies.

View file

@ -99,7 +99,8 @@ record IsCategory {a b : Level} ( : RawCategory a b) : Set (lsuc
id-to-iso : (A B : Object) A B A B id-to-iso : (A B : Object) A B A B
id-to-iso A B eq = transp (\ i A eq i) (idIso A) id-to-iso A B eq = transp (\ i A eq i) (idIso A)
-- TODO: might want to implement isEquiv differently, there are 3 -- TODO: might want to implement isEquiv
-- differently, there are 3
-- equivalent formulations in the book. -- equivalent formulations in the book.
Univalent : Set (a b) Univalent : Set (a b)
Univalent = {A B : Object} isEquiv (A B) (A B) (id-to-iso A B) Univalent = {A B : Object} isEquiv (A B) (A B) (id-to-iso A B)
@ -144,20 +145,22 @@ module _ {a} {b} { : RawCategory a b} where
-- Why choose `x`'s `propIsAssociative`? -- Why choose `x`'s `propIsAssociative`?
-- Well, probably it could be pulled out of the record. -- Well, probably it could be pulled out of the record.
{ assoc = x.propIsAssociative x.assoc y.assoc i { assoc = x.propIsAssociative x.assoc y.assoc i
; ident = x.propIsIdentity x.ident y.ident i ; ident = ident' i
; arrowIsSet = x.propArrowIsSet x.arrowIsSet y.arrowIsSet i ; arrowIsSet = x.propArrowIsSet x.arrowIsSet y.arrowIsSet i
; univalent = eqUni i ; univalent = eqUni i
} }
where where
module x = IsCategory x module x = IsCategory x
module y = IsCategory y module y = IsCategory y
ident' = x.propIsIdentity x.ident y.ident
ident'' = ident' i
xuni : x.Univalent xuni : x.Univalent
xuni = x.univalent xuni = x.univalent
yuni : y.Univalent yuni : y.Univalent
yuni = y.univalent yuni = y.univalent
open RawCategory open RawCategory
T : I Set (a b) Pp : (x.ident y.ident) I Set (a b)
T i = {A B : Object} Pp eqIdent i = {A B : Object}
isEquiv (A B) (A x.≅ B) isEquiv (A B) (A x.≅ B)
(λ A≡B (λ A≡B
transp transp
@ -166,17 +169,21 @@ module _ {a} {b} { : RawCategory a b} where
(λ f Σ-syntax (Arrow (A≡B j) A) (λ g g f 𝟙 × f g 𝟙))) (λ f Σ-syntax (Arrow (A≡B j) A) (λ g g f 𝟙 × f g 𝟙)))
( 𝟙 ( 𝟙
, 𝟙 , 𝟙
, x.propIsIdentity x.ident y.ident i , ident' i
) )
) )
T : I Set (a b)
T = Pp {!ident'!}
open Cubical.NType.Properties open Cubical.NType.Properties
test : (λ _ x.Univalent) [ xuni xuni ] test : (λ _ x.Univalent) [ xuni xuni ]
test = refl test = refl
t = {!!} t = {!!}
P : (uni : x.Univalent) xuni uni Set (a b) P : (uni : x.Univalent) xuni uni Set (a b)
P = {!!} P = {!!}
-- T i0 ≡ x.Univalent
-- T i1 ≡ y.Univalent
eqUni : T [ xuni yuni ] eqUni : T [ xuni yuni ]
eqUni = pathJprop {x = x.Univalent} P {!!} i eqUni = {!!}
record Category (a b : Level) : Set (lsuc (a b)) where record Category (a b : Level) : Set (lsuc (a b)) where

View file

@ -47,7 +47,6 @@ module _ {c c' d d'}
open IsFunctor open IsFunctor
open Functor open Functor
-- TODO: Is `IsFunctor` a proposition?
module _ module _
{a b : Level} {a b : Level}
{ 𝔻 : Category a b} { 𝔻 : Category a b}
@ -56,11 +55,8 @@ module _
private private
module 𝔻 = IsCategory (isCategory 𝔻) module 𝔻 = IsCategory (isCategory 𝔻)
-- isProp : Set propIsFunctor : isProp (IsFunctor _ _ F)
-- isProp = (x y : A) → x ≡ y propIsFunctor isF0 isF1 i = record
IsFunctorIsProp : isProp (IsFunctor _ _ F)
IsFunctorIsProp isF0 isF1 i = record
{ ident = 𝔻.arrowIsSet _ _ isF0.ident isF1.ident i { ident = 𝔻.arrowIsSet _ _ isF0.ident isF1.ident i
; distrib = 𝔻.arrowIsSet _ _ isF0.distrib isF1.distrib i ; distrib = 𝔻.arrowIsSet _ _ isF0.distrib isF1.distrib i
} }
@ -81,7 +77,7 @@ module _
IsFunctorIsProp' : IsProp' λ i IsFunctor _ _ (F i) IsFunctorIsProp' : IsProp' λ i IsFunctor _ _ (F i)
IsFunctorIsProp' isF0 isF1 = lemPropF {B = IsFunctor 𝔻} IsFunctorIsProp' isF0 isF1 = lemPropF {B = IsFunctor 𝔻}
(\ F IsFunctorIsProp {F = F}) (\ i F i) (\ F propIsFunctor {F = F}) (\ i F i)
where where
open import Cubical.NType.Properties using (lemPropF) open import Cubical.NType.Properties using (lemPropF)