md files removed and README.rst added
This commit is contained in:
parent
31d9f67af6
commit
d0dd1d79f1
@ -1,47 +0,0 @@
|
||||
Useful Doom Emacs Commands
|
||||
=====================
|
||||
|
||||
## Notation
|
||||
|
||||
- `SPC` means space bar
|
||||
- `C-` means hold down `Ctrl`
|
||||
- `M-` means hold down `Alt` for non-Macs and `Option` for Macs
|
||||
- `S-` means hold down `Shift`
|
||||
- `RET` means enter
|
||||
|
||||
Example `C-c C-l` in Agda files is `Ctrl-c`, let go, `Ctrl-l`
|
||||
|
||||
## General Doom Emacs usage
|
||||
|
||||
The 'ambient mode' is called __evil mode_ and follows
|
||||
vim-like bindings.
|
||||
The following commands are for _evil mode_:
|
||||
|
||||
- `SPC h b b` to look for bindings
|
||||
- `SPC f f` to find files. can use `TAB` for auto-completing paths
|
||||
- `h j k l` for left down up right
|
||||
- `SPC b k` to kill 'buffers'
|
||||
- `i` to go into __insert mode_ (in insert mode you can insert text)
|
||||
and `ESC` or `C-g` to go back to _evil mode_.
|
||||
- `C-_` to undo
|
||||
|
||||
For beta users, to get the latest patch
|
||||
|
||||
- do `SPC g g` for "git status"
|
||||
- then `F` for pull (whilst in "git status")
|
||||
|
||||
|
||||
## Agda usage
|
||||
|
||||
To insert text in the `agda` file use `i` to enter _insert mode_.
|
||||
|
||||
- `C-c C-l` loads the file
|
||||
- `C-c C-,` checks goal of the hole your cursor is in.
|
||||
- `C-c C-SPC` fills hole your cursor is in.
|
||||
- `C-c C-r` refines the hole your cursor is in.
|
||||
- `C-c C-c` does cases on terms in the hole your cursor is in.
|
||||
- `C-c C-d` used for checking types of terms
|
||||
- `C-c C-n` used for 'reducing' terms to their 'simplest form'
|
||||
- `C-c C-.` does `C-c C-,` and `C-c C-d`
|
||||
- `M-SPC c d` looks up the definition of the thing you are hovering over.
|
||||
|
117
Plan.org
117
Plan.org
@ -1,117 +0,0 @@
|
||||
#+OPTIONS: num:nil
|
||||
#+AUTHOR: JLH
|
||||
#+AUTHOR: KL
|
||||
|
||||
* Planning The HoTT Game
|
||||
|
||||
** Aims of the HoTT Game
|
||||
- To get mathematicians with no experience in proof verification interested in HoTT and able to use Agda for HoTT
|
||||
- Big-ass-boss: Loop space of S^1 = Z
|
||||
- Try to balance hiding cubical implementations whilst exploiting their advantages
|
||||
|
||||
** Barriers
|
||||
- HOLD Installation of emacs
|
||||
- TODO Usage of emacs
|
||||
- TODO General type theoretic foundations
|
||||
- TODO Cubical type theory
|
||||
|
||||
** Format
|
||||
- [?] Everything done in .agda files
|
||||
- Partially written code with spaces for participants to fill in + answer files
|
||||
- Levels set out with mini-bosses like in Nat Num Game, but with an overall boss
|
||||
- [?] Side quests
|
||||
- References to Harper lectures and HoTT book
|
||||
|
||||
** Content
|
||||
# listing topics we have pursued, NO ordering
|
||||
|
||||
- emacs usage
|
||||
- agda usage
|
||||
+ basic commands (all covered in https://agda.readthedocs.io/en/v2.6.0.1/getting-started/quick-guide.html)
|
||||
+ recommend doom emacs
|
||||
+ implicit/explicit arguments
|
||||
+ holes and inferred types
|
||||
+ =_+_= vs =plus__=
|
||||
- type theory basics
|
||||
+ meta (judgemental/definitional) equality vs internal (propositional) equality
|
||||
- function extensionality
|
||||
+ type formation
|
||||
- inductive types
|
||||
+ (side Q) positive and negative constructions of Pi/Sigma types
|
||||
+ =data= and =record=
|
||||
+ universes
|
||||
+ recursors / pattern matching
|
||||
+ (side Q) some natural number exercises as early evidence of being able to 'do maths'?
|
||||
+ different notions of equivalence
|
||||
- fibers contractable
|
||||
- quasi-inverse
|
||||
- zig-zag
|
||||
+ (side Q) types are infinity groupoids
|
||||
+ extra paths (univalence, fun ext, HITs)
|
||||
- HoTT
|
||||
+ basics
|
||||
- meta interval, identity type vs path type
|
||||
+ mention identity type for compatability with other sources, but just use path type
|
||||
- path type on other types
|
||||
- dependent path type PathP vs path over
|
||||
- univalence
|
||||
- the (non)-issue of J in (Cu)TT
|
||||
- =isContr, isProp, isSet=
|
||||
- drawing pictures
|
||||
+ Structures, using univalence to transport
|
||||
- transporting results between isomorphic structures
|
||||
+ HITs, examples
|
||||
- the constructed interval
|
||||
- booleans and covers
|
||||
- =S^n=
|
||||
- =S^1= with 2 cw structures equiv
|
||||
+ Homotopy n-types
|
||||
- homotopy levels being closed under type constructions, in particular Set and ETT inside HoTT
|
||||
+ in particular sigma types
|
||||
|
||||
** Debriefs
|
||||
- 2021 July 15; Homotopy n-types
|
||||
+ watched (Harper) lecture 15 on Sets being closed under type formations ->- motivates showing in Agda Sets closed under Sigma.
|
||||
+ Harper does product case, claiming sigma case follows analogously,
|
||||
+ attempt proof in Cubical Agda but highly non-obvious how to use that fibers are Sets.
|
||||
+ difficulty is that PathP not in one fiber, but PathOver is, AND PathOver <-> PathP NON-obvious
|
||||
+ Easy to generalize situation to n-types being closed under Sigma (7.1.8 in HoTT book), we showed this assuming PathPIsoPath
|
||||
|
||||
** Mixolydian Bosses
|
||||
|
||||
+ universe classifies bundles
|
||||
|
||||
** SuperUltraMegaHyperLydianBosses
|
||||
+ natural number object unique and `_+_` unique on any nat num obj
|
||||
+ nat num obj unique
|
||||
+ `_+_` unique on a model of nat num obj
|
||||
- axiomatize addition on naturals
|
||||
- naturals is a set
|
||||
- fun extensionality
|
||||
- contractability
|
||||
- propositions
|
||||
- propositions closed under sigma types
|
||||
+ univalence
|
||||
|
||||
** Top 100 (set theoretic) misconceptions about type theory
|
||||
+ Propositions
|
||||
+ Proof relevance
|
||||
+ Propositions are _inside the theory_
|
||||
+ Membership not the same as :
|
||||
+ typing is unique (doesn't make sense to intersect two types)
|
||||
+
|
||||
+ Though set theory had fewer axioms type theory's assumptions are
|
||||
more intuitive (hence intionistic type theory).
|
||||
There is no fiddling about with membership to construct things
|
||||
e.g. cartesian product
|
||||
+ 'we cannot use LEM' ~ not assuming law of excluded middle _globally_ means
|
||||
type theory theorems are stronger!
|
||||
|
||||
** Fundamental group of S1
|
||||
+ def of S¹
|
||||
+ a bunch of stuff about ℤ
|
||||
+ isoToPath to make ℤ ≡ ℤ
|
||||
+ subst
|
||||
+ funExt
|
||||
+ set-truncation
|
||||
+ paths as equality
|
71
README.md
71
README.md
@ -1,71 +0,0 @@
|
||||
The HoTT Game
|
||||
=============
|
||||
|
||||
The Homotopy Type Theory (HoTT) Game is a project written by mathematicians
|
||||
for mathematicians interested in HoTT and no experience in proof verification,
|
||||
with the aim of introducing Cubical Agda as a tool for
|
||||
trying out mathematics in HoTT.
|
||||
This page will help you get the Game working for you.
|
||||
|
||||
## Installing Agda and the Cubical Agda library
|
||||
|
||||
Our Game is in Agda, which can be installed following instructions
|
||||
[on their site](
|
||||
https://agda.readthedocs.io/en/latest/getting-started/installation.html).
|
||||
It is recommended that you use Agda in the text editor
|
||||
[emacs](
|
||||
https://www.gnu.org/software/emacs/tour/index.html),
|
||||
in particular
|
||||
[Doom Emacs](https://github.com/hlissner/doom-emacs),
|
||||
if you can't be bothered to do a bunch of configuration.
|
||||
|
||||
Once you have Emacs and Agda, get the [Cubical Library](
|
||||
https://github.com/agda/cubical) (version 0.3)
|
||||
and make sure Agda knows where your cubical library is
|
||||
by following instructions on the [library management page](
|
||||
https://agda.readthedocs.io/en/latest/tools/package-system.html?highlight=library%20management).
|
||||
In short: locate (or create) your `libraries` file and add a line
|
||||
```
|
||||
the-directory/cubical.agda-lib
|
||||
```
|
||||
to it, where `the-directory` is the location of `cubical.agda-lib` on your computer.
|
||||
|
||||
Get the HoTT Game by [cloning this repository](
|
||||
https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository)
|
||||
into a folder and then making sure that Agda knows where the HoTT Game is
|
||||
by adding a line
|
||||
```
|
||||
the-directory/HoTTGameLib.agda
|
||||
```
|
||||
to your `libraries` file as above.
|
||||
|
||||
Try opening `Trinitarianism/Quest0.agda` in Emacs
|
||||
and do `Ctrl-c Ctrl-l`.
|
||||
Some text should be highlighted, and any `?` should turn into `{ }`.
|
||||
|
||||
## Where to start?
|
||||
|
||||
You can start with `0Trinitarianism` if you are interested in
|
||||
how logic, type theory and category theory come together
|
||||
as different ways to view the same thing.
|
||||
If you are more interested in homotopy theory,
|
||||
try `1FundamentalGroup` where we show that the
|
||||
fundamental group of `S¹` is `ℤ`.
|
||||
|
||||
## How to start?
|
||||
|
||||
To start with `1FundamentalGroup` (for example),
|
||||
find the GitHub page [`1FundamentalGroup/Quest0Part0.md`](
|
||||
https://github.com/thehottgame/TheHoTTGame/blob/main/1FundamentalGroup/Quest0Part0.md
|
||||
)
|
||||
and follow the instructions there,
|
||||
then trying the following files in the same directory.
|
||||
Open up the corresponding `.agda` file in `emacs` to
|
||||
follow along with the instructions in the quests.
|
||||
|
||||
## Emacs issues
|
||||
|
||||
If you can't figure out `emacs` or forget some command, then
|
||||
try consulting our guide for [basic Emacs commands](
|
||||
https://github.com/thehottgame/TheHoTTGame/blob/main/EmacsCommands.md
|
||||
).
|
16
README.rst
Normal file
16
README.rst
Normal file
@ -0,0 +1,16 @@
|
||||
.. _theHoTTGame:
|
||||
|
||||
*************
|
||||
The HoTT Game
|
||||
*************
|
||||
|
||||
The Homotopy Type Theory (HoTT) Game is a project written by mathematicians
|
||||
for mathematicians interested in HoTT and no experience in proof verification,
|
||||
with the aim of introducing
|
||||
`cubical agda <https://agda.readthedocs.io/en/v2.6.0/language/cubical.html>`_
|
||||
as a tool for trying out mathematics in HoTT.
|
||||
This page will help you get the Game working for you.
|
||||
|
||||
For instructions on how to get started with the HoTT Game,
|
||||
visit
|
||||
`this page <https://findtherightpath.readthedocs.io/en/latest/>`_.
|
Loading…
Reference in New Issue
Block a user