nLab
h-proposition

Context

Type theory

natural deduction metalanguage, practical foundations

  1. type formation rule
  2. term introduction rule
  3. term elimination rule
  4. computation rule

type theory (dependent, intensional, observational type theory, homotopy type theory)

syntax object language

computational trinitarianism = propositions as types +programs as proofs +relation type theory/category theory

logiccategory theorytype theory
trueterminal object/(-2)-truncated objecth-level 0-type/unit type
falseinitial objectempty type
proposition(-1)-truncated objecth-level 1-type/h-prop
proofgeneralized elementprogram
conjunctionproductproduct type
disjunctioncoproduct ((-1)-truncation of)sum type (bracket type of)
implicationinternal homfunction type
negationinternal hom into initial objectfunction type into empty type
universal quantificationdependent productdependent product type
existential quantificationdependent sum ((-1)-truncation of)dependent sum type (bracket type of)
equivalencepath space objectidentity type
equivalence classquotientquotient type
inductioncolimitinductive type, W-type, M-type
higher inductionhigher colimithigher inductive type
completely presented setdiscrete object/0-truncated objecth-level 2-type/preset/h-set
setinternal 0-groupoidBishop set/setoid
universeobject classifiertype of types
modalityclosure operator monadmodal type theory, monad (in computer science)

homotopy levels

semantics

h-Propositions

Idea

In homotopy type theory, the notion of h-proposition (or just a proposition, if no ambiguity will result) is an internalization of the notion of proposition / (-1)-truncated object.

h-Propositions are how logic is embedded into homotopy type theory, via the propositions as some types / bracket types approach.

h-Propositions are also said to be of h-level 1.

Definition

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.

Definition

For A a tpye, let isProp(A) denote the dependent product of the identity types for all pairs of terms of A:

isProp(A) x:A y:A(x=y)isProp(A) \coloneqq \prod_{x\colon A} \prod_{y\colon A} (x=y)

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”.

Proposition

The following are two provably equivalent definitions of isProp(A), in terms of the dependent type isContr() that checks for contractible types:

  • isProp(A) x:A y:AisContr(x=y)
  • isProp(A)(AisContr(A))

The first fits into the general inductive definition of n-groupoid: an -groupoid is an n-groupoid if all its hom-groupoids are (n1)-groupoids. The second says that being a proposition is equivalent to being “contractible if inhabited”.

Properties

  • 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 AB and BA, then A and B are equivalent.

Categorical semantics

We discuss the categorical semantics of h-propositions.

Let 𝒞 be a locally cartesian closed category with sufficient structure to intepret 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 IA×A along the projection A×A1. 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×AA. The existence of such a homotopy, in turn, is equivalent to saying that any two maps XA are homotopic.

More generally, we may apply this locally. Suppose that AB is a fibration, which we can regard as a dependent type

x:BA(x):Type.x\colon B \vdash A(x)\colon Type.

Then we have a dependent type

x:BisProp(A(x)):Typex\colon B \vdash isProp(A(x))\colon Type

represented by a fibration isProp(A)B. By applying the above argument in the slice category 𝒞/B, we see that isProp(A)B has a section exactly when any two maps in 𝒞/B into AB are homotopic over B. We can also construct the type

x:BisProp(A(x))\prod_{x\colon B} isProp(A(x))

in global context, which has a global element precisely when isProp(A)B has a section.

homotopy leveln-truncationhomotopy theoryhigher category theoryhigher topos theoryhomotopy type theory
h-level 0(-2)-truncatedcontractible space(-2)-groupoidtrue/unit type/contractible type
h-level 1(-1)-truncated(-1)-groupoid/truth valueh-proposition
h-level 20-truncateddiscrete space0-groupoid/setsheafh-set
h-level 31-truncatedhomotopy 1-type1-groupoid/groupoid(2,1)-sheaf/stackh-groupoid
h-level 42-truncatedhomotopy 2-type2-groupoidh-2-groupoid
h-level 53-truncatedhomotopy 3-type3-groupoidh-3-groupoid
h-level n+2n-truncatedhomotopy n-typen-groupoidh-n-groupoid
h-level untruncatedhomotopy type∞-groupoid(∞,1)-sheaf/∞-stackh--groupoid

References

Coq-code for h-propositions is in

Revised on September 10, 2012 20:23:21 by Urs Schreiber (131.174.188.17)