1. Review of the cubical set model
As opposed to [2, 6] let us define cubical sets as contravariant presheaves on the opposite of the category used there, that is, the category of cubes contains as objects finite sets () of names and a morphism is given by a set-theoretic map which is injective when restricted to the preimage of ; we will write compositions in applicative order. The category of cubical sets is the category of presheaves on . A morphism in can be viewed as a substitution. If , we call defined on . For , the face morphisms are denoted by and are induced by setting to and , respectively; degenerating along is denoted by and is induced by the inclusion .
If is a cubical set, we write for the collection/class of presheaves on the category of elements of [2, 6]. Such a presheaf is given by a family of sets for and together with restriction functions. As determines we simply write for . Given and a natural transformation (substitution) we get defined as which extends canonically to the restrictions. For we denote the set of sections of by ; so is given by a family for such that for . Substitution also extends to terms via .
Let us recall the construction of -types: for and is given by letting each element of (with ) be a family of for and satisfying ; the restriction of such a is given by . In the sequel we will however only have to refer to when is the identity, and will thus simply write for . We also occasionally switch between sections in and without warning the reader.
Let , , and . A -tube in over is given by a family of elements for which is adjacent compatible, that is, for . For we say that an element is a lid of such a tube if for all . In this situation we call the pair an open box in over . A filler for such an open box is an element such that for . In case is empty, we simply write .
Given and an open box in over we call allowed for if is defined on . In this case we define the open box in in to be where is given by with being like but skipping , and is the image of under .
Recall from [2, Section 4] that a (uniform) Kan structure for a type is given by an operation which (uniformly) fills open boxes: for any and open box in over we get a filler of subject to the uniformity condition
for all allowed for .
Any Kan structure defines a composition operation which provides the missing lid of the open box, given by:
We denote the set of all Kan structures on as . If and is an element in , we get an element in defined by .
Given a cubical set a Kan type is a pair where and . We denote the collection of all such Kan types by . In  we showed that Kan types are closed under dependent products and sums constituting a model of type theory.
2. Path types
In  we introduced identity types which were however only “weak”, e.g., transport along reflexivity is only propositionally equal to the identity function but not necessarily judgmentally equal. For this reason we will call these types path types and reserve for the identity type with the usual judgmental equality defined in Section 4.
Recall that the path type for and is defined by the sets containing equivalence classes where and with and . Restrictions are defined as expected, and we showed that Kan types are closed under forming path types .
It will be convenient below to introduce paths using separated products.
Given cubical sets and , we say that and are separated, denoted by , if they come through degeneration from cubes with disjoint sets of directions. More precisely, if there are , with and such that and with and induced by the inclusion and , respectively.
The separated product of and is the cubical set defined by
The restrictions are inherited from , that is, they are defined component wise. It can be shown that extends to a functor, and that has a right adjoint.
Of particular interest is where is the interval defined by (see [2, Section 6.1]). Then
If with , then for a uniquely determined which we denote by .
We can use to formulate the following introduction
rule for path types
w ∈Ter(Γ* I, A p) ⟨ ⟩ w ∈Ter(Γ, Path_A w w) where are induced by the global elements and of , respectively, and is the first projection. The binding operation is interpreted by with a fresh name (see [2, Section 8.2]).
Given an element with , we set where is , , or a fresh name.
3. Equivalences and univalence
We will now recall the definition of an equivalence as a map having contractible fibers and then derive an operation for contractible and Kan types. To enhance readability we define the following types using variable names:
where and are types, , and (all in an ambient context ). This can of course also be formally written name-free: for example, the first type can be written as and the second one as .
A (uniform) acyclic-fibration structure on a type is given by an operation uniformly filling any tube, that is, given , , a -tube in , we have
extending (so for ) and for defined on we have
We denote the set of acyclic-fibration structures on by .
Note that given and we obtain via .
Given a type in we have maps
with . Moreover, these maps are natural: if , then , , and .
Let and . To define , let and a -tube in over . We take a fresh dimension and form an open box with the center of contraction at the closed end and at the open end, connected by ; filling this gives us an extension of . Formally:
where is the -tube given by at side .
Conversely, let . To get a Kan structure we first fill the missing lid and then the interior, that is, we set
and likewise for the other filling. To define we choose as center of contraction, which is connected to any by the path
One can show uniformity, naturality, and that is a section of . ∎
Next we will define an operation which allows us to transform an equivalence into a “path”111We will see later that this indeed induces a path in a universe whenever both types and are small.. This operation was introduced in  and motivated the “glueing” operation of . We will define it in such a way that the associated transport of this path is given by underlying map of the equivalence.
A useful analogy is provided by the notion of pathover, a heterogeneous path lying over another path. We shortly review this notion from type theory with inductive equality. Given a type family and a path with its transport function . If and are different types, there is no ordinary path connecting and . Therefore the pathovers connecting and are taken to be the paths of type (in the fiber ).
We apply the same idea to , which should be a path from to in such that transport along this path is . For the type family we take such that and indeed are fibers of . Intuitively, a path from to is a set of heterogeneous paths between elements of and of . We want to be the transport function along the path from to . By analogy we would take to be the set of pathovers connecting and defined as the set of paths in connecting and . However, since we must be able to recover the startpoint , we define to be the set of pairs consisting of and a path connecting and . (Unlike , the endpoint can be recovered from the pathover and need not be remembered.)
With the above informal explanation in mind, we define the operation first on cubical sets and then explain how it lifts to Kan structures. It satisfies the rules:
The latter rule expresses stability under substitutions. Here and below (and below) have and as implicit arguments.
Assume the premiss of (1) and define for every :
In the last case , so . The restrictions in the latter case are a little involved. We need for . If , we take , indeed in . If , we take , indeed in . Finally, if is defined on , we have and we define , which is indeed correct as under the given assumptions. It can then be checked that the restrictions satisfy the presheaf requirements. This concludes the definition of .
We have a map given by: ug((ρ, 0), u) = t ρ u ug((ρ,1),v) = v ug((ρ,i),(u,v)) = v
The fact that a map is an equivalence can be represented as an element of . By Lemma 3 this is the case whenever and have Kan structures and the fibers of are contractible.
The operation can be lifted to Kan structures provided is an equivalence, i.e., there is an operation which given the premiss of (1) and , , and returns . This operation satisfies
To define for we argue by cases. For we take:
Let us now consider the main case where is a name and thus , . We are given (the name along which we fill), a -tube in over (with ), and for or , which fits . We want to define
in . For this we have to construct with and such that .
We can map using and obtain an open box in over given by
There are four cases to consider depending on how the open box relates to the direction . Each case will be illustrated afterwards with simplified . Note that in all these pictures the part in is mapped by to the left face of the part in . Here are the four cases:
Case and . We extend the -tube to -tube by constructing and and then proceed as in the next case with the tube . Note that we want
so we can take
The resulting open box is compatible by construction. Note that this (together with the cases for and ) also ensures that the Kan structure satisfies the equations in (1).
We illustrate this case in the picture below. Here and below the left part is in and on the right we have the open box in . For simplicity we also omit . We construct and by filling the open boxes indicated by thicker lines on the left and on the right, respectively.
Case and . In this case since . We can therefore take where . This can be illustrated by:
Case and . Like in the previous case we can take where . This case is illustrated as follows:
Case and . In this case the direction of the filling is opposite to , and therefore we have to use which expresses that is contractible. The family defined by
for constitutes a -tube over in the contractible type .
So we can extend this tube to obtain
and we can take .
Let us illustrate this case: we are given the two dots on the left and the solid lines on the right in the picture below, and we want to construct the dashed line and a square on the right such that the dashed line is mapped to the dotted line via , that is, we basically want to construct an element in the fiber of under .
This concludes the definition of the filling operations of .
To see that this filling operation is uniform, note that for an defined on and on the case which defines the filling of coincides with the case used to defined by the injectivity requirement on —uniformity then follows for each case separately since we only used operations that suitably commute with in the definition of the filling. If is only defined on but not on , the first case has to apply—to simplify notation assume is —then by construction (equations (4) and (5))
concluding the proof. ∎
We can refine the Kan structure given in Theorem 5 such that it satisfies
We modify the Kan structure given in the proof of Theorem 5 to obtain the above equations. The last two cases in the proof above where are modified by an additional case distinction on whether is empty or not. If is not empty or , proceed as before. In case is empty and , then we are given and an empty tube and can define . That this definition remains uniform is proved as in Theorem 5 using the observation that for defined on . In addition we retain stability under substitution. ∎
It is also possible to change the Kan structure such that it satisfies
where is the inverse of which can be constructed from . For this one also has to modify the case where is empty and from the definition of using and that is a (point-wise) right inverse of (in the sense of path types). The latter is also definable using .
Let us recall the definition of a universe of small Kan types (assuming a Grothendieck universe of small sets in the ambient set theory). A type is small if all the sets for are so. A Kan type is small if is small. We denote the set of all such small types and Kan types by and , respectively. Substitution makes both and into presheaves on the category of cubical sets. The universe is now given as where denotes the Yoneda embedding. For an -cube we have that is a presheaf on the category of elements of , and is a small set for every element . Moreover, is a filler function for open boxes in over . Of particular interest are the small set and filler function .
Given we can associate a small type in by where . We equip with the Kan structure defined by . This results in an isomorphism which is natural in :
where for . Here is the associated substitution of , that is, for any . Since moreover , we get that is representable.
has a Kan structure.
[6, Theorem 4.2]. ∎
We are now ready for the first main result of this paper.
Theorem 9 (Univalence).
in has a section, where denotes the empty context.
Because our operation preserves smallness we obtain an operation turning an equivalence between small Kan types into a path in : given and with we get a small type which has the Kan structure by Theorem 5 where is constructed from , , and using Lemma 3. Hence with and likewise . Finally, abstracting gives a path .
Choosing as the context above we get using currying
Observe that we didn’t use that and its Kan structure commute with substitutions to derive .
In addition to we obtain a section of
where is the transport operation for paths for the type (see the operation in [2, Section 8.2]). Indeed, the path to justify is given by reflexivity using our refined Kan structure from Theorem 6 plus that is given in terms of composition with an empty tube.
The transport operation can easily be extended to an operation
which goes in the opposite direction as . Actually, and constitute a section-retraction pair because of and the fact that is a proposition, that is, all its inhabitants are path-equal. Hence also is a retract of . Since has a Kan structure by Theorem 8, the latter type is contractible (see [2, Section 8.2]) and thus so is the former, concluding the proof. ∎
4. Identity types
We will now describe the identity type which justifies the usual judgmental equality for its eliminator following Swan .
Let be a cubical set and , i.e., and are presheaves on the category of elements of . For natural transformations222Natural transformations correspond to sections in , and also to maps between the projections and in the slice over . To simplify notation, we will write for either of these. we are going to define a factorization as with and . Furthermore, will be a cofibration (i.e., has the lifting property w.r.t. any acyclic fibration as formulated in Corollary 14) and will be equipped with an acyclic-fibration structure. This factorization corresponds to Garner’s factorization using the refined small object argument  specialized to cubical sets.
For in we will define the sets together with the restriction maps (for ) and the components of the natural transformation by an inductive process (see Remark 10 below). The elements of are either of the form with in (and considered as a constructor) and we set in this case and . Or the elements are of the form where , , and is a -tube in over (meaning ). In the latter case we set and for the restrictions if for some , and if is defined on . Note that restrictions do not increase the syntactic complexity of an element . This defines and we set