2. Homotopy Type Theory
The central new idea in homotopy type theory is that types can be regarded as
spaces in homotopy theory, or higher-dimensional groupoids in category
theory
.
We begin with a brief summary of the connection between homotopy theory
and higher-dimensional category theory.
In classical homotopy theory, a space X is a set of points equipped
with a topology,
and a path between points x and y is represented by
a continuous map p:[0,1]→X, where p(0)=x and p(1)=y.
This function can be thought of as giving a point in X at each
“moment in time”. For many purposes, strict equality of paths
(meaning, pointwise equal functions) is too fine a notion. For example,
one can define operations
of path concatenation (if p is a path from
x to y and q is a path from y to z, then the concatenation p\centerdotq is a path from x to z) and inverses
(p-1 is a path
from y to x). However, there are natural equations between these
operations that do not hold for strict equality: for example, the path
p\centerdotp-1 (which walks from x to y, and then back along the
same route, as time goes from 0 to 1) is not strictly equal to the
identity path (which stays still at x at all times).
The remedy is to consider a coarser notion of equality of paths called
homotopy
.
A homotopy between a pair of continuous maps f:X1→X2 and g:X1→X2 is a continuous map H:X1×[0,1]→X2 satisfying H(x,0)=f(x) and H(x,1)=g(x). In the specific case of paths p and q from x to y, a homotopy is a
continuous map H:[0,1]×[0,1]→X
such that H(s,0)=p(s) and H(s,1)=q(s) for all s∈[0,1].
In this case we require also that H(0,t)=x and H(1,t)=y for all t∈[0,1],
so that for each t the function H(–,t) is again a path from x to y;
a homotopy of this sort is said to be endpoint-preserving or rel endpoints.
Such a homotopy is the
image in X of a square that fills in the space between p and q,
which can be thought of as a “continuous deformation” between p and
q, or a 2-dimensional path between paths.
For example, because
p\centerdotp-1 walks out and back along the same route, you know that
you can continuously shrink p\centerdotp-1 down to the identity
path—it won’t, for example, get snagged around a hole in the space.
Homotopy is an equivalence relation, and operations such as
concatenation, inverses, etc., respect it. Moreover, the homotopy
equivalence
classes of loops at some point x0 (where two loops p
and q are equated when there is a based homotopy between them,
which is a homotopy H as above that additionally satisfies H(0,t)=H(1,t)=x0 for all t) form a group called the fundamental
group
. This group is an algebraic invariant of a space, which
can be used to investigate whether two spaces are homotopy
equivalent (there are continuous maps back and forth whose composites
are homotopic
to the identity), because equivalent
spaces have
isomorphic
fundamental groups.
Because homotopies are themselves a kind of 2-dimensional path, there is
a natural notion of 3-dimensional homotopy between homotopies,
and then homotopy between homotopies between homotopies, and so
on. This infinite tower of points, path, homotopies, homotopies between
homotopies, …, equipped with algebraic operations such as the
fundamental group, is an instance of an algebraic structure
called a
(weak) ∞-groupoid. An ∞-groupoid consists of a
collection
of objects, and then a collection of morphisms
between
objects, and then morphisms between morphisms, and so on,
equipped with some complex algebraic structure; a morphism at level k is called a k-morphism. Morphisms at each level
have identity, composition, and inverse operations, which are weak in
the sense that they satisfy the groupoid laws (associativity of
composition, identity is a unit for composition, inverses cancel) only
up to morphisms at the next level, and this weakness gives rise to
further structure
. For example, because associativity of composition of
morphisms p\centerdot(q\centerdotr)=(p\centerdotq)\centerdotr is itself a
higher-dimensional morphism, one needs an additional operation relating
various proofs of associativity: the various ways to reassociate p\centerdot(q\centerdot(r\centerdots)) into ((p\centerdotq)\centerdotr)\centerdots give rise to Mac
Lane’s pentagon
. Weakness also creates non-trivial interactions between
levels.
Every topological space X has a fundamental ∞-groupoid
whose
k-morphisms are the k-dimensional paths in X. The weakness of the
∞-groupoid corresponds directly to the fact that paths form a
group only up to homotopy, with the (k+1)-paths serving as the
homotopies between the k-paths. Moreover, the view of a space as an
∞-groupoid preserves enough aspects of the space to do homotopy theory:
the fundamental ∞-groupoid construction is adjoint to the
geometric realization of an ∞-groupoid as a space, and this
adjunction preserves homotopy theory (this is called the homotopy
hypothesis/theorem,
because whether it is a hypothesis
or theorem
depends on how you define ∞-groupoid). For example, you can
easily define the fundamental group of an ∞-groupoid, and if you
calculate the fundamental group of the fundamental ∞-groupoid of
a space, it will agree with the classical definition of fundamental
group of that space. Because of this correspondence, homotopy theory
and higher-dimensional category theory are intimately related.
Now, in homotopy type theory each type can be seen to have the structure
of an ∞-groupoid. Recall that for any type A, and any x,y:A,
we have a identity type x=Ay, also written 𝖨𝖽A(x,y)
or just x=y. Logically, we may think of elements of x=y as evidence
that x and y are equal, or as identifications of x with
y. Furthermore, type theory (unlike, say, first-order logic) allows us
to consider such elements of x=Ay also as individuals which
may be the subjects of further propositions
. Therefore, we can
iterate the identity type: we can form the type
p=(x=Ay)q of identifications between
identifications p,q, and the type
r=(p=(x=Ay)q)s, and so on. The structure
of this tower of identity types corresponds precisely to that of the
continuous paths and (higher) homotopies between them in a space, or an
∞-groupoid.
Thus, we will frequently refer to an element p:x=Ay as
a path
from x to y; we call x its start point
and y its end point.
Two paths p,q:x=Ay with the same start and end point are said to be parallel,
in which case an element r:p=(x=Ay)q can
be thought of as a homotopy, or a morphism between morphisms;
we will often refer to it as a 2-path
or a 2-dimensional path
Similarly, r=(p=(x=Ay)q)s is the type of
3-dimensional paths
between two parallel 2-dimensional paths, and so on. If the
type A is “set-like”, such as ℕ, these iterated identity types
will be uninteresting (see §3.1 (http://planetmath.org/31setsandntypes)), but in the
general case they can model non-trivial homotopy types.
An important difference between homotopy type theory and classical homotopy theory is that homotopy type theory provides a synthetic
description of spaces, in the following sense. Synthetic geometry is geometry
in the style of Euclid [1]: one starts from some basic notions (points and lines), constructions (a line connecting any two points), and axioms
(all right angles
are equal), and deduces consequences logically. This is in contrast with analytic
geometry
, where notions such as points and lines are represented concretely using cartesian coordinates
in ℝn—lines are sets of points—and the basic constructions and axioms are derived from this representation. While classical homotopy theory is analytic (spaces and paths are made of points), homotopy type theory is synthetic: points, paths, and paths between paths are basic, indivisible, primitive notions.
Moreover, one of the amazing things about homotopy type theory is that all of the basic constructions and axioms—all of the
higher groupoid structure—-arises automatically from the induction
principle for identity types.
Recall from §1.12 (http://planetmath.org/112identitytypes) that this says that if
-
•
for every x,y:A and every p:x=Ay we have a type D(x,y,p), and
-
•
for every a:A we have an element d(a):D(a,a,𝗋𝖾𝖿𝗅a),
then
-
•
there exists an element 𝗂𝗇𝖽=A(D,d,x,y,p):D(x,y,p) for every two elements x,y:A and p:x=Ay, such that 𝗂𝗇𝖽=A(D,d,a,a,𝗋𝖾𝖿𝗅a)≡d(a).
In other words, given dependent functions
D | :∏(x,y:A)∏(p:x=y)𝒰 | ||
d | :∏a:AD(a,a,𝗋𝖾𝖿𝗅a) |
there is a dependent function
𝗂𝗇𝖽=A(D,d):∏(x,y:A)∏(p:x=y)D(x,y,p) |
such that
𝗂𝗇𝖽=A(D,d,a,a,𝗋𝖾𝖿𝗅a)≡d(a) | (2.0.1) |
for every a:A. Usually, every time we apply this induction rule we will either not care about the specific function being defined, or we will immediately give it a different name.
Informally, the induction principle for identity types says that if we want to construct an object (or prove a statement) which depends on an inhabitant p:x=Ay of an identity type, then it suffices to perform the construction (or the proof) in the special case when x and y are the same (judgmentally) and p is the reflexivity element 𝗋𝖾𝖿𝗅x:x=x (judgmentally).
When writing informally, we may express this with a phrase such as “by induction, it suffices to assume…”.
This reduction
to the “reflexivity case” is analogous to the reduction to the “base case” and “inductive step” in an ordinary proof by induction on the natural numbers
, and also to the “left case” and “right case” in a proof by case analysis on a disjoint union
or disjunction
.
The “conversion rule” (2.0.1) is less familiar in the context of proof by induction on natural numbers, but there is an analogous notion in the related concept of definition by recursion.
If a sequence (an)n∈ℕ is defined by giving a0 and specifying an+1 in terms of an, then in fact the 0th term of the resulting sequence is the given one, and the given recurrence relation relating an+1 to an holds for the resulting sequence.
(This may seem so obvious as to not be worth saying, but if we view a definition by recursion as an algorithm for calculating values of a sequence, then it is precisely the process of executing that algorithm.)
The rule (2.0.1) is analogous: it says that if we define an object f(p) for all p:x=y by specifying what the value should be when p is 𝗋𝖾𝖿𝗅x:x=x, then the value we specified is in fact the value of f(𝗋𝖾𝖿𝗅x).
This induction principle endows each type with the structure of an ∞-groupoid, and each function between two types the structure of an ∞-functor between two such groupoids. This is interesting from a mathematical point view, because it gives a new way to work with
∞-groupoids. It is interesting from a type-theoretic point view, because it reveals new operations that are associated with each type and function. In the remainder of this chapter, we begin to explore this structure.
References
- 1 Euclid, Elements,Vols. 1–13 Elsevier,300 BC
Title | 2. Homotopy Type Theory |
---|---|
\metatable |