# Decomposing the Univalence Axiom

This paper investigates the univalence axiom in intensional Martin-Löf type theory. In particular, it looks at how univalence can be derived from simpler axioms. We first present some existing work, collected together from various published and unpublished sources; we then we present a new decomposition of the univalence axiom into simpler axioms. We argue that these axioms are easier to verify in potential models of univalent type theory and show this is the case for cubical sets. Finally we show how this decomposition is relevant to an open problem in type theory.

## Authors

• 4 publications
• 9 publications
• ### Models of Homotopy Type Theory with an Interval Type

In this short note, we construct a class of models of an extension of ho...
04/29/2020 ∙ by Valery Isaev, et al. ∙ 0

• ### Normalization for Cubical Type Theory

We prove normalization for (univalent, Cartesian) cubical type theory, c...
01/27/2021 ∙ by Jonathan Sterling, et al. ∙ 0

• ### Critical Echo State Networks that Anticipate Input using Morphable Transfer Functions

The paper investigates a new type of truly critical echo state networks ...
06/12/2016 ∙ by Norbert Michael Mayer, et al. ∙ 0

• ### A Type Theory for Strictly Unital ∞-Categories

We present a type theory for strictly unital ∞-categories, in which a te...
07/16/2020 ∙ by Eric Finster, et al. ∙ 0

• ### A Cubical Language for Bishop Sets

We present XTT, a version of Cartesian cubical type theory specialized f...
03/03/2020 ∙ by Jonathan Sterling, et al. ∙ 0

• ### Computable Random Variables and Conditioning

The aim of this paper is to present an elementary computable theory of r...
12/22/2020 ∙ by Pieter Collins, et al. ∙ 0

• ### A general framework for modelling zero inflation

We propose a new framework for the modelling of count data exhibiting ze...
05/01/2018 ∙ by John Haslett, et al. ∙ 0

##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

## 1 Introduction

Extensionality is a principle whereby two mathematical objects are deemed to be equal if they have the same observable properties. Often, formal systems for mathematics will include axioms designed to capture this principle. In the context of set theory we have the axiom of extensionality, which tells us that two sets are equal if they contain the same elements. In the context of (univalent) type theory we have Voevodsky’s univalence axiom (Univalent Foundations Program, 2013, Section 2.10), which tells us, roughly speaking, that two types are equal if they are isomorphic.

In axiomatic set theory the axiom of extensionality is easily formalised as a simple implication . The converse implication follows from the properties of equality, and combining these two implications we deduce that equality of two sets is logically equivalent to them having the same elements. At this point we are done, we now have an extensionality principle for sets and nothing further needs to be assumed.

The situation is more complicated in a proof relevant setting such as intensional type theory. As with sets we can formalise the statement of interest in the language of type theory as , where is the type of equivalences between and . We then postulate the existence of a term witnessing this statement. As before, the converse implication follows from the properties of the identity type, and hence equality of two types is logically equivalent to them being isomorphic. However, the proof relevant nature of type theory means that what we have described so far will be insufficient. We may want to know how equalities derived using the postulated term compute when passed to the eliminator for identity types. For example, if we convert them back into equivalences do we always get the same equivalence that we started with?

In univalent type theory (UTT), also known as homotopy type theory (HoTT), these problems are resolved by taking a different approach to the statement of the univalence axiom. As mentioned before the converse implication, , follows from the properties of the identity type. The approach taken in UTT is to state that for any types and this map is itself an equivalence between the types and . From this fact we can deduce the existence of a map in the other direction (the original implication of interest), as well as some information about how that map computes.

Merely stating that a certain canonical map is an equivalence is a very concise way to express the univalence axiom. From a mathematical point of view it is appealingly simple and yet powerful. In particular, this statement has the nice property that it is a mere proposition (Univalent Foundations Program, 2013, Definition 3.3.1) and so there is no ambiguity about the term witnessing the axiom.

However, there are some disadvantages to this way of stating the univalence axiom. For example, verifying the univalence axiom in a model of type theory can be a difficult task. Fully expanded, this seemingly simple statement becomes very large, with many complex subterms. Verifying univalence directly, by computing the interpretation of the statement in the model and explicitly constructing the interpretation of its proof term, may be unfeasible. Instead, one would need to build up several intermediate results about contractibility, equivalences, and possibly new constructions such as Glueing (Cohen et al., 2018, Section 6), through a mixture of internal, syntactic and semantic arguments.

The contribution in this paper is a reduction of the usual statement of univalence to a collection of simpler axioms which are more easily verified in certain models of dependent type theory, particularly those based on cubical sets Cohen et al. (2018); Bezem et al. (2014); Angiuli et al. (2017); Awodey (2016); Pitts (2015); Birkedal et al. (2016). Importantly, we do not propose these axioms as an alternative statement for the univalence axiom when doing mathematics in univalent type theory. These axioms are designed with the previous goal in mind and are not intended to be mathematically elegant or user-friendly.

In the rest of this paper we begin with some preliminary definitions and notational conventions (Section 2). We then briefly discuss the univalence axiom (Section 3). These sections cover existing work. We then introduce our alternative set of axioms (Section 4), and examine their application to models of type theory (Section 5). Finally, we propose another application of these axioms to an open problem in UTT (Section 6).

##### Agda formalisation

This work presented in this paper is supported by two separate developments in the Agda proof assistant Agda Project . The first covers the material in sections 2-4, where Agda is useful for precisely tracking universe levels in many of the theorems. The second covers the material in Section 5, and builds on the development accompanying Orton and Pitts (2016). In this development we use Agda to verify our constructions in the internal type theory of the cubical sets topos. The source for both can be found at https://github.com/IanOrton/decomposing-univalence.

## 2 Preliminaries

In most of this paper we work in intensional Martin-Löf type theory with dependent sums and products, intentional identity types, and a cumulative hierarchy of universes .

We use the symbol for the identity type, for definitional equality and when giving definitions. Given and , we write for the composition of identity proofs, and for the inverse proof.

We also assume the principle of function extensionality, which states that two functions are equal whenever they are pointwise equal: . That is, that there exists a term:

 funexti,j: ∏A:Ui∏B:A→Uj∏f,g:Πx:AB(x)f∼g→f=g

for all universe levels .

Note that in the Agda development mentioned previously we do not assume function extensionality in general, but rather we make it an explicit assumption to each theorem. This means that we can see exactly where function extensionality is used, and at which universe levels it needs to hold.

We now recall some standard definitions and results in UTT/HoTT.

###### Definition 2.1 (Contractibility).

A type is said to be contractible if the type

 isContr(A)≜∑a0:A∏a:A(a0=a)

is inhabited. Contractibility expresses the fact that a type has a unique inhabitant.

###### Definition 2.2 (Singletons).

Given a type and element , we can define

 sing(a)≜∑x:A(a=x)

to be the type of elements of which are equal to . It is easily shown by path induction that the type is always contractible.

###### Definition 2.3 (Equivalences).

An equivalence from is a pair where and is a proof that for every the fiber of at is contractible. To be precise:

 A≃B≜∑f:A→BisEquiv(f)

where

 fibf(b)≜∑a:A(fa=b)andisEquiv(f)≜∏b:BisContr(fibf(b))

for , for any .

A simple example of an equivalence is the identity function for any type . To demonstrate that is an equivalence we must show that , but this is equivalent to the statement that is contractible for all .

## 3 Voevodsky’s Univalence Axiom

In this section we introduce Voevodsky’s univalence axiom. We then present an existing result which decomposes the univalence axiom into a “naive” form and a computation rule. In Section 4, we will then decompose these two axioms further into five even simpler axioms.

###### Definition 3.1 (Coerce and idtoeqv).

For all , and types , there is a canonical map which is defined by path induction on the proof :

 idtoeqv(refl)≜idA

where is the identity map regarded as an equivalence. We can also define a map either by path induction, or as:

 coerce(p,a)≜fst(idtoeqv(p))(a)

where is the first projection.

###### Definition 3.2 (Voevodsky’s univalence axiom).

The univalence axiom for a universe asserts that for all the map is an equivalence.

In light of the following definition we will often refer to the univalence axiom as the proper univalence axiom.

###### Definition 3.3 (The naive univalence axiom).

The naive univalence axiom for a universe gives, for all , a map from equivalences to equalities. In other words, it asserts the existence of an inhabitant of the type:

 UAi≜∏A,B:UiA≃B→A=B

When using a term we will often omit the first two arguments ( and ). Proofs of naive univalence may also come with an associated computation rule. That is, an inhabitant of the type , where:

 UAβi(ua)≜∏A,B:Ui∏f:A→B∏e:isEquiv(f)coerce(ua(f,e))=f

Next, we give a result which is known in the UTT/HoTT community and has been discussed on the HoTT mailing list. However, the authors are not aware of any existing presentation of a proof in the literature. This result decomposes the proper univalence axiom into the naive version and a computation rule. First we give a lemma which generalises the core construction of this result.

###### Lemma 3.4.

Given , and a map then is an equivalence for all iff there exists a map

 g:∏x,x′:XY(x,x′)→x=x′

such that for all and we have (we leave the first two arguments to and implicit).

###### Proof.

For the backwards direction, assume that we are given as above. To show that is an equivalence it suffices to show that is a bi-invertible map (Univalent Foundations Program, 2013, Section 4.3). To do this we must exhibit both a right and left inverse.

For the left inverse we take . To see that this is indeed a left inverse to consider an arbitrary , we aim to show that . By path induction we may assume that and and therefore we are required to show . However, since this goal simplifies to which follows immediately from the groupoid laws for identity types.

For the right inverse we take unchanged and observe that we know for all by assumption. Therefore the map is an equivalence.

For the forwards direction, given a proof and we have . We can then define to be the first component of this and the second component tells us that as required. ∎

###### Theorem 3.5.

Naive univalence, along with a computation rule, is logically equivalent to the proper univalence axiom. That is, there are terms

 ua:UAi,uaβ:UAβi(ua)

iff for all types , the map is an equivalence.

###### Proof.

By we know that for all . Now, since is a mere proposition for each , we can deduce that by (Univalent Foundations Program, 2013, Lemma 3.5.1). Therefore we simply take , , and in Lemma 3.4 to deduce the desired result. ∎

## 4 A new set of axioms

In this section we further decompose the univalence axiom into even simpler axioms. We show that it is equivalent to axioms (1) to (5) given in Table 1. Note that these axioms apply to a specific universe .

We begin by decomposing naive univalence, , into axioms (1)-(3). These axioms also follow from . Recall that we are taking function extensionality as an ambient assumption.

###### Theorem 4.1.

Axioms (1)-(3) for a universe are together logically equivalent to .

###### Proof.

We begin by showing the forwards direction. Assume that we are given axioms (1) to (3). We now aim to define a term . Given arbitrary types and an equivalence we define as follows:

 A =∑a:A1 by (1) =∑a:A∑b:Bfa=b by funext and (3) on sing(fa) =∑b:B∑a:Afa=b by (2) =∑b:B1 by funext and (3) on fibf(b) (contractible by e) =B by (1)

where the proof that is given by the concatenation of each step of the above calculation.

The backwards direction follows from the fact that the obvious maps and are both easily shown to be bi-invertible and hence equivalences, and from the fact that any contractible type is equivalent to (Univalent Foundations Program, 2013, Lemma 3.11.3.). Therefore given we simply apply it to these equivalences to get the required equalities (1)-(3). ∎

Next, we decompose the computation rule for naive univalence into axioms (4) and (5). Since depends on and axioms (4) and (5) depend on axioms (1) and (2) respectively, we in fact show the logical equivalence between the pair and , and axioms (1)-(5).

###### Lemma 4.2.

The function is compositional. That is, given types , and equalities and we have .

###### Proof.

Straightforward by path induction on either of or , or on both. ∎

###### Theorem 4.3.

Axioms (1)-(5) for a universe are together logically equivalent to .

###### Proof.

For the forwards direction we know from Theorem 4.1 that axioms (1) to (3) allow us to construct a term . If, in addition, we assume axioms (4) and (5) then we can show that for all we have as follows.

Since was constructed as the concatenation of five equalities then, in light of Lemma 4.2, we have that coercing along is equal to the result of coercing along each stage of the composite equality . Therefore starting with an arbitrary , we can track what happens at each stage of this process like so:

 a↦(a,∗)↦(a,fa,refl)↦(fa,a,refl)↦(fa,∗)↦fa

Therefore we see that for all we have and hence by function extensionality we have as required.

For the reverse direction we assume that we are given and . We can now apply Theorem 4.1 to construct terms , and satisfying axioms (1) to (3) from .

Since and were constructed by applying to the obvious equivalences, then by we know that applying to these equalities will return the equivalences that we started with. From this we can easily construct terms and satisfying axioms (4) and (5) respectively. ∎

###### Corollary 4.4.

Axioms (1)-(5) for a universe are together logically equivalent to the proper univalence axiom for .

###### Proof.

By combining Theorems 3.5 and 4.3. ∎

## 5 Applications in models of type theory

In this section we discuss one reason why the result given in Corollary 4.4 is useful when trying to construct models of univalent type theory. Specifically, we believe that this decomposition is particularly useful for showing that a model of type theory with an interval object (e.g. cubical type theory Cohen et al. (2018)) supports the univalence axiom. We first explain why we believe this to be the case in general terms, and then give a precise account of what happens in the specific case of the cubical sets model presented in Cohen et al. (2018). The arguments given here should translate to many similar models of type theory Bezem et al. (2014); Angiuli et al. (2017); Awodey (2016); Pitts (2015); Birkedal et al. (2016).

Note that we are assuming function extensionality. Every model of univalence must satisfy function extensionality (Univalent Foundations Program, 2013, Section 4.9), but it is often much easier to verify function extensionality than the proper univalence axiom in a model of type theory. In particular, function extensionality will hold in any type theory which includes an appropriate interval type, cf. (Univalent Foundations Program, 2013, Lemma 6.3.2).

Experience shows that axioms (1), (2), (4) and (5) are simple to verify in many potential models of univalent type theory. To understand why, it is useful to consider the interpretation of in such a model. Propositional equality in the type theory is usually not interpreted as equality in the model’s metatheory, but rather as a construction on types e.g. path spaces in models of HoTT. Therefore, writing for the interpretation of a type , an equivalence in the type theory will give rise to morphisms and which are not exact inverses, but rather are inverses modulo the interpretation of propositional equality, e.g. the existence of paths connecting and , and and for all . However, in many models the interpretations of and , and of and will be isomorphic, i.e. there will be morphisms going back and forth which are inverses up to equality in the model’s metatheory. This will be true in any presheaf model of type theory of the kind described in Section 5.1.1, and should be true more generally in any model which validates eta-rules for and .

This means that we can satisfy (1) and (2) by proving that this stronger notion of isomorphism gives rise to a propositional equality between types. Verifying axioms (4) and (5) should then reduce to a fairly straightforward calculation involving two instance of this construction.

This leaves axiom (3), which captures the homotopical condition that every contractible space can be continuously deformed into a point. The hope is that verifying the previous axioms should be fairly straightforward, leaving this as the only non-trivial condition to check.

We now examine what happens in the specific case of cubical sets Cohen et al. (2018).

### 5.1 Example: the CCHM model of univalent type theory

In this section we will examine what happens in the case of the Cohen, Coquand, Huber, Mörtberg (CCHM) model of type theory based on cubical sets Cohen et al. (2018). To be clear, this model is shown to validate the univalence axiom in the previously cited paper. However, here we give an alternative, hopefully simpler, proof of univalence using the decomposition given in Section 4. We start from the knowledge that cubical sets model a type theory with types given by maps out of an interval object , and where types come equipped with a composition operation which is closed under all type formers (). From this we then show how to validate our axioms, and therefore the proper univalence axiom.

For most of this section we will work in the internal language of the cubical sets topos, using a technique developed by the authors in a previous paper Orton and Pitts (2016). We begin with a brief summary of the cubical sets model and then describe the internal language approach to working with such models. For those unfamiliar with this material we refer the reader to Cohen et al. (2018) and Orton and Pitts (2016) respectively for further details.

#### 5.1.1 The cubical sets model

Cohen et al Cohen et al. (2018) present a model of type theory using the category of presheaves on the small category whose objects are given by finite sets of symbols, written , with being the set of maps , where is the free De Morgan algebra Balbes and Dwinger (1975) on the set .

First we recall the standard way of constructing a presheaf model of type theory Hofmann (1997), note that this is not the final model construction. Take to be the category of contexts with the types over a context , written , given by presheaves on ’s category of elements. Terms of type , written are simply global sections of . Explicitly, this means that a type is given by a family of sets for every and such that for every and we have with and . A term is given by a family for every and such that for all we have . Following the convention in Cohen et al. (2018) we will often omit the first argument and will write functorial actions simply as .

These constructions all model substitution, context extension, projection, etc, in the correct way, and can be shown to form a category with families (CwF) in the sense of Dybjer Dybjer (1996). Such a model always supports both dependent sums and products. For example, given types and then the dependent sum can be interpreted as

 ΣAB(I,ρ)≜{(a,b)∣a∈A(I,ρ),b∈B(I,ρ,a)}

As stated in the previous section, any model of this kind will always have being strictly isomorphic to , that is, with natural transformations in each direction which are inverses up to equality in the model’s metatheory. Furthermore, assuming that the terminal type is interpreted as the terminal presheaf, then the same will be true for the types and . This is potentially useful when verifying axioms (1), (2), (4) and (5) for the reasons given above.

To get a model of type theory which validates the univalence axiom we restrict our attention to types with an associated composition structure (Cohen et al., 2018, Definition 13). We call such types fibrant and write for the collection of fibrant types over a context . Taking contexts, terms, type formers and substitution as before, we get a new CwF of fibrant types. We delay giving the exact definition of a composition structure until after we introduce the internal type theory of in the following section.

#### 5.1.2 The internal type theory of ^C

In previous work Orton and Pitts (2016) the authors axiomatised the properties of the cubical sets topos needed to develop a model of univalent type theory. They then showed how many of the constructions used in the model could be replicated using the internal type theory of an elementary topos Maietti (2005). Here we will often build on this approach, working mostly in the internal type theory. We now give a brief overview of this approach, and refer the reader to Orton and Pitts (2016) for full details.

We use a concrete syntax inspired by Agda Agda Project . Dependent function types are written as with lambda abstractions written as . We use in place of to indicate the use of implicit arguments. Dependent product types are written as with the pairing operation written as .

We assume the existence of an interval object with endpoints subject to certain conditions, a class of propositions , closed under and -indexed , which we call the cofibrant propositions and an internal full subtopos . Given we write for the type whose inhabitation corresponds to the provability of , and given a object and a cofibrant property we wrtie for the restriction of by . Given , and we write for ; thus elements of this type are proofs that the partial element (with cofibrant domain of definition ) extends to the totally defined element .

As an example of the use of this language we now reproduce the internal definition of a fibration (Orton and Pitts, 2016, Definition 5.7):

###### Definition 5.1 (CCHM fibrations).

A CCHM fibration over a type is a family equipped with a fibration structure , where is defined by

 isFib{Γ}A≜(e:{% {0{,}1}})(p:I→Γ)→Compe(A∘p)

Here is the type of composition structures for -indexed families:

 CompeA≜(φ:Cof)(f:[φ]→ΠIA)→{a0:Ae∣(φ,f)@e↗a0}→{a1:A¯¯¯e∣(φ,f)@¯¯¯e↗a1}

where is an abbreviation for the term of type .

We write for the type of fibrations over and recall that fibrations can be reindexed for .

#### 5.1.3 Paths between fibrations

We work in the internal type theory of the cubical sets topos wherever possible, however this approach does have its limitations. In particular this internal approach is unable to describe type theoretic universes (Orton and Pitts, 2016, Remark 7.5). Therefore we will not be able to construct elements of the identity type on the universe (the target type of axioms (1)-(3)). Instead, we work with an (externally) equivalent notion of equality between types.

###### Definition 5.2 (Path equality between fibrations).

Define the type of paths between CCHM fibrations by

 (A,α)∼U(B,β)≜{(P,ρ):Fib(Γ×I)∣(P,ρ)[⟨id,0⟩]=(A,α)∧(P,ρ)[⟨id,1⟩]=(B,β)}

To understand why this notion of path is equivalent to the usual notion recall that the universe construction in Cohen et al. (2018) is given by the usual Hofmann-Streicher universe construction for presheaf categories Hofmann and Streicher (1997). This means that there exists a type for all given by where denotes the Yoneda embedding of . Every (small) fibrant type has a code and every encodes a type such that and for all and .

Now consider the following: externally, a path corresponds to a fibration such that and for some and . From this data we can construct like so:

 p(ρ)≜⟨i⟩┌P┐(ρsi,i)

for . Note that this does define a path with the correct endpoints since substituting 0 for i we get:

 (┌P┐(ρ,0))f=P(ρf,0f)=P(ρf,0)=A(ρf)=(┌A┐(ρ))f

for all . The case for is similar.

Conversely, given we can define with the required properties like so:

 P(ρ,i)≜(pρi)idI

for . Again, note that this has the correct properties, e.g. at 0:

 P[⟨id,0⟩]ρ=P(ρ,0)=(pρ0)idI=(┌A┐ρ)idI=(El┌A┐)ρ=Aρ

for all . It is easily checked that these two constructions are mutual inverses. Therefore the data described by corresponds exactly to the data required to describe a path in the universe.

#### 5.1.4 The realignment lemma

Next, we introduce a technical lemma that will be needed in the following sections. For readers familiar with the cubical sets model, it is interesting to note that this is the only place where we use the fact that cofibrant propositions are closed under -indexed (Cohen et al., 2018, Section 4.1).

###### Lemma 5.3 (Realignment lemma).

Given and , let be the first projection. For any , and , there exists a composition structure such that .

###### Proof.

By (Orton and Pitts, 2016, Theorem 6.13), in which we define by

 realign(Φ,β,α)epψfa≜αep(ψ∨(∀(i:I).Φ(pi)))(f∪f′)a (1)

where is given by . ∎

In words, given a fibrant type and an alternative composition structure defined only on some restriction of , then we can realign the original composition structure so that it agrees with the alternative on that restriction.

Note that this construction is stable under reindexing in the following sense: given , , , and then,

 realign (Φ,β,α)[γ]epψfa =realign(Φ,β,α)e(γ∘p)ψfa =αe(γ∘p)(ψ∨(∀(i:I).Φ((γ∘p)i)))(f∪filleβ(λi→(γ∘p,ui))ψfa)a =α[γ]ep(ψ∨(∀(i:I).(Φ∘γ)(pi)))(f∪filleβ[⟨γ,id⟩](λi→(p,ui))ψfa)a =realign(Φ∘γ,β[⟨γ,id⟩],α[γ])epψfa

Therefore we have

 realign(Φ,β,α)[γ]=realign(Φ∘γ,β[⟨γ,id⟩],α[γ])

#### 5.1.5 Fibrations are closed under isomorphism

###### Definition 5.4 (Strict isomorphism).

A strict isomorphism between two objects is a pair where and such that and . We write .

This notion lifts to both families and fibrations, and we overload the notation like so: when then we take to mean and when then we take to mean .

###### Lemma 5.5.

Given a family and a fibration , such that , then we can construct an such that .

###### Proof.

Assume that we are given and as above with an isomorphism . We can then define a composition structure for as follows:

 αepφqa0≜g(p¯¯¯e)(βepφ(λui→f(pi)(qui))(f(pe)a0))

This construction has the required property that, given :

 αepφqa0 =g(p¯¯¯e)(βepφ(λui→f(pi)(qui))(f(pe)a0)) =g(p¯¯¯e)(f(p¯¯¯e)(qu¯¯¯e)) =qu¯¯¯e

Hence . ∎

Note that this proof only uses the fact that and so in fact the lemma holds more generally in the case where is just a section-retraction pair rather than a full isomorphism. Although here will we only use it in the context of isomorphisms.

#### 5.1.6 Strictification

###### Theorem 5.6.

There exists a term:

 strictify:{φ:Cof}(A:[φ]→U)(B:U)(s:(u:[φ])→(Au≅B))→(B′:U)×{s′:B′≅B∣∀(u:[φ]).Au=B′∧su=s′}

In words, this says that given any object and any cofibrant partial object such that is isomorphic to everywhere it is defined, then one can can construct a new object which extends , is isomorphic to , and this isomorphism extends the original isomorphism.

###### Proof.

See (Orton and Pitts, 2016, Theorem 8.4) for a proof that this property holds in the cubical sets model, and more generally in many other models (classically, in all presheaf models). ∎

We now lift this strictification property from objects to fibrations.

###### Theorem 5.7.

Given and , a partial fibration and a total fibration with , we can construct a new type and isomorphism:

 A′:Fib(Γ) and iso′:A′≅B

such that

 A′[ι]=A and iso′∘ι=iso

where is the inclusion .

###### Proof.

Given , , and with , we define , as:

 A′x≜fst(strictify(A(x,_),Bx,iso(x,_)))
 iso′x≜snd(strictify(A(x,_),Bx,iso(x,_)))

Now consider the equalities that are required to hold. From the properties of we already have that and . Therefore we just need to define a composition structure such that .

Since and we can use Lemma 5.5 to deduce that has a composition structure, which we call . We then define using Lemma 5.3.

#### 5.1.7 Misaligned paths between fibrations

We now introduce an new relation between fibrations which we call a misaligned path. This is similar to the notion of path between fibrations introduced in Definition 5.2, except that rather than being equal to and at the endpoints, the path only need be isomorphic to and at the endpoints.

###### Definition 5.8 (Misaligned path equality between fibrations).

Define the type of misaligned paths between CCHM fibrations by

 (A,α)∼≅(B,β)≜((P,ρ):Fib(Γ×I))×(A≅P∘⟨id,0⟩)×(B≅P∘⟨id,1⟩)

We can show that every misaligned path can be improved to a regular path between fibrations. First, we introduce a new construction on fibrations.

###### Definition 5.9.

Given fibrations we define a new fibration

 A⊻B:Fib((Γ×I)|Φ) where Φ(x,i)≜(i=0)∨(i=1)

given by where

 C :(Γ×I)|Φ→U C ((x,i),u)≜((λ_:[i=0]→Ax)∪(λ_:[i=1]→Bx))u

Here is a sort of disjoint union of the families and , observing that then we can think of as essentially being .

To see that is fibrant we observe that the interval is internally connected in the sense of in (Orton and Pitts, 2016, Figure 1). This means that any path must either factor as or as . Therefore any composition problem for must lie either entirely in , in which case we use to construct a solution, or entirely in , in which case we use . For further detail we refer the reader to (Orton and Pitts, 2016, Theorem 7.3) where the family occurs as an intermediate construction.

###### Definition 5.10.

Given , and with isomorphisms and then define as follows. Given :

 (iso0⊻iso1)(x,i,u) :(fst(A⊻B))(x,i,u)→(fstD)(x,i) (iso0⊻iso1)(x,i,u) ≜{iso0xwhen u:[i=0]iso1xwhen u:[i=1]

Observe that for all we have and , and for all and we have and . We now use this construct to show the following result:

###### Lemma 5.11.

There exists a function

 improve:{Γ:U}{AB:FibΓ}→A∼≅B→A∼UB
###### Proof.

Take , and and observe that . Therefore we can use Theorem 5.7 to strictify in order to get such that , where is the restriction . Now consider reindexing along we get:

 P′[⟨id,0⟩]=P′[ι∘⟨id,0,∗⟩]=