Fixup some todo-notes
This commit is contained in:
parent
fa9a470875
commit
b61749bb91
|
@ -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 ✗
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue