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
* functors and natural transformations
Prove:
* `isProp (Product ...)`
* `isProp (HasProducts ...)`
* Functor ✓
* Applicative Functor ✗
* Lax monoidal functor ✗

View file

@ -46,9 +46,8 @@ module _ ( ' : Level) where
open RawCategory RawCat
isAssociative : IsAssociative
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' = ident-r , ident-l
ident : IsIdentity identity
ident = ident-r , ident-l
-- NB! `ArrowsAreSets RawCat` is *not* provable. The type of functors,
-- however, form a groupoid! Therefore there is no (1-)category of
-- categories. There does, however, exist a 2-category of 1-categories.

View file

@ -24,9 +24,6 @@
-- ------
--
-- 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 #-}
module Cat.Category where
@ -91,7 +88,7 @@ record RawCategory (a b : Level) : Set (lsuc (a ⊔ b)) where
-- | 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.
IsAssociative : Set (a b)
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
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.
module _ {a b : Level} ( : Category a b) where
open Category
@ -353,9 +361,7 @@ module Opposite {a b : Level} where
RawCategory.𝟙 (rawInv _) = 𝟙
RawCategory._∘_ (rawInv _) = _∘_
-- TODO: Define and use Monad≡
oppositeIsInvolution : opposite (opposite )
Category.raw (oppositeIsInvolution i) = rawInv i
Category.isCategory (oppositeIsInvolution x) = {!!}
oppositeIsInvolution = Category≡ rawInv
open Opposite public

View file

@ -61,7 +61,7 @@ module _ {c c' d d'}
record IsFunctor (F : RawFunctor) : 𝓤 where
open RawFunctor F public
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
isDistributive : IsDistributive

View file

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