natural deduction metalanguage, practical foundations
type theory (dependent, intensional, observational type theory, homotopy type theory)
computational trinitarianism =
propositions as types +programs as proofs +relation type theory/category theory
In homotopy type theory, the notion of mere proposition is an internalization of the notion of proposition / (-1)-truncated object. Mere propositions are also called h-propositions, types of h-level $1$, $(-1)$-truncated types, or even just propositions if no ambiguity will result. Semantically, mere propositions correspond to (-1)-groupoids or more generally (-1)-truncated objects.
Mere propositions are one way to embed logic into homotopy type theory, via the propositions as some types / bracket types approach. For many purposes, this is the “correct” way to embed logic (as opposed to the propositions as types approach — for instance, the PAT version of excluded middle contradicts the univalence axiom, whereas the mere-propositional version does not).
Consider intensional type theory with dependent sums, dependent products, and identity types.
There are many equivalent definitions of a type being an h-proposition. Perhaps the simplest is as follows.
For $A$ a type, let $isProp(A)$ denote the dependent product of the identity types for all pairs of terms of $A$:
We say that $A$ is an h-proposition if $isProp(A)$ is an inhabited type.
In propositions as types language, this can be pronounced as “every two elements of $A$ are equal”.
The following are two provably equivalent definitions of $isProp(A)$, in terms of the dependent type $isContr(-)$ that checks for contractible types:
The first fits into the general inductive definition of n-groupoid: an $\infty$-groupoid is an $n$-groupoid if all its hom-groupoids are $(n-1)$-groupoids. The second says that being a proposition is equivalent to being “contractible if inhabited”.
We can prove that for any $A$, the type $isProp(A)$ is an h-proposition, i.e. $isProp(isProp(A))$. Thus, any two inhabitants of $isProp(A)$ (witnesses that $A$ is an h-proposition) are “equal”.
If $A$ and $B$ are h-props and there exist maps $A\to B$ and $B\to A$, then $A$ and $B$ are equivalent.
We discuss the categorical semantics of h-propositions.
Let $\mathcal{C}$ be a locally cartesian closed category with sufficient structure to interpret all the above type theory. This means that $C$ has a weak factorization system with stable path objects, and that trivial cofibrations are preserved by pullback along fibrations between fibrant objects. (We ignore questions of coherence, which are not important for this discussion.)
Then for a fibrant object $A$, the object $isProp(A)$ defined above (with the first definition) is obtained by taking dependent product of the path-object $A^I \to A\times A$ along the projection $A\times A\to 1$. By adjunction, a global element of $isProp(A)$ is therefore equivalent to a section of the path-object, which exactly means a (right) homotopy between the two projections $A\times A\;\rightrightarrows\; A$. The existence of such a homotopy, in turn, is equivalent to saying that any two maps $X\;\rightrightarrows\; A$ are homotopic.
More generally, we may apply this locally. Suppose that $A\to B$ is a fibration, which we can regard as a dependent type
Then we have a dependent type
represented by a fibration $isProp(A)\to B$. By applying the above argument in the slice category $\mathcal{C}/B$, we see that $isProp(A)\to B$ has a section exactly when any two maps in $\mathcal{C}/B$ into $A\to B$ are homotopic over $B$. We can also construct the type
in global context, which has a global element precisely when $isProp(A)\to B$ has a section.
homotopy level | n-truncation | homotopy theory | higher category theory | higher topos theory | homotopy type theory |
---|---|---|---|---|---|
h-level 0 | (-2)-truncated | contractible space | (-2)-groupoid | true/unit type/contractible type | |
h-level 1 | (-1)-truncated | contractible-if-inhabited | (-1)-groupoid/truth value | (0,1)-sheaf/ideal | mere proposition/h-proposition |
h-level 2 | 0-truncated | homotopy 0-type | 0-groupoid/set | sheaf | h-set |
h-level 3 | 1-truncated | homotopy 1-type | 1-groupoid/groupoid | (2,1)-sheaf/stack | h-groupoid |
h-level 4 | 2-truncated | homotopy 2-type | 2-groupoid | (3,1)-sheaf/2-stack | h-2-groupoid |
h-level 5 | 3-truncated | homotopy 3-type | 3-groupoid | (4,1)-sheaf/3-stack | h-3-groupoid |
h-level $n+2$ | $n$-truncated | homotopy n-type | n-groupoid | (n+1,1)-sheaf/n-stack | h-$n$-groupoid |
h-level $\infty$ | untruncated | homotopy type | ∞-groupoid | (∞,1)-sheaf/∞-stack | h-$\infty$-groupoid |