lean2/hott/book.md

12 KiB
Raw Blame History

HoTT Book in Lean

This file lists which sections of the HoTT book have been covered in the Lean HoTT library.

Summary

The rows indicate the chapters, the columns the sections.

  • +: completely formalized
  • ¼, ½ or ¾: partly formalized
  • -: not formalized
  • .: no formalizable content
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Ch 1 . . . . + + + + + . + +
Ch 2 + + + + . + + + + + + + + + +
Ch 3 + - + + ½ + + - ½ . +
Ch 4 - + - + . + - - +
Ch 5 - . - - - . . ½
Ch 6 . + + + + ½ ½ ¼ ¼ ¼ ¾ - .
Ch 7 + + + - - - -
Ch 8 ¾ - - - - - - - - -
Ch 9 ¾ + ¼ ¼ ½ ½ - - -
Ch 10 - - - - -
Ch 11 - - - - - -

Things not in the book:

  • One major difference is that in this library we heavily use pathovers, so we need less theorems about transports, but instead corresponding theorems about pathovers. These are in init.pathover. For higher paths there are squares, squareovers, and the rudiments of cubes and cubeovers.

Chapter 1: Type theory

  • 1.1 (Type theory versus set theory): no formalizable content.
  • 1.2 (Function types): no formalizable content. Related: init.function
  • 1.3 (Universes and families): no formalizable content (Lean also has a hierarchy of universes Type.{i} : Type.{i + 1}, but they are not cumulative).
  • 1.4 (Dependent function types (Π-types)): no formalizable content. Related: init.function
  • 1.5 (Product types): declaration in init.datatypes, notation in init.types
  • 1.6 (Dependent pair types (Σ-types)): declaration in init.datatypes, notation in init.types
  • 1.7 (Coproduct types): declaration in init.datatypes, notation in init.types
  • 1.8 (The type of booleans): declaration in init.datatypes, notation in init.bool
  • 1.9 (The natural numbers): init.nat (declaration in init.datatypes)
  • 1.10 (Pattern matching and recursion): no formalizable content (we can use the "pattern matching" notation using the function definition package, which are reduced to applying recursors).
  • 1.11 (Propositions as types): some logic is in init.logic and init.types.
  • 1.12 (Identity types): declaration in init.datatypes, more in init.logic

Chapter 2: Homotopy type theory

Chapter 3: Sets and logic

  • 3.1 (Sets and n-types): init.trunc
  • 3.2 (Propositions as types?): not formalized
  • 3.3 (Mere propositions): init.trunc and types.hprop_trunc (Lemma 3.3.5).
  • 3.4 (Classical vs. intuitionistic logic): decidable is defined in init.logic
  • 3.5 (Subsets and propositional resizing): Lemma 3.5.1 is subtype_eq in types.sigma, we don't have propositional resizing as axiom yet.
  • 3.6 (The logic of mere propositions): in the corresponding file in the types folder. (is_trunc_prod is defined in types.sigma)
  • 3.7 (Propositional truncation): init.hit and hit.trunc
  • 3.8 (The axiom of choice): not formalized
  • 3.9 (The principle of unique choice): Lemma 9.3.1 is equiv_trunc in hit.trunc, Lemma 9.3.2 is not formalized
  • 3.10 (When are propositions truncated?): no formalizable content
  • 3.11 (Contractibility): init.trunc (mostly), types.pi (Lemma 3.11.6), types.trunc (Lemma 3.11.7), types.sigma (Lemma 3.11.9)

Chapter 4: Equivalences

  • 4.1 (Quasi-inverses): not formalized
  • 4.2 (Half adjoint equivalences): init.equiv and types.equiv
  • 4.3 (Bi-invertible maps): not formalized
  • 4.4 (Contractible fibers): types.equiv
  • 4.5 (On the definition of equivalences): no formalizable content
  • 4.6 (Surjections and embeddings): types.function
  • 4.7 (Closure properties of equivalences): not formalized
  • 4.8 (The object classifier): not formalized
  • 4.9 (Univalence implies function extensionality): init.funext

Chapter 5: Induction

  • 5.1 (Introduction to inductive types): not formalized
  • 5.2 (Uniqueness of inductive types): no formalizable content
  • 5.3 (W-types): related: types.W
  • 5.4 (Inductive types are initial algebras): not formalized
  • 5.5 (Homotopy-inductive types): not formalized
  • 5.6 (The general syntax of inductive definitions): no formalizable content
  • 5.7 (Generalizations of inductive types): no formalizable content. Lean has inductive families and mutual induction, but no induction-induction or induction-recursion
  • 5.8 (Identity types and identity systems): 5.8.1-5.8.4 not formalized, 5.8.5 in init.ua and 5.8.6 in init.funext

Chapter 6: Higher inductive types

Chapter 7: Homotopy n-types

Chapter 8: Homotopy theory

  • 8.1 (π_1(S^1)): hit.circle (only one of the proofs)
  • 8.2 (Connectedness of suspensions): not formalized
  • 8.3 (πk≤n of an n-connected space and π_{k<n}(S^n)): not formalized
  • 8.4 (Fiber sequences and the long exact sequence): not formalized
  • 8.5 (The Hopf fibration): not formalized
  • 8.6 (The Freudenthal suspension theorem): not formalized
  • 8.7 (The van Kampen theorem): not formalized
  • 8.8 (Whiteheads theorem and Whiteheads principle): not formalized
  • 8.9 (A general statement of the encode-decode method): not formalized
  • 8.10 (Additional Results): not formalized

Chapter 9: Category theory

Every file is in the folder algebra.category

Chapter 10: Set theory

Not formalized, and parts may be unformalizable because Lean lacks induction-recursion.

Chapter 11: Real numbers

  • 11.1 (The field of rational numbers): To be ported from the standard library.

The rest is not formalized, and parts may be unformalizable because Lean lacks induction-induction