Merge branch 'dev'
This commit is contained in:
commit
f13b98b009
|
@ -1 +1 @@
|
||||||
Subproject commit 2033814d1f118401a37484390fdb5b75b83e6bb4
|
Subproject commit de23244a73d6dab55715fd5a107a5de805c55764
|
|
@ -1 +1 @@
|
||||||
Subproject commit 19990b03b95f76210362a6e55b94181a5481f158
|
Subproject commit a83f5f4c63e5dfd8143ac03163868c63a56802de
|
|
@ -6,8 +6,8 @@
|
||||||
\newcommand{\bN}{\mathbb{N}}
|
\newcommand{\bN}{\mathbb{N}}
|
||||||
\newcommand{\bC}{\mathbb{C}}
|
\newcommand{\bC}{\mathbb{C}}
|
||||||
\newcommand{\bX}{\mathbb{X}}
|
\newcommand{\bX}{\mathbb{X}}
|
||||||
\newcommand{\to}{\rightarrow}}
|
\newcommand{\to}{\rightarrow}
|
||||||
\newcommand{\mto}{\mapsto}}
|
\newcommand{\mto}{\mapsto}
|
||||||
\newcommand{\UU}{\ensuremath{\mathcal{U}}\xspace}
|
\newcommand{\UU}{\ensuremath{\mathcal{U}}\xspace}
|
||||||
\let\type\UU
|
\let\type\UU
|
||||||
\newcommand{\nomen}[1]{\emph{#1}}
|
\newcommand{\nomen}[1]{\emph{#1}}
|
||||||
|
|
72
proposal/planning.tex
Normal file
72
proposal/planning.tex
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
\section{Planning report}
|
||||||
|
%
|
||||||
|
I have already implemented multiple essential building blocks for a
|
||||||
|
formalization of core-category theory. These concepts include:
|
||||||
|
%
|
||||||
|
\begin{itemize}
|
||||||
|
\item
|
||||||
|
Categories
|
||||||
|
\item
|
||||||
|
Functors
|
||||||
|
\item
|
||||||
|
Products
|
||||||
|
\item
|
||||||
|
Exponentials
|
||||||
|
\item
|
||||||
|
Natural transformations
|
||||||
|
\item
|
||||||
|
Concrete Categories
|
||||||
|
\subitem
|
||||||
|
Sets
|
||||||
|
\subitem
|
||||||
|
Cat
|
||||||
|
\subitem
|
||||||
|
Functor
|
||||||
|
\end{itemize}
|
||||||
|
%
|
||||||
|
Will all these things already in place it's my assessment that I am ahead of
|
||||||
|
schedule at this point.\footnote{I have omitted a lot of other things that
|
||||||
|
follow easily from the above, e.g. a cartesian-closed category is simply one
|
||||||
|
that has all products and exponentials.}
|
||||||
|
|
||||||
|
Here is a plan for my thesis work organized on a week-by-week basis.
|
||||||
|
%
|
||||||
|
\begin{center}
|
||||||
|
\centering
|
||||||
|
\begin{tabular}{@{}lll@{}}
|
||||||
|
Goal & Deadline & Risk 1-5 \\ \hline
|
||||||
|
Yoneda embedding & Feb 2nd & 3 \\
|
||||||
|
Categories with families & Feb 9th & 4 \\
|
||||||
|
Presheafs $\Rightarrow$ CwF's & Feb 16th & 2 \\
|
||||||
|
Cubical Category & Feb 23rd & 3 \\
|
||||||
|
Writing seminar & Mar 2nd & \\
|
||||||
|
Kan condition & Mar 9th & 4 \\
|
||||||
|
Thesis outline and backlog & Mar 16th & 2 \\
|
||||||
|
Half-time report & Mar 23rd & 2 \\
|
||||||
|
& Mar 30th & \\
|
||||||
|
& Apr 6th & \\
|
||||||
|
& Apr 13th & \\
|
||||||
|
& Apr 20th & \\
|
||||||
|
Thesis draft & Apr 27th & 2 \\
|
||||||
|
Writing seminar 2 & May 4th & \\
|
||||||
|
Presentation & May 11th & \\
|
||||||
|
Attend 1st presentation & May 18th & \\
|
||||||
|
Attend 2nd presentation & May 25th & \\
|
||||||
|
\end{tabular}
|
||||||
|
\end{center}
|
||||||
|
%
|
||||||
|
The first half part of my thesis-work will be focused on implementing core
|
||||||
|
elements of my Agda implementation. These core elements have been highlighted in
|
||||||
|
the above table. The elements noted there are the essential bits and pieces I
|
||||||
|
need to reach the ambitious goal of getting an implementation of a categorical
|
||||||
|
model for Cubical Type Theory. Along the way I will also have formalized
|
||||||
|
additional elements of more ``pure'' category theory. I will thus reach my goal
|
||||||
|
of formalizing (parts of) category theory.
|
||||||
|
|
||||||
|
The high risk-factors for CwF's and the Kan-condition is due to this being
|
||||||
|
somewhat uncharted territory for me at this point.
|
||||||
|
|
||||||
|
It's my plan that I will have formalized the core concepts needed around the
|
||||||
|
deadline for the half-time report which is due by March 23rd. Around this point
|
||||||
|
I will have a clearer idea of what additional things I need for a model of
|
||||||
|
category theory.
|
|
@ -12,6 +12,7 @@
|
||||||
\usepackage{parskip}
|
\usepackage{parskip}
|
||||||
\usepackage{multicol}
|
\usepackage{multicol}
|
||||||
\usepackage{amsmath,amssymb}
|
\usepackage{amsmath,amssymb}
|
||||||
|
\usepackage[toc,page]{appendix}
|
||||||
% \setlength{\parskip}{10pt}
|
% \setlength{\parskip}{10pt}
|
||||||
|
|
||||||
% \usepackage{tikz}
|
% \usepackage{tikz}
|
||||||
|
@ -279,4 +280,7 @@ The thesis shall conclude with a discussion about the benefits of Cubical Agda.
|
||||||
\nocite{cubical-demo}
|
\nocite{cubical-demo}
|
||||||
\nocite{coquand-2013}
|
\nocite{coquand-2013}
|
||||||
\bibliography{refs}
|
\bibliography{refs}
|
||||||
|
\begin{appendices}
|
||||||
|
\input{planning.tex}
|
||||||
|
\end{appendices}
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{-# OPTIONS --cubical #-}
|
{-# OPTIONS --cubical #-}
|
||||||
module Cat.Categories.Rel where
|
module Cat.Categories.Rel where
|
||||||
|
|
||||||
open import Cubical.PathPrelude
|
open import Cubical
|
||||||
open import Cubical.GradLemma
|
open import Cubical.GradLemma
|
||||||
open import Agda.Primitive
|
open import Agda.Primitive
|
||||||
open import Data.Product renaming (proj₁ to fst ; proj₂ to snd)
|
open import Data.Product renaming (proj₁ to fst ; proj₂ to snd)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
module Cat.Categories.Sets where
|
module Cat.Categories.Sets where
|
||||||
|
|
||||||
open import Cubical.PathPrelude
|
open import Cubical
|
||||||
open import Agda.Primitive
|
open import Agda.Primitive
|
||||||
open import Data.Product
|
open import Data.Product
|
||||||
open import Data.Product renaming (proj₁ to fst ; proj₂ to snd)
|
open import Data.Product renaming (proj₁ to fst ; proj₂ to snd)
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
module Cat.Category.Bij where
|
module Cat.Category.Bij where
|
||||||
|
|
||||||
open import Cubical.PathPrelude hiding ( Id )
|
open import Cubical hiding ( Id )
|
||||||
open import Cubical.FromStdLib
|
open import Cubical.FromStdLib
|
||||||
|
|
||||||
module _ {A : Set} {a : A} {P : A → Set} where
|
module _ {A : Set} {a : A} {P : A → Set} where
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
module Cat.Category.Free where
|
module Cat.Category.Free where
|
||||||
|
|
||||||
open import Agda.Primitive
|
open import Agda.Primitive
|
||||||
open import Cubical.PathPrelude hiding (Path)
|
open import Cubical hiding (Path)
|
||||||
open import Data.Product
|
open import Data.Product
|
||||||
|
|
||||||
open import Cat.Category as C
|
open import Cat.Category as C
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
module Cat.Category.Pathy where
|
module Cat.Category.Pathy where
|
||||||
|
|
||||||
open import Level
|
open import Level
|
||||||
open import Cubical.PathPrelude
|
open import Cubical
|
||||||
|
|
||||||
{-
|
{-
|
||||||
module _ {ℓ ℓ'} {A : Set ℓ} {x : A}
|
module _ {ℓ ℓ'} {A : Set ℓ} {x : A}
|
||||||
|
|
|
@ -4,7 +4,7 @@ module Cat.Category.Properties where
|
||||||
|
|
||||||
open import Agda.Primitive
|
open import Agda.Primitive
|
||||||
open import Data.Product
|
open import Data.Product
|
||||||
open import Cubical.PathPrelude
|
open import Cubical
|
||||||
|
|
||||||
open import Cat.Category
|
open import Cat.Category
|
||||||
open import Cat.Functor
|
open import Cat.Functor
|
||||||
|
@ -58,6 +58,7 @@ module _ {ℓ : Level} {ℂ : Category ℓ ℓ} where
|
||||||
open Exponential
|
open Exponential
|
||||||
private
|
private
|
||||||
Catℓ = Cat ℓ ℓ
|
Catℓ = Cat ℓ ℓ
|
||||||
|
prshf = presheaf {ℂ = ℂ}
|
||||||
|
|
||||||
-- Exp : Set (lsuc (lsuc ℓ))
|
-- Exp : Set (lsuc (lsuc ℓ))
|
||||||
-- Exp = Exponential (Cat (lsuc ℓ) ℓ)
|
-- Exp = Exponential (Cat (lsuc ℓ) ℓ)
|
||||||
|
@ -68,25 +69,24 @@ module _ {ℓ : Level} {ℂ : Category ℓ ℓ} where
|
||||||
where
|
where
|
||||||
open HasExponentials (Cat.hasExponentials ℓ)
|
open HasExponentials (Cat.hasExponentials ℓ)
|
||||||
|
|
||||||
-- private
|
module _ {A B : ℂ .Object} (f : ℂ .Arrow A B) where
|
||||||
-- -- I need `Sets` to be a `Category ℓ ℓ` but it simlpy isn't.
|
:func→: : NaturalTransformation (prshf A) (prshf B)
|
||||||
-- Setz : Category ℓ ℓ
|
:func→: = (λ C x → (ℂ ._⊕_ f x)) , λ f₁ → funExt λ x → lem
|
||||||
-- Setz = {!Sets!}
|
where
|
||||||
-- :func*: : ℂ .Object → (Setz ⇑ Opposite ℂ) .Object
|
lem = (ℂ .isCategory) .IsCategory.assoc
|
||||||
-- :func*: A = {!!}
|
module _ {c : ℂ .Object} where
|
||||||
|
eqTrans : (:func→: (ℂ .𝟙 {c})) .proj₁ ≡ (Fun .𝟙 {o = prshf c}) .proj₁
|
||||||
|
eqTrans = funExt λ x → funExt λ x → ℂ .isCategory .IsCategory.ident .proj₂
|
||||||
|
eqNat : (i : I) → Natural (prshf c) (prshf c) (eqTrans i)
|
||||||
|
eqNat i f = {!!}
|
||||||
|
|
||||||
-- prsh = presheaf {ℂ = ℂ}
|
:ident: : (:func→: (ℂ .𝟙 {c})) ≡ (Fun .𝟙 {o = prshf c})
|
||||||
-- k = prsh {!!}
|
:ident: i = eqTrans i , eqNat i
|
||||||
-- :func*:' : ℂ .Object → Presheaf ℂ
|
|
||||||
-- :func*:' = prsh
|
|
||||||
-- module _ {A B : ℂ .Object} (f : ℂ .Arrow A B) where
|
|
||||||
-- open import Cat.Categories.Fun
|
|
||||||
-- :func→:' : NaturalTransformation (prsh A) (prsh B)
|
|
||||||
|
|
||||||
yoneda : Functor ℂ (Fun {ℂ = Opposite ℂ} {𝔻 = Sets {ℓ}})
|
yoneda : Functor ℂ (Fun {ℂ = Opposite ℂ} {𝔻 = Sets {ℓ}})
|
||||||
yoneda = record
|
yoneda = record
|
||||||
{ func* = presheaf {ℂ = ℂ}
|
{ func* = prshf
|
||||||
; func→ = {!!}
|
; func→ = :func→:
|
||||||
; ident = {!!}
|
; ident = :ident:
|
||||||
; distrib = {!!}
|
; distrib = {!!}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue