3.7 Propositional truncation

The propositional truncation, also called the $(-1)$-truncation, bracket type, or squash type, is an additional type former which “squashes” or “truncates” a type down to a mere proposition, forgetting all information contained in inhabitants of that type other than their existence.

More precisely, for any type $A$, there is a type $\mathopen{}\left\|A\right\|\mathclose{}$. It has two constructors:

• For any $a:A$ we have $\mathopen{}\left|a\right|\mathclose{}:\mathopen{}\left\|A\right\|\mathclose{}$.

• For any $x,y:\mathopen{}\left\|A\right\|\mathclose{}$, we have $x=y$.

The first constructor means that if $A$ is inhabited, so is $\mathopen{}\left\|A\right\|\mathclose{}$. The second ensures that $\mathopen{}\left\|A\right\|\mathclose{}$ is a mere proposition; usually we leave the witness of this fact nameless.

The recursion principle of $\mathopen{}\left\|A\right\|\mathclose{}$ says that:

• If $B$ is a mere proposition and we have $f:A\to B$, then there is an induced $g:\mathopen{}\left\|A\right\|\mathclose{}\to B$ such that $g(\mathopen{}\left|a\right|\mathclose{})\equiv f(a)$ for all $a:A$.

In other words, any mere proposition which follows from (the inhabitedness of) $A$ already follows from $\mathopen{}\left\|A\right\|\mathclose{}$. Thus, $\mathopen{}\left\|A\right\|\mathclose{}$, as a mere proposition, contains no more information than the inhabitedness of $A$. (There is also an induction  principle for $\mathopen{}\left\|A\right\|\mathclose{}$, but it is not especially useful; see http://planetmath.org/node/87806Exercise 3.20.)

In http://planetmath.org/node/87799Exercise 3.17,http://planetmath.org/node/87834Exercise 3.18,§6.9 (http://planetmath.org/69truncations) we will describe some ways to construct $\mathopen{}\left\|A\right\|\mathclose{}$ in terms of more general things. For now, we simply assume it as an additional rule alongside those of http://planetmath.org/node/87533Chapter 1.

With the propositional truncation, we can extend the “logic of mere propositions” to cover disjunction  and the existential quantifier  . Specifically, $\mathopen{}\left\|A+B\right\|\mathclose{}$ is a mere propositional version of “$A$ or $B$”, which does not “remember” the information of which disjunct is true.

The recursion principle of truncation implies that we can still do a case analysis on $\mathopen{}\left\|A+B\right\|\mathclose{}$ when attempting to prove a mere proposition. That is, suppose we have an assumption  $u:\mathopen{}\left\|A+B\right\|\mathclose{}$ and we are trying to prove a mere proposition $Q$. In other words, we are trying to define an element of $\mathopen{}\left\|A+B\right\|\mathclose{}\to Q$. Since $Q$ is a mere proposition, by the recursion principle for propositional truncation, it suffices to construct a function $A+B\to Q$. But now we can use case analysis on $A+B$.

Similarly, for a type family $P:A\to\mathcal{U}$, we can consider $\mathopen{}\left\|\mathchoice{\sum_{x:A}\,}{\mathchoice{{\textstyle\sum_{(x:A)% }}}{\sum_{(x:A)}}{\sum_{(x:A)}}{\sum_{(x:A)}}}{\mathchoice{{\textstyle\sum_{(x% :A)}}}{\sum_{(x:A)}}{\sum_{(x:A)}}{\sum_{(x:A)}}}{\mathchoice{{\textstyle\sum_% {(x:A)}}}{\sum_{(x:A)}}{\sum_{(x:A)}}{\sum_{(x:A)}}}P(x)\right\|\mathclose{}$, which is a mere propositional version of “there exists an $x:A$ such that $P(x)$”. As for disjunction, by combining the induction principles of truncation and $\Sigma$-types, if we have an assumption of type $\mathopen{}\left\|\mathchoice{\sum_{x:A}\,}{\mathchoice{{\textstyle\sum_{(x:A)% }}}{\sum_{(x:A)}}{\sum_{(x:A)}}{\sum_{(x:A)}}}{\mathchoice{{\textstyle\sum_{(x% :A)}}}{\sum_{(x:A)}}{\sum_{(x:A)}}{\sum_{(x:A)}}}{\mathchoice{{\textstyle\sum_% {(x:A)}}}{\sum_{(x:A)}}{\sum_{(x:A)}}{\sum_{(x:A)}}}P(x)\right\|\mathclose{}$, we may introduce new assumptions $x:A$ and $y:P(x)$ when attempting to prove a mere proposition. In other words, if we know that there exists some $x:A$ such that $P(x)$, but we don’t have a particular such $x$ in hand, then we are free to make use of such an $x$ as long as we aren’t trying to construct anything which might depend on the particular value of $x$. Requiring the codomain to be a mere proposition expresses this independence of the result on the witness, since all possible inhabitants of such a type must be equal.

For the purposes of set-level mathematics in http://planetmath.org/node/87585Chapter 11,http://planetmath.org/node/87584Chapter 10, where we deal mostly with sets and mere propositions, it is convenient to use the traditional logical notations to refer only to “propositionally truncated logic”.

Definition 3.7.1.

We define traditional logical notation using truncation as follows, where $P$ and $Q$ denote mere propositions (or families thereof):

 $\displaystyle\top$ $\displaystyle\ :\!\!\equiv\ \mathbf{1}$ $\displaystyle\bot$ $\displaystyle\ :\!\!\equiv\ \mathbf{0}$ $\displaystyle P\land Q$ $\displaystyle\ :\!\!\equiv\ P\times Q$ $\displaystyle P\Rightarrow Q$ $\displaystyle\ :\!\!\equiv\ P\to Q$ $\displaystyle P\Leftrightarrow Q$ $\displaystyle\ :\!\!\equiv\ P=Q$ $\displaystyle\neg P$ $\displaystyle\ :\!\!\equiv\ P\to\mathbf{0}$ $\displaystyle P\lor Q$ $\displaystyle\ :\!\!\equiv\ \mathopen{}\left\|P+Q\right\|\mathclose{}$ $\displaystyle\forall(x:A).\,P(x)$ $\displaystyle\ :\!\!\equiv\ \mathchoice{\prod_{x:A}\,}{\mathchoice{{\textstyle% \prod_{(x:A)}}}{\prod_{(x:A)}}{\prod_{(x:A)}}{\prod_{(x:A)}}}{\mathchoice{{% \textstyle\prod_{(x:A)}}}{\prod_{(x:A)}}{\prod_{(x:A)}}{\prod_{(x:A)}}}{% \mathchoice{{\textstyle\prod_{(x:A)}}}{\prod_{(x:A)}}{\prod_{(x:A)}}{\prod_{(x% :A)}}}P(x)$ $\displaystyle\exists(x:A).\,P(x)$ $\displaystyle\ :\!\!\equiv\ \Bigl{\|}\mathchoice{\sum_{x:A}\,}{\mathchoice{{% \textstyle\sum_{(x:A)}}}{\sum_{(x:A)}}{\sum_{(x:A)}}{\sum_{(x:A)}}}{% \mathchoice{{\textstyle\sum_{(x:A)}}}{\sum_{(x:A)}}{\sum_{(x:A)}}{\sum_{(x:A)}% }}{\mathchoice{{\textstyle\sum_{(x:A)}}}{\sum_{(x:A)}}{\sum_{(x:A)}}{\sum_{(x:% A)}}}P(x)\Bigr{\|}$

The notations $\land$ and $\lor$ are also used in homotopy theory for the smash product and the wedge of pointed spaces, which we will introduce in http://planetmath.org/node/87579Chapter 6. This technically creates a potential for conflict, but no confusion will generally arise.

Similarly, when discussing subsets as in §3.5 (http://planetmath.org/35subsetsandpropositionalresizing), we may use the traditional notation for intersections  , unions, and complements  :

 $\displaystyle\{x:A|P(x)\}\cap\{x:A|Q(x)\}$ $\displaystyle:\!\!\equiv\{x:A|P(x)\land Q(x)\},$ $\displaystyle\{x:A|P(x)\}\cup\{x:A|Q(x)\}$ $\displaystyle:\!\!\equiv\{x:A|P(x)\lor Q(x)\},$ $\displaystyle A\setminus\{x:A|P(x)\}$ $\displaystyle:\!\!\equiv\{x:A|\neg P(x)\}.$

Of course, in the absence of $\mathsf{LEM}$, the latter are not “complements” in the usual sense: we may not have $B\cup(A\setminus B)=A$.

Title 3.7 Propositional truncation
\metatable