40
Homotopy Type Theory A very brief introduction to

Intoduction to Homotopy Type Therory

Embed Size (px)

DESCRIPTION

Intoduction to Homotopy Type Therory

Citation preview

Page 1: Intoduction to Homotopy Type Therory

Homotopy Type Theory

A very brief introduction to

Page 2: Intoduction to Homotopy Type Therory

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

Page 3: Intoduction to Homotopy Type Therory

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 Mathematicshttp://video.ias.edu/node/6395

Page 4: Intoduction to Homotopy Type Therory

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 VoevodskyA very short note on the homotopy λ-calculus, 2006

• Institute for Advanced StudyHomotopy Type Theory: Univalent Foundation of Mathematics, 2013

a.k.a. The HoTT Book

Page 5: Intoduction to Homotopy Type Therory
Page 6: Intoduction to Homotopy Type Therory

Every-thing has a type

• Objects are types

• Propositions are types

• Functions are types

• Proofs are types

Page 7: Intoduction to Homotopy Type Therory

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

Page 8: Intoduction to Homotopy Type Therory

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

Page 9: Intoduction to Homotopy Type Therory

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)

Page 10: Intoduction to Homotopy Type Therory

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 codomainnote this is a simple function signature

Page 11: Intoduction to Homotopy Type Therory

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

Page 12: Intoduction to Homotopy Type Therory

1 : U unit

• True, ⊤, top, ()

• Always the same

one-valued logic

• C family of languages oddly names this type “void”

Page 13: Intoduction to Homotopy Type Therory

2 : U boolean

• 2-valued logic

highest n-valued fully consistent logic

• Can be derived as a special case of coproduct / summation type

Page 14: Intoduction to Homotopy Type Therory

Infinite types

• E.g. Natural numbers

which have a special place in practical application

• Defined recursively

Page 15: Intoduction to Homotopy Type Therory

A B function type

• Signature matters to define type

not the body of function

Page 16: Intoduction to Homotopy Type Therory

Exercise:

• Construct a theorem of function equivalence

( f = g )

Page 17: Intoduction to Homotopy Type Therory

Exercise:

• Construct a theorem of function equivalence

( f = g )

• Trick exercise…we will come back to this

Page 18: Intoduction to Homotopy Type Therory

A + B : U Coproduct type• a.k.a. Summation type

F# discriminated union

• To construct the function A + B C

requires the functions

A CB C

Page 19: Intoduction to Homotopy Type Therory

A x B : U Product type

• Tuple, Cartesian product

Page 20: Intoduction to Homotopy Type Therory

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 rulehow 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)

Page 21: Intoduction to Homotopy Type Therory

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…

Page 22: Intoduction to Homotopy Type Therory

EXCEPT…

Page 23: Intoduction to Homotopy Type Therory

∏(x:A)B(x) Dependent Functions• Type of output depends on element of input

not the type of inputhence, not just a “parameterized function”

• Normal function is a special case

resulting type family a constant type

Page 24: Intoduction to Homotopy Type Therory

∑(x:A)B(x) Dependent pair type• Second element depends on a dependently typed function on first

• Example:

1, 102, “I am a string”

Page 25: Intoduction to Homotopy Type Therory

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

Page 26: Intoduction to Homotopy Type Therory

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)

Page 27: Intoduction to Homotopy Type Therory

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

Page 28: Intoduction to Homotopy Type Therory

IdA(a,b) Indentity function• Has special importance in type theory

IdA(a,b) type representing proposition of equalityp : 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 selfpaths are types (inverse path is not the same type)

Page 29: Intoduction to Homotopy Type Therory

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

Page 30: Intoduction to Homotopy Type Therory

Operations on paths• Identity (fundamental compositional element)

• Associativity

(p ∙ q) ∙ r = p ∙ (q ∙ r)

• Transitivity

p ∙ p-1 = Id(p)

Page 31: Intoduction to Homotopy Type Therory

…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)

Page 32: Intoduction to Homotopy Type Therory

Exercise:

• Why do paths have direction?

Page 33: Intoduction to Homotopy Type Therory

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

Page 34: Intoduction to Homotopy Type Therory

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…”

Page 35: Intoduction to Homotopy Type Therory

Axiom of function extensionality• (f = g) ⋍ ∏(x:A)(f(x) =B(x) g(x))

2 functions that are pointwise equal, would be equala 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))

Page 36: Intoduction to Homotopy Type Therory

Exercise:

• Why is function extensionality an axiom?

Page 37: Intoduction to Homotopy Type Therory

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)⋍ ⋍

Page 38: Intoduction to Homotopy Type Therory

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.

Page 39: Intoduction to Homotopy Type Therory

More exercises (from the Hott Book):

• 1.15 – Show the indiscernibility of identicals follows from path induction.

Page 40: Intoduction to Homotopy Type Therory

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 ?