Homotopy Canonicity for Cubical Type Theory
F S C D
Homotopy Canonicity for Cubical Type Theory
Christian Sattler 0 1 2
0 Thierry Coquand Department of Computer Science and Engineering, University of Gothenburg , Sweden
1 Department of Computer Science and Engineering, University of Gothenburg , Sweden
2 Simon Huber Department of Computer Science and Engineering, University of Gothenburg , Sweden
Cubical type theory provides a constructive justification of homotopy type theory and satisfies canonicity: every natural number is convertible to a numeral. A crucial ingredient of cubical type theory is a path lifting operation which is explained computationally by induction on the type involving several non-canonical choices. In this paper we show by a sconing argument that if we remove these equations for the path lifting operation from the system, we still retain homotopy canonicity: every natural number is path equal to a numeral. 2012 ACM Subject Classification Theory of computation ? Type theory; Theory of computation ? Proof theory; Theory of computation ? Computability Funding Simon Huber : I acknowledge the support of the Centre for Advanced Study (CAS) in Oslo, Norway, which funded and hosted the research project Homotopy Type Theory and Univalent Foundations during the academic year 2018/19.
and phrases cubical type theory; univalence; canonicity; sconing; Artin glueing
Introduction
This paper is a contribution to the analysis of the computational content of the univalence
axiom [34] (and higher inductive types). In previous work [2, 4, 6, 7, 23], various presheaf
models of this axiom have been described in a constructive meta theory. In this formalism,
the notion of fibrant type is stated as a refinement of the path lifting operation where one not
only provides one of the endpoints but also a partial lift (for a suitable notion of partiality).
This generalized form of path lifting operation is a way to state a homotopy extension
property, which was recognized very early (see, e.g. [10]) as a key for an abstract development
of algebraic topology. The axiom of univalence is then captured by a suitable equivalence
extension operation (the ?glueing? operation), which expresses that we can extend a partially
defined equivalence of a given total codomain to a total equivalence. These presheaf models
suggest possible extensions of type theory where we manipulate higher dimensional objects
[2, 6]. One can define a notion of reduction and prove canonicity for this extension [16]: any
closed term of type N (natural number) is convertible to a numeral. There are however several
non-canonical choices when defining the path lifting operation by induction on the type,
which produce different notion of convertibility.1 A natural question is how essential these
non-canonical choices are: can it be that a closed term of type N, defined without use of such
non-canonical reduction rules, becomes convertible to 0 for one choice and 1 for another?
1 For instance, the definition of this operation for ?glue? types is different in [6] and [23].
?(A, B)0(w)
?(A, B)0(w)
fill?,b(u)0
Path(A, a0, a1)0(w)
Glue(A, ? 7? (B, w))0v
=
=
=
=
=
?(u : |A|)?(u0 : A0u).B0uu0(app(w, u))
?(u0 : A0(fst(w))).B0(fst(w)) u0 (snd(w))
fill?,b(u0)
Path?i.A0 i (ap(w,i)) a00 a01
Glue (A0(app(unglue, v))) [? 7? (B0v, (w0.1 v, . . .))]
The main result of this paper, the homotopy canonicity theorem, implies that this cannot
be the case. the value of a term is independent of these non-canonical choices. Homotopy
canoncity states that, even without providing reduction rules for path lifting operations at
type formers, we still have that any closed term of type N is path equal to a numeral. (We
cannot hope to have convertibility anymore with these path lifting constant.) We can then
see this numeral as the ?value? of the given term.
Our proof of the homotopy canonicity can be seen as a proof-relevant extension of the
reducibility or computability method, going back to the work of G?del [14] and Tait [32]. It
is however best expressed in an algebraic setting. We first define a general notion of model,
called cubical category with families, defined as a category with families [9] with certain
special operations internal to presheaves over a category C (such as a cube category) with
respect to the parameters of an interval I and an object of cofibrant propositions F.
We describe the term model and how to re-interpret the cubical presheaf models as
cubical categories with families. The computability method can then be expressed as a
general operation (called ?sconing?) which applied to an arbitrary model M produces a
new model M? with a strict morphism M? ? M. Homotopy canonicity is obtained by
applying this general operation to the initial model, which we conjecture to be the term
model. This construction associates to a (for simplicity, closed) type A a predicate A0 on the
closed terms |A|, and each closed term u a proof u0 of A0u. The main rules in the closed case
are summarized in Figure 1. (...truncated)