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
============
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
------------
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
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 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.
Univalent : Set (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`?
-- Well, probably it could be pulled out of the record.
{ 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
; univalent = eqUni i
}
where
module x = IsCategory x
module y = IsCategory y
ident' = x.propIsIdentity x.ident y.ident
ident'' = ident' i
xuni : x.Univalent
xuni = x.univalent
yuni : y.Univalent
yuni = y.univalent
open RawCategory
T : I Set (a b)
T i = {A B : Object}
Pp : (x.ident y.ident) I Set (a b)
Pp eqIdent i = {A B : Object}
isEquiv (A B) (A x.≅ B)
(λ A≡B
transp
@ -166,17 +169,21 @@ module _ {a} {b} { : RawCategory a b} where
(λ 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
test : (λ _ x.Univalent) [ xuni xuni ]
test = refl
t = {!!}
P : (uni : x.Univalent) xuni uni Set (a b)
P = {!!}
-- T i0 ≡ x.Univalent
-- T i1 ≡ y.Univalent
eqUni : T [ xuni yuni ]
eqUni = pathJprop {x = x.Univalent} P {!!} i
eqUni = {!!}
record Category (a b : Level) : Set (lsuc (a b)) where

View file

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