html export trial
This commit is contained in:
parent
5e06eeb654
commit
b930e449e3
41
.markdown-preview.html
Normal file
41
.markdown-preview.html
Normal file
@ -0,0 +1,41 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui">
|
||||
<title>Markdown preview</title>
|
||||
<link rel="stylesheet" type="text/css" href="https://thomasf.github.io/solarized-css/solarized-dark.min.css">
|
||||
<script src="http://code.jquery.com/jquery-1.12.4.min.js"></script>
|
||||
|
||||
<script>
|
||||
(function($, undefined) {
|
||||
var socket = new WebSocket("ws://localhost:7379");
|
||||
socket.onopen = function() {
|
||||
console.log("Connection established.");
|
||||
socket.send("MDPM-Register-UUID: 95ef6ea9-905f-406e-ab19-bc8a950fbadb");
|
||||
};
|
||||
socket.onclose = function(event) {
|
||||
if (event.wasClean) {
|
||||
console.log('Connection closed gracefully.');
|
||||
} else {
|
||||
console.log('Connection terminated.');
|
||||
}
|
||||
console.log('Code: ' + event.code + ' reason: ' + event.reason);
|
||||
};
|
||||
socket.onmessage = function(event) {
|
||||
$("#markdown-body").html($(event.data).find("#content").html()).trigger('mdContentChange');
|
||||
var scroll = $(document).height() * ($(event.data).find("#position-percentage").html() / 100);
|
||||
$("html, body").animate({ scrollTop: scroll }, 600);
|
||||
};
|
||||
socket.onerror = function(error) {
|
||||
console.log("Error: " + error.message);
|
||||
};
|
||||
})(jQuery);
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<article id="markdown-body" class="markdown-body">
|
||||
<p>Markdown preview</p>
|
||||
</article>
|
||||
</body>
|
||||
</html>
|
0
.projectile
Normal file
0
.projectile
Normal file
4
HoTTGame.agda-lib
Normal file
4
HoTTGame.agda-lib
Normal file
@ -0,0 +1,4 @@
|
||||
name: HoTTGameLib
|
||||
include: .
|
||||
depend: cubical-0.3
|
||||
flags: --cubical --no-import-sorts
|
377
Plan.html
Normal file
377
Plan.html
Normal file
@ -0,0 +1,377 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-07-19 Mon 18:31 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>‎</title>
|
||||
<meta name="author" content="JLH KL" />
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style type="text/css">
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #ccc;
|
||||
box-shadow: 3px 3px 3px #eee;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: auto;
|
||||
padding-top: 1.2em;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
top: -10px;
|
||||
right: 10px;
|
||||
padding: 3px;
|
||||
border: 1px solid black;
|
||||
}
|
||||
pre.src:hover:before { display: inline; margin-top: 14px;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { width: 90%; }
|
||||
/*]]>*/-->
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
function CodeHighlightOn(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(null != target) {
|
||||
elem.classList.add("code-highlighted");
|
||||
target.classList.add("code-highlighted");
|
||||
}
|
||||
}
|
||||
function CodeHighlightOff(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(null != target) {
|
||||
elem.classList.remove("code-highlighted");
|
||||
target.classList.remove("code-highlighted");
|
||||
}
|
||||
}
|
||||
/*]]>*///-->
|
||||
// @license-end
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content">
|
||||
<div id="table-of-contents">
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgcb7a42f">Planning The HoTT Game</a>
|
||||
<ul>
|
||||
<li><a href="#org86f8abf">Aims of the HoTT Game</a></li>
|
||||
<li><a href="#org891bd67">Barriers</a></li>
|
||||
<li><a href="#org865979d">Format</a></li>
|
||||
<li><a href="#org7cb3a5d">Content</a></li>
|
||||
<li><a href="#org313668c">Debriefs</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcb7a42f" class="outline-2">
|
||||
<h2 id="orgcb7a42f">Planning The HoTT Game</h2>
|
||||
<div class="outline-text-2" id="text-orgcb7a42f">
|
||||
</div>
|
||||
<div id="outline-container-org86f8abf" class="outline-3">
|
||||
<h3 id="org86f8abf">Aims of the HoTT Game</h3>
|
||||
<div class="outline-text-3" id="text-org86f8abf">
|
||||
<ul class="org-ul">
|
||||
<li>To get mathematicians with no experience in proof verification interested in HoTT and able to use Agda for HoTT</li>
|
||||
<li>[?] Work towards showing an interesting result in HoTT</li>
|
||||
<li>Try to balance hiding cubical implementations whilst exploiting their advantages</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org891bd67" class="outline-3">
|
||||
<h3 id="org891bd67">Barriers</h3>
|
||||
<div class="outline-text-3" id="text-org891bd67">
|
||||
<ul class="org-ul">
|
||||
<li>HOLD Installation of emacs</li>
|
||||
<li>TODO Usage of emacs</li>
|
||||
<li>TODO General type theoretic foundations</li>
|
||||
<li>TODO Cubical type theory</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org865979d" class="outline-3">
|
||||
<h3 id="org865979d">Format</h3>
|
||||
<div class="outline-text-3" id="text-org865979d">
|
||||
<ul class="org-ul">
|
||||
<li>[?] Everything done in .agda files</li>
|
||||
<li>Partially written code with spaces for participants to fill in + answer files</li>
|
||||
<li>Levels set out with mini-bosses like in Nat Num Game, but with an overall boss</li>
|
||||
<li>[?] Side quests</li>
|
||||
<li>References to Harper lectures and HoTT book</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7cb3a5d" class="outline-3">
|
||||
<h3 id="org7cb3a5d">Content</h3>
|
||||
<div class="outline-text-3" id="text-org7cb3a5d">
|
||||
<ul class="org-ul">
|
||||
<li>emacs usage</li>
|
||||
<li>agda usage
|
||||
<ul class="org-ul">
|
||||
<li>basic commands (all covered in <a href="https://agda.readthedocs.io/en/v2.6.0.1/getting-started/quick-guide.html">https://agda.readthedocs.io/en/v2.6.0.1/getting-started/quick-guide.html</a>)</li>
|
||||
<li>recommend doom emacs</li>
|
||||
<li>implicit/explicit arguments</li>
|
||||
<li>holes and inferred types</li>
|
||||
<li><code>_+_</code> vs <code>plus__</code></li>
|
||||
</ul></li>
|
||||
<li>type theory basics
|
||||
<ul class="org-ul">
|
||||
<li>meta (judgemental/definitional) equality vs internal (propositional) equality
|
||||
<ul class="org-ul">
|
||||
<li>function extensionality</li>
|
||||
</ul></li>
|
||||
<li>type formation
|
||||
<ul class="org-ul">
|
||||
<li>inductive types
|
||||
<ul class="org-ul">
|
||||
<li>(side Q) positive and negative constructions of Pi/Sigma types</li>
|
||||
<li><code>data</code> and <code>record</code></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
<li>universes</li>
|
||||
<li>recursors / pattern matching</li>
|
||||
<li>(side Q) some natural number exercises as early evidence of being able to ’do maths’?</li>
|
||||
<li>different notions of equivalence
|
||||
<ol class="org-ol">
|
||||
<li>fibers contractable</li>
|
||||
<li>quasi-inverse</li>
|
||||
<li>zig-zag</li>
|
||||
</ol></li>
|
||||
<li>(side Q) types are infinity groupoids</li>
|
||||
<li>extra paths (univalence, fun ext, HITs)</li>
|
||||
</ul></li>
|
||||
<li>HoTT
|
||||
<ul class="org-ul">
|
||||
<li>basics
|
||||
<ol class="org-ol">
|
||||
<li>meta interval, identity type vs path type
|
||||
<ul class="org-ul">
|
||||
<li>mention identity type for compatability with other sources, but just use path type</li>
|
||||
</ul></li>
|
||||
<li>path type on other types</li>
|
||||
<li>dependent path type PathP vs path over</li>
|
||||
<li>univalence</li>
|
||||
<li>the (non)-issue of J in (Cu)TT</li>
|
||||
<li>isContr, isProp, isSet</li>
|
||||
<li>drawing pictures</li>
|
||||
</ol></li>
|
||||
<li>Structures, using univalence to transport
|
||||
<ol class="org-ol">
|
||||
<li>transporting results between isomorphic structures</li>
|
||||
</ol></li>
|
||||
<li>HITs, examples
|
||||
<ol class="org-ol">
|
||||
<li>the constructed interval</li>
|
||||
<li>booleans and covers</li>
|
||||
<li>S<sup>n</sup></li>
|
||||
<li>S<sup>1</sup> with 2 cw structures equiv</li>
|
||||
</ol></li>
|
||||
<li>Homotopy n-types
|
||||
<ol class="org-ol">
|
||||
<li>homotopy levels being closed under type constructions, in particular Set and ETT inside HoTT
|
||||
<ul class="org-ul">
|
||||
<li>in particular sigma types</li>
|
||||
</ul></li>
|
||||
</ol></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org313668c" class="outline-3">
|
||||
<h3 id="org313668c">Debriefs</h3>
|
||||
<div class="outline-text-3" id="text-org313668c">
|
||||
<ul class="org-ul">
|
||||
<li>2021 July 15; Homotopy n-types
|
||||
<ul class="org-ul">
|
||||
<li>watched (Harper) lecture 15 on Sets being closed under type formations ->- motivates showing in Agda Sets closed under Sigma.</li>
|
||||
<li>Harper does product case, claiming sigma case follows analogously,</li>
|
||||
<li>attempt proof in Cubical Agda but highly non-obvious how to use that fibers are Sets.</li>
|
||||
<li>difficulty is that PathP not in one fiber, but PathOver is, AND PathOver <-> PathP NON-obvious</li>
|
||||
<li>Easy to generalize situation to n-types being closed under Sigma (7.1.8 in HoTT book), we showed this assuming PathPIsoPath</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: JLH KL</p>
|
||||
<p class="date">Created: 2021-07-19 Mon 18:31</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
181
Plan.md
181
Plan.md
@ -1,72 +1,119 @@
|
||||
# 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
|
||||
- [?] Work towards showing an interesting result in HoTT
|
||||
- Try to balance hiding cubical implementations whilst exploiting their advantages
|
||||
# Table of Contents
|
||||
|
||||
## Barriers
|
||||
- HOLD Installation of emacs
|
||||
- TODO Usage of emacs
|
||||
- TODO General type theoretic foundations
|
||||
- TODO Cubical type theory
|
||||
1. [Aims of the HoTT Game](#org45da28b)
|
||||
1. [To get mathematicians with no experience in proof verification interested in HoTT and able to use Agda for HoTT](#org6c86aa4)
|
||||
2. [Work towards showing an interesting result in HoTT](#org5c370bf)
|
||||
3. [Try to balance hiding cubical implementations whilst exploiting their advantages](#org2cc236e)
|
||||
2. [Barriers](#org483c28e)
|
||||
1. [Installation of emacs](#orgfaee064)
|
||||
2. [Usage of emacs](#org4ec8663)
|
||||
3. [General type theoretic foundations](#orgd6212c3)
|
||||
4. [Cubical type theory](#orgdb053bf)
|
||||
|
||||
## 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? -> basic doom usage and command differences with nude agda.
|
||||
- implicit/explicit arguments
|
||||
- holes and inferred types
|
||||
- `_+_` and `plus__`
|
||||
- type theory basics
|
||||
- meta (judgemental/definitional) equality vs internal (propositional) equality
|
||||
- function extensionality
|
||||
- type formation
|
||||
- universes
|
||||
- recursors / pattern matching
|
||||
- (side Q) some natural number exercises as early evidence of being able to 'do maths'?
|
||||
- different notions of equivalence
|
||||
a) fibers contractable
|
||||
b) quasi-inverse
|
||||
c) zig-zag
|
||||
- (side Q) types are infinity groupoids
|
||||
- inductive types
|
||||
- (side Q) positive and negative constructions of Pi/Sigma types
|
||||
- `data` and `record`
|
||||
- HoTT
|
||||
- basics
|
||||
a) meta interval, identity type vs path type
|
||||
- mention identity type for compatability with other sources, but just use path type
|
||||
b) path type on other types
|
||||
c) dependent path type PathP vs path over
|
||||
d) univalence
|
||||
e) the (non)-issue of J in (Cu)TT
|
||||
f) isContr, isProp, isSet
|
||||
g) drawing pictures
|
||||
- Structures, univalence and transport
|
||||
a) transporting results between isomorphic structures
|
||||
- HITs, examples
|
||||
a) the constructed interval
|
||||
b) booleans and covers
|
||||
c) S^n
|
||||
d)
|
||||
- Homotopy n-types
|
||||
a) homotopy levels being closed under type constructions, in particular Set and ETT inside HoTT
|
||||
* in particular sigma types
|
||||
<a id="org45da28b"></a>
|
||||
|
||||
# Aims of the HoTT Game
|
||||
|
||||
|
||||
<a id="org6c86aa4"></a>
|
||||
|
||||
## To get mathematicians with no experience in proof verification interested in HoTT and able to use Agda for HoTT
|
||||
|
||||
|
||||
<a id="org5c370bf"></a>
|
||||
|
||||
## [?] Work towards showing an interesting result in HoTT
|
||||
|
||||
|
||||
<a id="org2cc236e"></a>
|
||||
|
||||
## Try to balance hiding cubical implementations whilst exploiting their advantages
|
||||
|
||||
|
||||
<a id="org483c28e"></a>
|
||||
|
||||
# Barriers
|
||||
|
||||
|
||||
<a id="orgfaee064"></a>
|
||||
|
||||
## HOLD Installation of emacs
|
||||
|
||||
|
||||
<a id="org4ec8663"></a>
|
||||
|
||||
## TODO Usage of emacs
|
||||
|
||||
|
||||
<a id="orgd6212c3"></a>
|
||||
|
||||
## TODO General type theoretic foundations
|
||||
|
||||
|
||||
<a id="orgdb053bf"></a>
|
||||
|
||||
## 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
|
||||
|
||||
<!– 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
|
||||
- \`\_+\_\` and \`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
|
||||
1. fibers contractable
|
||||
2. quasi-inverse
|
||||
3. zig-zag
|
||||
- (side Q) types are infinity groupoids
|
||||
- extra paths (univalence, fun ext, HITs)
|
||||
- HoTT
|
||||
- basics
|
||||
1. meta interval, identity type vs path type
|
||||
- mention identity type for compatability with other sources, but just use path type
|
||||
2. path type on other types
|
||||
3. dependent path type PathP vs path over
|
||||
4. univalence
|
||||
5. the (non)-issue of J in (Cu)TT
|
||||
6. isContr, isProp, isSet
|
||||
7. drawing pictures
|
||||
- Structures, using univalence to transport
|
||||
1. transporting results between isomorphic structures
|
||||
- HITs, examples
|
||||
1. the constructed interval
|
||||
2. booleans and covers
|
||||
3. S<sup>n</sup>
|
||||
4. S<sup>1</sup> with 2 cw structures equiv
|
||||
- Homotopy n-types
|
||||
1. homotopy levels being closed under type constructions, in particular Set and ETT inside HoTT
|
||||
- in particular sigma types
|
||||
|
||||
- 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
|
||||
|
||||
# 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
|
||||
|
46
Plan.org
46
Plan.org
@ -1,32 +1,36 @@
|
||||
# Planning The HoTT Game
|
||||
#+OPTIONS: num:nil
|
||||
#+AUTHOR: JLH
|
||||
#+AUTHOR: KL
|
||||
|
||||
## Aims of the HoTT Game
|
||||
- To get mathematicians with no experience in proof verification interested in HoTT and able to use Agda for HoTT
|
||||
- [?] Work towards showing an interesting result in HoTT
|
||||
- Try to balance hiding cubical implementations whilst exploiting their advantages
|
||||
* Planning The HoTT Game
|
||||
|
||||
## Barriers
|
||||
- HOLD Installation of emacs
|
||||
- TODO Usage of emacs
|
||||
- TODO General type theoretic foundations
|
||||
- TODO Cubical type theory
|
||||
** Aims of the HoTT Game
|
||||
- To get mathematicians with no experience in proof verification interested in HoTT and able to use Agda for HoTT
|
||||
- [?] Work towards showing an interesting result in HoTT
|
||||
- Try to balance hiding cubical implementations whilst exploiting their advantages
|
||||
|
||||
## 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
|
||||
** Barriers
|
||||
- HOLD Installation of emacs
|
||||
- TODO Usage of emacs
|
||||
- TODO General type theoretic foundations
|
||||
- TODO Cubical type theory
|
||||
|
||||
# Content
|
||||
<!-- listing topics we have pursued, NO ordering -->
|
||||
** 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? -> basic doom usage and command differences with nude agda.
|
||||
- recommend doom emacs
|
||||
- implicit/explicit arguments
|
||||
- holes and inferred types
|
||||
- `_+_` and `plus__`
|
||||
- src_elisp{(_+_)} and src_elisp{(plus__)}
|
||||
- type theory basics
|
||||
- meta (judgemental/definitional) equality vs internal (propositional) equality
|
||||
- function extensionality
|
||||
@ -64,7 +68,7 @@
|
||||
a) homotopy levels being closed under type constructions, in particular Set and ETT inside HoTT
|
||||
* in particular sigma types
|
||||
|
||||
# Debriefs
|
||||
** 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,
|
||||
|
Loading…
Reference in New Issue
Block a user