About Notes

Date: 27 April 2017

These are draft notes and are not intended to be a complete reference.

Foundations of Mathematics and Computation

Date: 12 December 2017

Axiomatic foundations

Foundations of Mathematics should tell us what are true mathematical statements. The last layer of this is the most familiar, the axioms that we know are true in advance. But before we use, or even state, these, we must

Type Theory topics

Date: 13 December 2018

This is a list of the main topics, sometimes with corresponding examples, for the type theory we study.

Identity Type Family

Date: 08 March 2019

The identity inductive type family is one of the most subtle parts of Type Theory, and is core of the link to topology. Here we clarify the definition and some basic properties. Note that there is no additional rule required for this - instead its rich structure depends on the power of induction for indexed types.

The definition

Fix a type $A$. We define $Id_A : A \to A \to \mathcal{U}$ as follows:

Definition: $Id_A : A \to A \to \mathcal{U}$ is the indexed inductive type family freely generated by

...

Languages and Limits of Mathematics and Computation

Date: 26 March 2019

In this note we discuss what we have illustrated that we can do - parsing and interpretation, and show how this leads to results about what is impossible.

The Setup

Functional languges

The languages we use are functional languages, i.e., langauges where functions are first-class objects, so we can have functions of functions and so on, and where definitions can be recursive. Indeed recursion is the only form of looping we have. Idris is certainly a functional langauge, but so is the HackyLang that we have created.

Note: We have extending HackyLang adding expressions for pairs...