$$\newcommand{\rec}{\mathop{\rm rec}\nolimits}\newcommand{\ind}{\mathop{\rm ind}\nolimits}\newcommand{\inl}{\mathop{\rm inl}\nolimits}\newcommand{\inr}{\mathop{\rm inr}\nolimits}\newcommand{\Hom}{\mathop{\rm Hom}\nolimits}\newcommand{\Ty}{\mathop{\rm Ty}\nolimits}\newcommand{\Tm}{\mathop{\rm Tm}\nolimits}\newcommand{\op}{\mathop{\rm op}\nolimits}\newcommand{\Set}{\mathop{\rm Set}\nolimits}\newcommand{\CwF}{\mathop{\rm CwF}\nolimits}\newcommand{\CwFB}{\mathop{\rm CwFB}\nolimits}\newcommand{\CwFId}{\mathop{\rm CwFId}\nolimits}\newcommand{\Cat}{\mathop{\rm Cat}\nolimits}\newcommand{\bu}{\bullet}\newcommand{\isContr}{\mathop{\rm isContr}\nolimits}\newcommand{\coh}{\mathop{\bf coh}\nolimits}\newcommand{\id}{\mathop{\rm id}\nolimits}\newcommand{\Id}{\mathop{\rm Id}\nolimits}\newcommand{\refl}{\mathop{\rm refl}\nolimits}\newcommand{\J}{\mathop{\rm J}\nolimits}\newcommand{\scol}{\mathop{\,;\,}\nolimits}$$

Types are

Brunerie globular weak $\omega$-groupoids

Younesse Kaddar

Supervised by:
Thorsten Altenkirch, Paolo Capriotti, Nicolai Kraus

Nottingham University, June-July 2017

PDF Report

Work Environment

I. Motivations

II. Weak $ω$-groupoids

III. Categories with Families & Brunerie weak $ω$-groupoids

IV. Conclusion

Work Environment

Functional Programming Laboratory: University of Nottingham

I. Motivations

A. What is wrong with set theory

?   In set theory:

$$-1 ≝ \bigg\lbrace \big\lbrace n , \; \lbrace n , n+1\rbrace \big\rbrace \mid n ∈ ℕ \bigg\rbrace \\\text{ where } ℕ \ni n ≝ \underbrace{\lbrace ⋯ \lbrace}_{n \text{ times }} ∅ \rbrace ⋯ \rbrace$$

  1. Poorness of the very notion of set:

    • far-fetched definitions
    • reasoning up to isomorphism made difficult
  2. Non-constructive

I.B - Vladimir Voevodsky’s new foundational program (2006/2009)

HoTT book authors
  • Mistake in one of his papers

    • Modern mathematical proofs: too complex to be reliably checked by humans
    • ⟶ Since then, has been championing computer proof assistants

Univalent Foundations / Homotopy Type Theory:

new constructive foundations for mathematics based on Per Martin-Löf’s dependent type theory.

Agda logo   The functional programming language / proof assistant Agda: based on dependent type theory.

Agda code

Martin-Löf’s Dependent Type Theory (MLTT)… in a nutshell

  1. A foundational framework for mathematics

  2. A programming language

    • more expressive than simply-typed $λ$-calculus (the "idealized" version of simply-typed functional programming languages such as OCaml)

In Type theory:

  • contexts (denoted by the letters $Γ, Δ, Θ, ...$
  • types ($A, B, C, ...$)
  • terms ($a, b, c, t, u, v, ...$)
  • substitutions ($γ, θ, δ, ...$).

and a collection of inference rules to form new types/terms.

Types can depend on values


A context $Γ$:
is a list (of assumptions)
$$\, \\ x_1 : A_1, \, x_2:A_2(x_1) \, \ldots, \, x_n:A_n(x_1, \ldots, x_{n-1}) \\$$
of variables, such that each type $A_i(x_1, \ldots, x_{i-1})$ depends on variables $x_1, \ldots, x_{i-1}$ of earlier types $A_1(x_1), \ldots, A_{i-1}(x_1, \ldots, x_{i-2})$.

For instance, in:

let $n$ be a natural number, $p$ be a prime number, $𝕂$ a field of order $p^n$, and $V$ a $𝕂$-vector space

the context $Γ$ contains the variables $n, p, 𝕂$, and $V$, having the desired types.

Types and Terms

Inference rules enable us to derive judgments of the form:

Judgement Interpreted as
$\Gamma \vdash a {:} A$ $a$ is a term of type $A$ in the context $Γ$
$\Gamma \vdash a ≡ b {:} A$ $a$ and $b$ are definitionally/judgmentally equal objects of type $A$ in $Γ$

Types play the role of

  • sets
  • … as well as logical propositions!

The Curry-Howard correspondence:

proving a mathematical statement in Type Theory

providing an element of its corresponding type.

The Curry-Howard correspondence: Example

\(\Pi\)-types (dependent products):
the types of functions whose result depends on the argument

e.g. functions $f : (x:A) ⟶ B(x)$ such that $f(x): B(x)$ for each $x: A$

Via the Curry-Howard correspondence:

dependent products express universal quantification, such as

$$∀x ∈ A, B(x)$$

Ex: A proof of

$$∀x, y ∈ ℕ, x + y = y + x$$

is a dependent function of type

$$f : \prod\limits_{x: ℕ} \prod\limits_{y: ℕ} x + y = y + x$$

such that, for instance, $f(1, 2)$ is evidence that $1 + 2 = 2 + 1$.

existential quantification represented as an indexed pair, where the type of the second component depends on the first.

$$(a,b):\Sigma _{(x:A)}B(x)$$

$a:A$ and $b:B(a)$.

Proof assistants make use of the Curry-Howard correspondence.

Examples of dependent types

  • $A^n$: type of $n$-tuples:

    $$(a_1, \ldots, a_n) : A^n$$
    where $a_i : A$.

  • For all natural number $n$, ${\rm Even} n$ (proofs that $n$ is even)

  • For all natural numbers $n, m$: $m > n$ (evidence that $m$ is greater than $n$)

Substitutions / Context Morphisms

A substitution $σ: Δ ⟶ \overbrace{Γ}^{\rlap{≝\; x_1:A_1,\; x_2:A_2(x_1),\;\ldots,\; x_n:A_n(x_1, \ldots, x_{n-1})}}$:
a list of terms
$$σ ≝ (t_1, \ldots, t_n)$$
such that

$$\begin{aligned}Δ &\vdash t_1 :A_1\\Δ &\vdash t_2 :A_1(t_2)\\\vdots\\Δ &\vdash t_n : A_n(t_1,t_2,\dots, t_{n-1})\end{aligned}$$

Notation: $σ: Δ ⟶ Γ$ applied in $Γ ⊢ t: A$ is written $t[σ]$ (free variables substituted by their corresponding term in $σ$), idem for types.

  • $Γ ≝ (n: ℕ, \; p:{\rm Prime}, \; 𝕂: {\rm Field} \, p^n, \; V: 𝕂\text{-}{\rm VectorSpace})$
  • $Δ ≝ (q: {\rm PalindromicPrime}, 𝕃: {\rm TopologicalField} \, q^q, \; A : 𝕃\text{-}{\rm Algebra})$

$$\begin{aligned}Δ &\vdash q : ℕ\\Δ &\vdash q :{\rm Prime}\\Δ &\vdash 𝕃 :{\rm Field} \, q^q\\Δ &\vdash A : 𝕃-{\rm Algebra}\end{aligned}$$

Inference rules for Intensional equality

  • Formation:

    $$\frac{\Gamma \vdash A\hspace{1em}\Gamma \vdash a {:} A\hspace{1em}\Gamma \vdash a' {:} A}{\Gamma \vdash a ≃_A a'}$$

  • Introduction:

    $$\frac{\Gamma \vdash A\hspace{1em}\Gamma \vdash a {:} A}{\Gamma \vdash \refl {:} a ≃_A a}$$

  • Elimination:

    $$\frac{\Gamma \vdash x:A\hspace{1em}\Gamma, y: A, p: x ≃_A y \vdash P(y, p)\hspace{1em}\Gamma \vdash d {:} P(x, \refl_x)}{ \Gamma, y: A, p: x ≃_A y \vdash \J(y, p, d) {:} P(y, p)}$$

  • Computation:

    $$\J(x, \refl_x, d) ≡ d {:} P(x, \refl_x)$$

I.C. Homotopy Type Theory


In homotopy theory, two paths are said to be homotopic if one can be “continuously deformed” into the other.

In homotopy type theory (a new flavour of MLTT):

  • a type $A$ is abstractly seen as a topological space whose points are its objects

    • if $x, y: A$, $x ≃_A y$ represents the paths from $x$ (start point) to $y$ (end point).

    • given two parallel paths $p, q : x ≃_A y$, a path $r : p ≃_{x≃_A y} q$ corresponds to a homotopy/2-path between $p$ and $q$.

    • $r ≃_{p ≃_{x ≃_A y} q} s$ is the type of 3-paths, and so on…

The tower comprised of these paths, paths of paths, paths of paths of paths, … arising from $A$ forms an $ω$-groupoid

The Univalence Axiom

Univalence Axiom in Voevodsky’s univalent program:
equality of types is (weakly) equivalent to equivalence

⟶ This axiom is not constructive per se

Eliminating univalence is a holy grail

… and formalizing a weak $ω$-groupoid model of Type Theory inside Type Theory might pave the way for it!

II. Weak $ω$-groupoids

Comparison of structures and laws of different algebraic structures

  Monoids Categories Higher Categories Strict $𝜔$-Groupoids
Carrier set/Underlying set Sets Multigraphs Globular Sets Globular Sets
Structure Binary operation, Neutral element Composition, Identity morphisms Compositions, Identity morphisms Compositions, Identity morphisms, Inverse elements
Laws Associativity, Unit law Associativity, Unit law Associativity, Unit law, Interchange law Associativity, Unit law, Interchange law, Inverse law
A globular set:
is a family of sets \((G_n)_{n∈ℕ}\) and functions \(s_n, t_n: G_n ⟶ G_{n-1}\) (which stand for source and target respectively) such that, for all $n∈ℕ$:

$$\begin{cases} s_{n-1} \circ s_n = s_{n-1} \circ t_n & \\ t_{n-1} \circ s_n = t_{n-1} \circ t_n \end{cases} \qquad\textit{(subscripts in \(s_n, t_n\) will be omitted)}$$


  • the points \(\bullet\) are members of \(G_0\)
  • \(a, b∈ G_1\)
  • \(θ ∈ G_2\)
  • \(s(θ) ≝ a\)
  • \(t(θ) ≝ b\)

$\begin{cases} s(a) = s(b) \\ t(a) = t(b)\end{cases}\quad$ i.e.: $\quad \begin{cases} s(s (𝜃)) = s(t (𝜃)) \\ t(s (𝜃)) = t(t (𝜃))\end{cases}$

All sources and their corresponding targets are parallel.

For all \(n∈ℕ^\ast, \; a, b:G_{n-1}\), $G_n(a, b) ≝ \lbrace f∈G_n \mid s (f) = a \text{ and } t (f) = b\rbrace$

The elements of \(G_n\) are called \(n\)-arrows.

Laws and Structure of $ω$-groupoids

Strict $𝜔$-groupoids Weak $𝜔$-groupoids
usual pattern: structures (compositions, identity elements, inverse elements) and laws (associativity, interchange law, identity law, inverse law) nothing but structure. Laws and structures with regard to elements of \(G_n\) now become elements of \(G_{n+1}\).

Strict \(𝜔\)-groupoids

Let \(G ≝ \bigsqcup\limits_{n≥0} G_n\) be a strict \(𝜔\)-groupoid.

Dimension skips:
If \(i > j > k ∈ ℕ, \; \; x, x' : G_k, \; f, f' : G_j(x, x')\) and \(𝛼 : G_i(f, f')\), then \(𝛼\) can be seen as \(k\)-arrow of \(G_k(x, x')\)

Indeed: for all \(n∈ℕ^\ast\) and \(f_1, \ldots, f_n ∈ \lbrace s, t \rbrace\):

\[\begin{cases} s \; f_1 \; \ldots \; f_n = s \\ t \; f_1 \; \ldots \; f_n = t \end{cases}\]

⟶ only the leftmost composition matters.

Structure of \(G_n\)

\[{\rm id}^n (\_ ) : \prod\limits_{a: G_{n-1}} G_n(a, a)\]
\[{\rm inv}^n (\_ , \_ ) : \prod\limits_{a, b: G_{n-1}} G_n(a, b) ⟶ G_n(b, a)\]

There are $n$ different types of compositions in \(G_n\): $\scol_1^n, \, \ldots, \, \scol_n^n$.

Let \(1 ≤ i < n\).

Horizontal Composition (along the \(i\)-arrows) Vertical Composition (along the \(n\)-arrows)
$$\; \\ \scol^n_i: \prod\limits_{x, x', x'': G_0}\prod\limits_{\substack{f, f': G_i(x, x') \\ g, g': G_i(x', x'')}} \\ G_n(f, f') × G_n(g, g') ⟶ G_n(f \,\scol_i^i\, g, \, f' \scol_i^i g') \\$$
$$\; \\ \scol^n_n: \prod\limits_{x, x': G_0}\prod\limits_{f, f', f'': G_i(x, x')} \\ G_n(f, f') × G_n(f', f'') ⟶ G_n(f, f'') \\$$
$$\; \\ \cfrac{𝛼:G_i(x, x')\qquad 𝛼': G_i(x', x'')}{𝛼 \scol_i^n 𝛼': G_i(x, x'')} \\$$
$$\; \\ \cfrac{𝛼:G_n(f, f') \qquad 𝛼': G_n(f', f'')}{𝛼 \scol_n^n 𝛼': G_n(f, f'')} \\$$

Laws of \(G_n\)

Identity (\(i\)): \(x:G_i\)
Composition (\(i < j\)): the points \(x, x', x'' : G_i\), the simple arrows \(f, g : G_j\)
Identity Laws (\(i<j\)): the points \(x, x' : G_i\), the simple arrow \(f : G_j\) Left:
Right: idem

Associativity law (\(i < j\)): the points \(x, x', x'', x''' : G_i\), the simple arrows \(f, g, h : G_j\)

Interchange law (\(i < j < k\)): the points \(x, x', x'' : G_i\), the simple arrows \(f, f', f'', g, g', g'' : G_j\), the double arrows \(𝛼, 𝛼', 𝛽, 𝛽' : G_k\)