research37 min studyLesson 996 in Mathematics

Mere propositions and propositional truncation

Erase witness distinctions deliberately, respect the truncation eliminator, and recover uniquely characterized data safely.

On this page

What you’ll understand

  • Distinguish a mere proposition, a set, and an arbitrary proof-relevant type.
  • Apply propositional-truncation elimination only with its required target condition.
  • Explain both a failed witness-preserving elimination and valid unique-choice extraction.

A type can contain several distinguishable objects, while a mere proposition contains at most one object up to identity. Propositional truncation deliberately turns an inhabited type into a mere statement of inhabitation. That operation is useful for mathematical existence, but it changes what can be extracted. The elimination rule records the loss of witness distinctions. We will expose a concrete obstruction to preserving different outputs and then explain how a uniquely characterized object can sometimes be recovered without a general choice axiom.

A proposition is not the same thing as an inhabited set

A type is a mere proposition when any two of its elements are equal. This condition permits the type to be empty; adding an inhabitant makes it contractible. A set, in the homotopy-type-theoretic sense, instead has identity types that are mere propositions. Natural numbers and Booleans are sets with many possible elements, rather than mere propositions. This terminology concerns the structure of identity, not a universal declaration that every type is an ordinary set.

Proof irrelevance for mere propositions means that different evidence of the same mere statement cannot be distinguished by an internal function. It does not collapse all witnesses in an arbitrary dependent sum. For a predicate R on a set A, the pair type containing an a and evidence of R can still have several distinct first components. To express only that some such a exists, one can apply propositional truncation to the whole pair type.

isProp⁡(P)=∏x,y:P(x=y),isSet⁡(A)=∏x,y:AisProp⁡(x=y).\operatorname{isProp}(P)=\prod_{x,y:P}(x=y),\qquad \operatorname{isSet}(A)=\prod_{x,y:A}\operatorname{isProp}(x=y).
Being a set restricts equality proofs, while being a mere proposition restricts the elements themselves.↔ Scroll wide equations horizontally.

The eliminator permits conclusions insensitive to the witness

Propositional truncation supplies a map sending each element of A to its mere inhabitation and ensures that the resulting type is a mere proposition. Its basic nondependent recursor takes a function from A into a mere proposition P and extends it to a function from the truncation into P. To use the rule, the target's proposition condition is part of the required input. Dependent elimination has the corresponding proposition-valued fiber requirement.

This restriction is not a ban on every function from a truncation into a nonpropositional type. A constant function to a previously known natural number is perfectly definable. The restriction is that one cannot invoke this recursor with an arbitrary target and expect it to preserve different witness-dependent outputs. More refined factorization arguments require extra coherence data. Merely calling the target a set is weaker than calling it a mere proposition and does not discharge the basic recursor's hypothesis.

isProp⁡(P)⟹(A→P)→(∥A∥→P),A→∣⋅∣∥A∥.\operatorname{isProp}(P)\quad\Longrightarrow\quad (A\to P)\to(\|A\|\to P),\qquad A\xrightarrow{|\cdot|}\|A\|.
The usual computation law identifies the extended map on |a| with the original output; its judgmental or propositional status depends on the chosen truncation implementation.↔ Scroll wide equations horizontally.

Unique characterization can recover data without arbitrary choice

Suppose R is proposition valued on a set A and any two objects satisfying R are equal. Then the dependent sum of an object and its R certificate is itself a mere proposition: equality of first components follows from uniqueness, and transported certificates agree because R is proposition valued. Its truncation can therefore be eliminated back into that very pair type. Projecting the recovered pair returns the uniquely characterized object. This is unique choice, not a procedure for selecting among arbitrary distinct candidates.

Finite data can also provide an independent construction. If a finite relation is decidable and a witness is known to occur in its explicit search list, an algorithm can inspect that list and return the first verified witness. The extraction then relies on the enumeration, decisions, and termination argument. It does not show that truncation has secretly retained a recoverable first witness, nor that every merely inhabited infinite fiber admits such a search procedure.

isProp⁡ ⁣(∑a:AR(a))⟹∥∑a:AR(a)∥→∑a:AR(a).\operatorname{isProp}\!\left(\sum_{a:A}R(a)\right)\quad\Longrightarrow\quad \left\|\sum_{a:A}R(a)\right\|\to\sum_{a:A}R(a).
The target proposition condition is proved using uniqueness and proposition-valued certificates before elimination is applied.↔ Scroll wide equations horizontally.

Why two distinct witness outputs cannot survive squashing

Define f on Bool by f(false)=2 and f(true)=5. Can a map g from the propositional truncation of Bool to natural numbers agree with f on both inserted Boolean values? Contrast this with a constant output.

  1. The truncation is a mere proposition, so the inserted values |false| and |true| have an identity between them. Applying any proposed g to that identity gives an equality of its two natural-number outputs.

  2. If g agrees with f on inserted values, those outputs would be two and five. Their equality contradicts the disjoint natural-number constructors, so no such witness-preserving factorization exists.

  3. The constant function returning seven from every truncated input is nevertheless definable. Both inserted Booleans then produce seven, so the required equality of outputs is satisfied. The obstruction was preserving distinguishable outputs, not the mere presence of a natural-number codomain.

∣false∣=∣true∣⟹g(∣false∣)=g(∣true∣),2≠5.|\mathrm{false}|=|\mathrm{true}|\quad\Longrightarrow\quad g(|\mathrm{false}|)=g(|\mathrm{true}|),\qquad 2\ne5.
Application preserves identity, so a map out of a mere proposition cannot distinguish its inhabitants.↔ Scroll wide equations horizontally.
The result

No factorization can preserve the outputs two and five, while a separately defined constant-seven map is valid.

Explore the model

Interactive lab

Interactive lab · modular

Compare distinct finite witnesses before any truncation

Pause and Reset, then set modulus to 6 and additive step to 1. After two Steps predict residue 2 and after five Steps residue 5, the distinct natural outputs in the example. For a fresh comparison Reset and set modulus to 6 and step to 0; residue remains 0 at every Step, illustrating a constant output pattern. The orbit is not a truncation operation or a proof of an elimination rule. Editing preserves elapsed time; Reset and set both controls for every comparison.

Compare distinct finite witnesses before any truncationAddition modulo m starts at zero: rₙ = na mod m. Playback advances two additions per second. The orbit has period m/gcd(m,a), including period one for a = 0. This is not a cryptographic security test or a primality algorithm. Current readings: Residue r0: 0; Orbit period · m/gcd(m,a): 12; Distinct residues visited: 1 of 12. All parameters are adjustable with the labeled controls below.Repeated addition modulo 12: the current residue is 0, and the orbit period is 12.01234567891011+ 5mod 12An additive orbitn = 0rₙ = 0Period = 12Cycle starts at 0:0 → 5 → 10 → 3 →8 → 1 → 6 → 11 →4 → 9 → 2 → 7 → 0Exact residues · two additions per second
Additive orbitCurrent residue / next edge
Residue r0
0
Orbit period · m/gcd(m,a)
12
Distinct residues visited
1 of 12
t = 0 s

Addition modulo m starts at zero: rₙ = na mod m. Playback advances two additions per second. The orbit has period m/gcd(m,a), including period one for a = 0. This is not a cryptographic security test or a primality algorithm. Parameter changes pause playback and recompute the model at the current elapsed time. Reset restores both parameters and returns time to zero. Playback starts paused. Adjust either parameter, then choose Play or Step.

Look forErasing witness distinctions is a type-theoretic operation, separate from displaying or traversing finite values.

Check your understanding

What hypothesis permits the basic recursor for propositional truncation to extend A→P to ∥A∥→P?

Try it yourself

For the parity map from Fin(4) to Fin(2), construct a section explicitly and list the two fibers. Explain why this finite construction is compatible with the restriction on general truncated witness extraction.

Take a moment to make a prediction or work it out on paper. Open a hint when you need one.

Give me a hint

Choose the smallest even and odd codes as preimages and verify each parity calculation.

Compare with the solution

The zero fiber contains codes zero and two, while the one fiber contains one and three. Define the section to send zero to zero and one to one. Computing parity verifies both required equations. The result uses an explicit two-entry table rather than eliminating arbitrary truncations into Fin(4). In particular, it does not recover whichever preimage might have been used to prove mere surjectivity; another correct preimage could exist in the same fiber.

Take it with you

  • Mere propositions may be empty; inhabited ones are contractible.
  • Basic truncation elimination requires a proposition-valued target, not merely a set.
  • Unique characterization or explicit finite search can justify particular extractions without general choice.

Read further

Original sources and deeper explanations to follow at your own pace.

Optional progress, saved in this browser when available. Revisit any lesson at any time.

Lesson not marked complete.