There is an old idea in programming languages that the right way to solve a problem is to (1) design and implement a programming language in which solving the problem is easy, and then (2) write the program in that language. Some applications of homotopy type theory to the formalization of mathematics have this flavor: First, we design a type theory and study its semantics. Then, we use that type theory, including features such as the univalence axiom, higher inductives types, interval objects, and modalities, as a language where it is easy to talk about certain mathematical structures, which enables short formalizations of some theorems. In this talk, I will give a flavor for what this looks like, using examples drawn from homotopy, cubical, and cohesive type theories. I hope to stimulate a discussion about the pros and cons of factoring the formalization of mathematics through the design of new programming languages/logical systems.

The video for this talk should appear here if JavaScript is enabled.If it doesn't, something may have gone wrong with our embedded player.We'll get it fixed as soon as possible.