A very brief introduction to 
Homotopy Type Theory
The Institute for Advanced Study in Princeton, in my opinion, has ruined more good scientists than any institution has 
created, judged by what they did before they came and judged by what they did after. Not that they weren't good 
afterwards, but they were superb before they got there and were only good afterwards. 
-- Richard Hamming
Vladimir Voevodsky 
• Cutting-edge Math so complex probability 
of mistake in any given proof very high 
• Automated proof checking the present 
and future of Math 
• Video: 
Univalent Foundations: New 
Foundations of Mathematics 
http://video.ias.edu/node/6395
Frege  Martin-Löf  Voevodsky 
• Gottlob Frege, active 1879 – 1923 
works in logic, foundations of arithmetic, and philosophy 
• Per Martin-Löf 
An Intuitionistic Theory of Types, 1975 
• Vladimir Voevodsky 
A very short note on the homotopy λ-calculus, 2006 
• Institute for Advanced Study 
Homotopy Type Theory: Univalent Foundation of Mathematics, 2013 
a.k.a. The HoTT Book
Every-thing has a type 
• Objects are types 
• Propositions are types 
• Functions are types 
• Proofs are types
A theory of rules and no axioms 
(For our purposes. There are 2 axioms in higher homotopy type theory) 
• “axioms” appear when we introduce concrete types 
• The game is to manipulate concrete types and elements with the rules 
• i.e. Type Theory provides an algebra over types
a:A ”a is of type A ” 
• Type theory is a deductive system based on 2 forms of judgment 
• ”a is of type A ” is the most basic form of judgment 
• Construction of a proposition is a proof in intuitionistic mathematics
Equality has special cases 
• Judgmental equality a :≡ b is a “witness” 
• p : a =A b is a proposition (and of course a type) 
• p-1 : b =A a is a different type (we will come back to this)
Universes and families 
• Universe : a type whose elements are types 
• U0 : U1 : U2 : … 
• Every type belongs to some universe A : Ui 
• A family of types: type B varying over a type A 
B : A  U 
indicates the universe U is the codomain 
note this is a simple function signature
0 : U the type that is not 
• False, ⊥, bottom 
• You cannot construct it 
• Hence it does not exist. Anything can derive from it. 
ex falso quodlibit
1 : U unit 
• True, ⊤, top, () 
• Always the same 
one-valued logic 
• C family of languages oddly names this type “void”
2 : U boolean 
• 2-valued logic 
highest n-valued fully consistent logic 
• Can be derived as a special case of coproduct / summation type
Infinite types 
• E.g. Natural numbers 
which have a special place in practical application 
• Defined recursively
A  B function type 
• Signature matters to define type 
not the body of function
Exercise: 
• Construct a theorem of function equivalence 
( f = g )
Exercise: 
• Construct a theorem of function equivalence 
( f = g ) 
• Trick exercise…we will come back to this
A + B : U Coproduct type 
• a.k.a. Summation type 
F# discriminated union 
• To construct the function A + B  C 
requires the functions 
A  C 
B  C
A x B : U Product type 
• Tuple, Cartesian product
Introducing types 
• Formation rule 
e.g. you can form A  B when A is a type and B is a type 
• Introduction rule (a.k.a. constructor) 
e.g. functions have one constructor, λ-abstraction 
• Elimination rule 
how to use elements of type, e.g. function application 
• Uniqueness principle (optional, a.k.a. η-expansion) 
unique maps into and out of type (e.g. coproduct)
Lots of other types 
• E.g. Lists 
which of course are defined recursively 
• Not so important from the standpoint of theory 
because we can construct them from what we have…
EXCEPT…
Π(x:A)B(x) Dependent Functions 
• Type of output depends on element of input 
not the type of input 
hence, not just a “parameterized function” 
• Normal function is a special case 
resulting type family a constant type
Σ(x:A)B(x) Dependent pair type 
• Second element depends on a dependently typed function on first 
• Example: 
1, 10 
2, “I am a string”
Logical operations, represented in types 
• True 1 
• False 0 
• A and B A x B 
• A or B A + B 
• If A then B A  B 
• A if and only if B (A  B) x (B  A) 
• Not A A  0
Predicate logic in type theory 
• For all x 
∀x corresponds to Π(x:A)P(x) 
• There exists x 
∃x corresponds to Σ(x:A)P(x)
Connection to computability 
• Constructive logic confines itself to that which can be effectively 
constructed by computation 
• It does not include Law of Excluded Middle or Proof by Contradiction 
• In general the tautologies of classical logic involving NOT cannot be 
constructed
IdA(a,b) Indentity function 
• Has special importance in type theory 
IdA(a,b) type representing proposition of equality 
p : a =A b 
a = b (shorthand) 
refl : Π(a:A)(a=Aa)reflexivity 
• Homotopy Type Theory – 
there is a path between equals 
reflexivity is an infinitesimally short path from self to self 
paths are types (inverse path is not the same type)
Fundamental “Mathy” Properties of Path 
• Reflexivity 
constant path, e.g. identity 
• Symmetry 
paths can be reversed (a =A b)  (b =A a) 
• Transitivity 
concatenation of paths
Operations on paths 
• Identity (fundamental compositional element) 
• Associativity 
(p ∙ q) ∙ r = p ∙ (q ∙ r) 
• Transitivity 
p ∙ p-1 = Id(p)
…but equalities are proofs 
• So paths are proofs p : x =A y 
• The equivalence of 2 paths (proofs) is called a homotopy 
• And equality of proofs can have proofs 
p' : p =x=Ay q Paths between paths (i.e. equality of paths) 
• And these are all types 
• It’s turtles all the way down (equivalences of paths)
Exercise: 
• Why do paths have direction?
Exercise: 
• Why do paths have direction? 
• A space X is a set of points with a topology 
• x =A y can be seen as giving a point in X at each “moment in time” 
• More intuitively, proofs are directional
The Fundamental Theorem of Type Theory 
• Induction principal for identity types 
• Similar to 2 step number theory induction (prove base case, prove a step) 
• Except there is only one step to prove 
• To prove a statement (or construct an object) that depends on path 
identity, 
p: x = A y 
it suffices to prove (or construct) the special case where x and y are the 
same. p is thus the reflexivity element. 
• “by induction it suffices to assume…”
Axiom of function extensionality 
• (f = g) ⋍ Π(x:A)(f(x) =B(x) g(x)) 
2 functions that are pointwise equal, would be equal 
a path in a function space would be a continuous homotopy 
…but basic type theory is insufficient to prove this 
• Axiom: there is a certain function 
happly : (f = g)  Π(x:A)(f(x) = B(x)g(x))
Exercise: 
• Why is function extensionality an axiom?
Axiom of univalence 
• Lemma: for types A,B : U, there is a certain function 
idtoeqv : (A =U B)  (A ⋍ B) 
• Axiom (univalence): for any A,B : U, the function idtoeqv is 
an equivalence, 
(A =U B) ⋍ (A ⋍ B)
More exercises (from the Hott Book): 
• 2.4 – Define, by induction on n, a general notion of n-dimensional 
path in a type A, simultaneously with the type of boundaries for such 
paths.
More exercises (from the Hott Book): 
• 1.15 – Show the indiscernibility of identicals follows from path 
induction.
More exercises (from the Hott Book): 
• 1.14 – Why do the induction principles for identity types not allow us 
to construct a function f : Π(x:A) Π(p:x=x)(p= reflx) 
with the defining equation f(x, reflx) :≡ reflreflx 
?

Intoduction to Homotopy Type Therory

  • 1.
    A very briefintroduction to Homotopy Type Theory
  • 2.
    The Institute forAdvanced Study in Princeton, in my opinion, has ruined more good scientists than any institution has created, judged by what they did before they came and judged by what they did after. Not that they weren't good afterwards, but they were superb before they got there and were only good afterwards. -- Richard Hamming
  • 3.
    Vladimir Voevodsky •Cutting-edge Math so complex probability of mistake in any given proof very high • Automated proof checking the present and future of Math • Video: Univalent Foundations: New Foundations of Mathematics http://video.ias.edu/node/6395
  • 4.
    Frege  Martin-Löf Voevodsky • Gottlob Frege, active 1879 – 1923 works in logic, foundations of arithmetic, and philosophy • Per Martin-Löf An Intuitionistic Theory of Types, 1975 • Vladimir Voevodsky A very short note on the homotopy λ-calculus, 2006 • Institute for Advanced Study Homotopy Type Theory: Univalent Foundation of Mathematics, 2013 a.k.a. The HoTT Book
  • 6.
    Every-thing has atype • Objects are types • Propositions are types • Functions are types • Proofs are types
  • 7.
    A theory ofrules and no axioms (For our purposes. There are 2 axioms in higher homotopy type theory) • “axioms” appear when we introduce concrete types • The game is to manipulate concrete types and elements with the rules • i.e. Type Theory provides an algebra over types
  • 8.
    a:A ”a isof type A ” • Type theory is a deductive system based on 2 forms of judgment • ”a is of type A ” is the most basic form of judgment • Construction of a proposition is a proof in intuitionistic mathematics
  • 9.
    Equality has specialcases • Judgmental equality a :≡ b is a “witness” • p : a =A b is a proposition (and of course a type) • p-1 : b =A a is a different type (we will come back to this)
  • 10.
    Universes and families • Universe : a type whose elements are types • U0 : U1 : U2 : … • Every type belongs to some universe A : Ui • A family of types: type B varying over a type A B : A  U indicates the universe U is the codomain note this is a simple function signature
  • 11.
    0 : Uthe type that is not • False, ⊥, bottom • You cannot construct it • Hence it does not exist. Anything can derive from it. ex falso quodlibit
  • 12.
    1 : Uunit • True, ⊤, top, () • Always the same one-valued logic • C family of languages oddly names this type “void”
  • 13.
    2 : Uboolean • 2-valued logic highest n-valued fully consistent logic • Can be derived as a special case of coproduct / summation type
  • 14.
    Infinite types •E.g. Natural numbers which have a special place in practical application • Defined recursively
  • 15.
    A  Bfunction type • Signature matters to define type not the body of function
  • 16.
    Exercise: • Constructa theorem of function equivalence ( f = g )
  • 17.
    Exercise: • Constructa theorem of function equivalence ( f = g ) • Trick exercise…we will come back to this
  • 18.
    A + B: U Coproduct type • a.k.a. Summation type F# discriminated union • To construct the function A + B  C requires the functions A  C B  C
  • 19.
    A x B: U Product type • Tuple, Cartesian product
  • 20.
    Introducing types •Formation rule e.g. you can form A  B when A is a type and B is a type • Introduction rule (a.k.a. constructor) e.g. functions have one constructor, λ-abstraction • Elimination rule how to use elements of type, e.g. function application • Uniqueness principle (optional, a.k.a. η-expansion) unique maps into and out of type (e.g. coproduct)
  • 21.
    Lots of othertypes • E.g. Lists which of course are defined recursively • Not so important from the standpoint of theory because we can construct them from what we have…
  • 22.
  • 23.
    Π(x:A)B(x) Dependent Functions • Type of output depends on element of input not the type of input hence, not just a “parameterized function” • Normal function is a special case resulting type family a constant type
  • 24.
    Σ(x:A)B(x) Dependent pairtype • Second element depends on a dependently typed function on first • Example: 1, 10 2, “I am a string”
  • 25.
    Logical operations, representedin types • True 1 • False 0 • A and B A x B • A or B A + B • If A then B A  B • A if and only if B (A  B) x (B  A) • Not A A  0
  • 26.
    Predicate logic intype theory • For all x ∀x corresponds to Π(x:A)P(x) • There exists x ∃x corresponds to Σ(x:A)P(x)
  • 27.
    Connection to computability • Constructive logic confines itself to that which can be effectively constructed by computation • It does not include Law of Excluded Middle or Proof by Contradiction • In general the tautologies of classical logic involving NOT cannot be constructed
  • 28.
    IdA(a,b) Indentity function • Has special importance in type theory IdA(a,b) type representing proposition of equality p : a =A b a = b (shorthand) refl : Π(a:A)(a=Aa)reflexivity • Homotopy Type Theory – there is a path between equals reflexivity is an infinitesimally short path from self to self paths are types (inverse path is not the same type)
  • 29.
    Fundamental “Mathy” Propertiesof Path • Reflexivity constant path, e.g. identity • Symmetry paths can be reversed (a =A b)  (b =A a) • Transitivity concatenation of paths
  • 30.
    Operations on paths • Identity (fundamental compositional element) • Associativity (p ∙ q) ∙ r = p ∙ (q ∙ r) • Transitivity p ∙ p-1 = Id(p)
  • 31.
    …but equalities areproofs • So paths are proofs p : x =A y • The equivalence of 2 paths (proofs) is called a homotopy • And equality of proofs can have proofs p' : p =x=Ay q Paths between paths (i.e. equality of paths) • And these are all types • It’s turtles all the way down (equivalences of paths)
  • 32.
    Exercise: • Whydo paths have direction?
  • 33.
    Exercise: • Whydo paths have direction? • A space X is a set of points with a topology • x =A y can be seen as giving a point in X at each “moment in time” • More intuitively, proofs are directional
  • 34.
    The Fundamental Theoremof Type Theory • Induction principal for identity types • Similar to 2 step number theory induction (prove base case, prove a step) • Except there is only one step to prove • To prove a statement (or construct an object) that depends on path identity, p: x = A y it suffices to prove (or construct) the special case where x and y are the same. p is thus the reflexivity element. • “by induction it suffices to assume…”
  • 35.
    Axiom of functionextensionality • (f = g) ⋍ Π(x:A)(f(x) =B(x) g(x)) 2 functions that are pointwise equal, would be equal a path in a function space would be a continuous homotopy …but basic type theory is insufficient to prove this • Axiom: there is a certain function happly : (f = g)  Π(x:A)(f(x) = B(x)g(x))
  • 36.
    Exercise: • Whyis function extensionality an axiom?
  • 37.
    Axiom of univalence • Lemma: for types A,B : U, there is a certain function idtoeqv : (A =U B)  (A ⋍ B) • Axiom (univalence): for any A,B : U, the function idtoeqv is an equivalence, (A =U B) ⋍ (A ⋍ B)
  • 38.
    More exercises (fromthe Hott Book): • 2.4 – Define, by induction on n, a general notion of n-dimensional path in a type A, simultaneously with the type of boundaries for such paths.
  • 39.
    More exercises (fromthe Hott Book): • 1.15 – Show the indiscernibility of identicals follows from path induction.
  • 40.
    More exercises (fromthe Hott Book): • 1.14 – Why do the induction principles for identity types not allow us to construct a function f : Π(x:A) Π(p:x=x)(p= reflx) with the defining equation f(x, reflx) :≡ reflreflx ?