Cosmetics
This commit is contained in:
parent
44eda0ced0
commit
38ec53d5c2
|
@ -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.
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue