Mathematical Logic
Homotopy Type Theory
Homotopy type theory unifies mathematical proof and computation: a proof is a program, a type is a specification. Voevodsky's univalence axiom makes isomorphic structures identical - eliminating the distinction between 'equality' and 'isomorphism' in mathematics.
- Lean 4 / Mathlib4: 250,000 formally verified lemmas including the Fermat-Wiles theorem - a direct application of type theory based on HoTT principles
- Agda with cubical type theory (Agda Cubical): the first proof assistant with computational univalence, where pi_1(S^1) = Z is verified as a running program
- Synthetic algebraic geometry: formalization of Grothendieck schemes in HoTT is an active area in the UniMath library for Coq
- Dependent types in programming languages (Idris, Agda): direct application of Martin-Lof type theory for verifying programs with precise invariants
HoTT: Types, Paths, and Univalence
Vladimir Voevodsky in 2009 proposed the univalence axiom, combining Martin-Lof type theory with homotopy topology. The HoTT book (2013) was written jointly by 50 mathematicians in one year. Lean 4 (Mathlib4, 250,000 lemmas) and Coq use type theories based on the same principles.
What does the univalence axiom in HoTT state?
Univalence axiom: (A ~ B) ~ (A = B). Types that are equivalent as mathematical objects are identical as types. This allows replacing 'isomorphism' with 'equality' everywhere without losing rigor.
Higher Inductive Types and Truncations
Higher inductive types (HIT) allow defining spaces axiomatically: specifying points and paths between them as constructors. Truncations allow 'forgetting' path structure above a given level - turning an arbitrary type into a proposition, a set, or a groupoid.
HoTT opens up synthetic homotopy theory: classical theorems of algebraic topology (fundamental group of S^1, Hopf fibration theorem) are formally proved in Agda and Lean proof assistants without classical topology. Proof and theorem become a single computational object.
What is a higher inductive type (HIT)?
Higher inductive type (HIT): a type defined by constructors for both elements (points) and paths (equalities) between them. Example: S^1 = {base: S^1; loop: base = base}.
Итоги
- Identity type a =_A b: type of equality proofs, elements are paths; structure of an infinity-groupoid
- Univalence axiom: (A ~ B) ~ (A = B) - equivalence of types is equivalent to their equality in the universe
- Higher inductive types (HIT): path constructors allow axiomatic definitions of spaces (S^1, T^2, K(G,1))
- Transport: a path p: a = b automatically carries proofs of predicate P(a) to proofs of P(b)
- Propositional truncation ||A||_{-1}: turns a type into the proposition 'A is inhabited' without a specific element
- Cubical TT (Agda Cubical): univalence becomes computational via interval type I = {0, 1, seg}