Fixup some todo-notes

This commit is contained in:
Frederik Hanghøj Iversen 2018-03-08 01:09:40 +01:00
parent fa9a470875
commit b61749bb91
5 changed files with 21 additions and 12 deletions

View file

@ -15,6 +15,10 @@ Prove univalence for the category of
* sets * sets
* functors and natural transformations * functors and natural transformations
Prove:
* `isProp (Product ...)`
* `isProp (HasProducts ...)`
* Functor ✓ * Functor ✓
* Applicative Functor ✗ * Applicative Functor ✗
* Lax monoidal functor ✗ * Lax monoidal functor ✗

View file

@ -46,9 +46,8 @@ module _ ( ' : Level) where
open RawCategory RawCat open RawCategory RawCat
isAssociative : IsAssociative isAssociative : IsAssociative
isAssociative {f = F} {G} {H} = assc {F = F} {G = G} {H = H} isAssociative {f = F} {G} {H} = assc {F = F} {G = G} {H = H}
-- TODO: Rename `ident'` to `ident` after changing how names are exposed in Functor. ident : IsIdentity identity
ident' : IsIdentity identity ident = ident-r , ident-l
ident' = ident-r , ident-l
-- NB! `ArrowsAreSets RawCat` is *not* provable. The type of functors, -- NB! `ArrowsAreSets RawCat` is *not* provable. The type of functors,
-- however, form a groupoid! Therefore there is no (1-)category of -- however, form a groupoid! Therefore there is no (1-)category of
-- categories. There does, however, exist a 2-category of 1-categories. -- categories. There does, however, exist a 2-category of 1-categories.

View file

@ -24,9 +24,6 @@
-- ------ -- ------
-- --
-- Propositionality for all laws about the category. -- Propositionality for all laws about the category.
--
-- TODO: An equality principle for categories that focuses on the pure data-part.
--
{-# OPTIONS --allow-unsolved-metas --cubical #-} {-# OPTIONS --allow-unsolved-metas --cubical #-}
module Cat.Category where module Cat.Category where
@ -91,7 +88,7 @@ record RawCategory (a b : Level) : Set (lsuc (a ⊔ b)) where
-- | Laws about the data -- | Laws about the data
-- TODO: It seems counter-intuitive that the normal-form is on the -- FIXME It seems counter-intuitive that the normal-form is on the
-- right-hand-side. -- right-hand-side.
IsAssociative : Set (a b) IsAssociative : Set (a b)
IsAssociative = {A B C D} {f : Arrow A B} {g : Arrow B C} {h : Arrow C D} IsAssociative = {A B C D} {f : Arrow A B} {g : Arrow B C} {h : Arrow C D}
@ -286,6 +283,17 @@ record Category (a b : Level) : Set (lsuc (a ⊔ b)) where
open IsCategory isCategory public open IsCategory isCategory public
Category≡ : {a b : Level} { 𝔻 : Category a b} Category.raw Category.raw 𝔻 𝔻
Category≡ { = } {𝔻} eq i = record
{ raw = eq i
; isCategory = isCategoryEq i
}
where
open Category
module = Category
isCategoryEq : (λ i IsCategory (eq i)) [ isCategory isCategory 𝔻 ]
isCategoryEq = {!!}
-- | Syntax for arrows- and composition in a given category. -- | Syntax for arrows- and composition in a given category.
module _ {a b : Level} ( : Category a b) where module _ {a b : Level} ( : Category a b) where
open Category open Category
@ -353,9 +361,7 @@ module Opposite {a b : Level} where
RawCategory.𝟙 (rawInv _) = 𝟙 RawCategory.𝟙 (rawInv _) = 𝟙
RawCategory._∘_ (rawInv _) = _∘_ RawCategory._∘_ (rawInv _) = _∘_
-- TODO: Define and use Monad≡
oppositeIsInvolution : opposite (opposite ) oppositeIsInvolution : opposite (opposite )
Category.raw (oppositeIsInvolution i) = rawInv i oppositeIsInvolution = Category≡ rawInv
Category.isCategory (oppositeIsInvolution x) = {!!}
open Opposite public open Opposite public

View file

@ -61,7 +61,7 @@ module _ {c c' d d'}
record IsFunctor (F : RawFunctor) : 𝓤 where record IsFunctor (F : RawFunctor) : 𝓤 where
open RawFunctor F public open RawFunctor F public
field field
-- TODO Really ought to be preserves identity or something like this. -- FIXME Really ought to be preserves identity or something like this.
isIdentity : IsIdentity isIdentity : IsIdentity
isDistributive : IsDistributive isDistributive : IsDistributive

View file

@ -250,7 +250,7 @@ module Kleisli {a b : Level} ( : Category a b) where
fmap g fmap f ≡⟨⟩ fmap g fmap f ≡⟨⟩
bind (pure g) bind (pure f) bind (pure g) bind (pure f)
-- TODO: Naming! -- FIXME Naming!
R : EndoFunctor R : EndoFunctor
Functor.raw R = rawR Functor.raw R = rawR
Functor.isFunctor R = isFunctorR Functor.isFunctor R = isFunctorR