### On complete ordered fields

- 09 September 2019
- General, Constructive mathematics

Joel Hamkins advertised the following theorem on Twitter:

The standard proof posted by Joel has two parts:

- A complete ordered field is archimedean.
- Using the fact that the rationals are dense in an archimedean field, we construct an isomorphism between any two complete ordered fields.

The second step is constructive, but the first one is proved using excluded middle, as follows. Suppose $F$ is a complete ordered field. If $b \in F$ is an upper bound for the natural numbers, construed as a subset of $F$, then so $b - 1$, but then no element of $F$ can be the least upper bound of $\mathbb{N}$. By excluded middle, above every $x \in F$ there is $n \in \mathbb{N}$.

So I asked myself and the constructive news mailing list what the constructive status of the theorem is. But something was amiss, as Fred Richman immediately asked me to provide an example of a complete ordered field. Why would he do that, don't we have the MacNeille reals? After agreeing on definitions, Toby Bartels gave the answer, which I am taking the liberty to adapt a bit and present here. I am probably just reinventing the wheel, so if someone knows an original reference, please provide it in the comments.

The theorem holds constructively, but for a bizarre reason: if there exists a complete ordered field, then the law of excluded middle holds, and the standard proof is valid!

→ continue reading (11 comments)### What is algebraic about algebraic effects?

- 03 September 2019
- Publications, Programming languages

Published as `arXiv:1807.05923`

.

**Abstract:** This note recapitulates and expands the contents of a tutorial on the mathematical theory of algebraic effects and handlers which I gave at the Dagstuhl seminar 18172 "Algebraic effect handlers go mainstream". It is targeted roughly at the level of a doctoral student with some amount of mathematical training, or at anyone already familiar with algebraic effects and handlers as programming concepts who would like to know what they have to do with algebra. We draw an uninterrupted line of thought between algebra and computational effects. We begin on the mathematical side of things, by reviewing the classic notions of universal algebra: signatures, algebraic theories, and their models. We then generalize and adapt the theory so that it applies to computational effects. In the last step we replace traditional mathematical notation with one that is closer to programming languages.

### The blog moved from Wordpress to Jekyll

- 03 September 2019
- General

You may have noticed that lately I have had trouble with the blog. It was dying periodically because the backend database kept crashing. It was high time I moved away from Wordpress anyway, so I bit the bullet and ported the blog.

→ continue reading (4 comments)I gave a keynote talk "Derivations as Computations" at ICFP 2019.

- Slides with speaker notes: derivations-as-computations-icfp-2019.pdf
- Demo file: demo-icfp2019.m31

Here are the slides with speaker notes for the talk *What is an explicit bijection* which I gave at the 31st International Conference on Formal Power Series and Algebraic Combinatorics (FPSAC 2019). It was the "outsider" talk, where they invite someone to tell them something outside of their area.

So how does one sell homotopy type theory to people who are interested in combinatorics? That is a tough sell. I used my MathOverflow question "What is an explicit bijection?" to give a stand-up comedy introduction, after which I plunged into type theory. I am told I plunged a little too hard. For instance, people asked "why are we doing this" because I did not make it clear enough that we are trying to make a distinction between "abstractly exists" and "concretely constructed". Oh well, it's difficult to explain homotopy type theory in 50 minutes. Anyhow, I hope you can get something useful from the slides.

Download slides: what-is-an-explicit-bijection.pdf

Video recording of the lecture is now available.

→ continue reading (2 comments)### A course on homotopy (type) theory

- 08 May 2019
- Type theory, Teaching

This semester my colleague Jaka Smrekar and I are teaching a graduate course on homotopy theory and homotopy type theory. The first part was taught by Jaka and was a nice review of classical homotopy theory leading up to Quillen model categories. In the second part I am covering basic homotopy type theory.

The course materials are available at the GitHub repository `homotopy-type-theory-course`

. The homotopy type theory lectures are also recorded on video.

### How to implement type theory in an hour

- 25 August 2018
- Programming, Talks, Tutorial

I was purging the disk on my laptop of large files and found a video lecture which I forgot to publish. Here it is with some delay. I lectured on how to implement type theory at the School and Workshop on Univalent Mathematics in December 2017, at the University of Birmingham (UK).

You may visit the GitHub repository spartan-type-theory. There used to be a video, but I lost it.

→ continue reading (1 comment)### Algebraic effects and handlers at OPLSS 2018

- 22 July 2018
- Eff, Programming, Talks, Teaching

I have had the honor to lecture at the Oregon Programming Language Summer School 2018 on the topic of algebraic effects and handlers. The notes, materials and the lectures are available online:

- the GitHub repository with the course material
- the OPLSS lecture materials, including notes and video recordings of the lectures

I gave four lectures which started with the mathematics of algebraic theories, explained how they can be used to model computational effects, how we make a programming language out of them, and how to program with handlers.

→ continue reading (3 comments)### Spartan type theory

- 11 December 2017
- Type theory, Talks, Tutorial

The slides from the talk “Spartan type theory”, given at the School and Workshop on Univalent Mathematics.

**Download slides with speaker notes: Spartan Type Theory [PDF]**

### A modular formalization of type theory in Coq

- 29 May 2017
- General

Here are the slides for the talk I just gave at TYPES 2017 in Budapest. It is joint work with Philipp Haselwarter and Théo Winterhalter. The abstract for the talk is available online.

It describes a complete formalization of dependent type theory which allows you to turn various features of type theory on and off, and it proves several basic formal theorems.

**GitHub repository:** formal-type-theory

**Slides:** TYPES 2017 – A modular formalization of type theory in Coq [PDF]