nLab type of propositions

Context

Universes

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

logicset theory (internal logic of)category theorytype theory
propositionsetobjecttype
predicatefamily of setsdisplay morphismdependent type
proofelementgeneralized elementterm/program
cut rulecomposition of classifying morphisms / pullback of display mapssubstitution
introduction rule for implicationcounit for hom-tensor adjunctionlambda
elimination rule for implicationunit for hom-tensor adjunctionapplication
cut elimination for implicationone of the zigzag identities for hom-tensor adjunctionbeta reduction
identity elimination for implicationthe other zigzag identity for hom-tensor adjunctioneta conversion
truesingletonterminal object/(-2)-truncated objecth-level 0-type/unit type
falseempty setinitial objectempty type
proposition, truth valuesubsingletonsubterminal object/(-1)-truncated objecth-proposition, mere proposition
logical conjunctioncartesian productproductproduct type
disjunctiondisjoint union (support of)coproduct ((-1)-truncation of)sum type (bracket type of)
implicationfunction set (into subsingleton)internal hom (into subterminal object)function type (into h-proposition)
negationfunction set into empty setinternal hom into initial objectfunction type into empty type
universal quantificationindexed cartesian product (of family of subsingletons)dependent product (of family of subterminal objects)dependent product type (of family of h-propositions)
existential quantificationindexed disjoint union (support of)dependent sum ((-1)-truncation of)dependent sum type (bracket type of)
logical equivalencebijection setobject of isomorphismsequivalence type
support setsupport object/(-1)-truncationpropositional truncation/bracket type
n-image of morphism into terminal object/n-truncationn-truncation modality
equalitydiagonal function/diagonal subset/diagonal relationpath space objectidentity type/path type
completely presented setsetdiscrete object/0-truncated objecth-level 2-type/set/h-set
setset with equivalence relationinternal 0-groupoidBishop set/setoid with its pseudo-equivalence relation an actual equivalence relation
equivalence class/quotient setquotientquotient type
inductioncolimitinductive type, W-type, M-type
higher inductionhigher colimithigher inductive type
-0-truncated higher colimitquotient inductive type
coinductionlimitcoinductive type
presettype without identity types
set of truth valuessubobject classifiertype of propositions
domain of discourseuniverseobject classifiertype universe
modalityclosure operator, (idempotent) monadmodal type theory, monad (in computer science)
linear logic(symmetric, closed) monoidal categorylinear type theory/quantum computation
proof netstring diagramquantum circuit
(absence of) contraction rule(absence of) diagonalno-cloning theorem
synthetic mathematicsdomain specific embedded programming language

homotopy levels

semantics

Contents

Idea

In type theory a type of propositions — typically denoted PropProp or Ω\Omega — corresponds, under categorical semantics, roughly to a subobject classifier.

(To be precise, depending on the type theoretic rules and axioms this may not be quite true: one needs propositional resizing, propositional extensionality, and — in some type theories where “proposition” is not defined as an h-proposition, such as the calculus of constructions — the principle of unique choice.)

Its generalization from propositions to general types is a type universe.

The subtypes of a type AA may typically be identified with the function types into the type of propositions

Sub(A)=Prop AAPropAΩ. Sub(A) \;\; = \;\; Prop_A \;\; \equiv \;\; A \to Prop \;\; \equiv \;\; A \to \Omega \,.

In dependent type theory such a P:APropP \,\colon\, A \to Prop is equivalently an AA-dependent proposition, to be understood as assingning to any term a:Aa \colon A the assertion that “aa is contained in the given subtype”.

Definition

The type of all propositions

The type of all propositions Ω\Omega in a dependent type theory could be presented either as a Russell universe or a Tarski universe. The difference between the two is that in the former, every mere proposition in the type theory is literally an element of the type of all propositions, while in the latter, elements of Ω\Omega are only indices of a (-1)-truncated type family El\mathrm{El}; every mere proposition in the type theory is only essentially Ω \Omega -small for weak Tarski universes or judgmentally equal to an El(P)\mathrm{El}(P) for P:ΩP:\Omega for strict Tarski universes.

As a Russell universe

As a Russell universe, the type of all propositions is given by the following rules:

Formation rules:

ΓctxΓΩtype\frac{\Gamma \; \mathrm{ctx}}{\Gamma \vdash \Omega \; \mathrm{type}}

Type reflection:

ΓA:ΩΓAtype\frac{\Gamma \vdash A:\Omega}{\Gamma \vdash A \; \mathrm{type}}

Propositional truncation for each type reflection

ΓA:ΩΓproptrunc(A):isProp(A)\frac{\Gamma \vdash A:\Omega}{\Gamma \vdash \mathrm{proptrunc}(A):\mathrm{isProp}(A)}

Introduction rule:

ΓAtypeΓproptrunc A:isProp(A)ΓA:Ω\frac{\Gamma \vdash A \; \mathrm{type} \quad \Gamma \vdash \mathrm{proptrunc}_A:\mathrm{isProp}(A)}{\Gamma \vdash A:\Omega}

Univalence:

ΓA:ΩΓB:ΩΓunivalence(A,B):Id Ω(A,B)(AB)\frac{\Gamma \vdash A:\Omega \quad \Gamma \vdash B:\Omega} {\Gamma \vdash \mathrm{univalence}(A, B):\mathrm{Id}_\Omega(A, B) \simeq (A \simeq B)}

As a Tarski universe

As a Tarski universe, the type of all propositions is given by the following rules:

Formation rules:

ΓctxΓΩtype\frac{\Gamma \; \mathrm{ctx}}{\Gamma \vdash \Omega \; \mathrm{type}}

Type reflection:

ΓA:ΩΓEl(A)type\frac{\Gamma \vdash A:\Omega}{\Gamma \vdash El(A) \; \mathrm{type}}

Propositional truncation for each type reflection

ΓA:ΩΓproptrunc(A):isProp(El(A))\frac{\Gamma \vdash A:\Omega}{\Gamma \vdash \mathrm{proptrunc}(A):\mathrm{isProp}(El(A))}

Introduction rule:

ΓAtypeΓproptrunc A:isProp(A)ΓA Ω:Ω\frac{\Gamma \vdash A \; \mathrm{type} \quad \Gamma \vdash \mathrm{proptrunc}_A:\mathrm{isProp}(A)}{\Gamma \vdash A_\Omega:\Omega}

Essential smallness of propositions (for weak types of all propositions) or judgmental equality (for strict types of all propositions):

ΓAtypeΓproptrunc A:isProp(A)Γδ A:El(A Ω)AweakΓAtypeΓproptrunc A:isProp(A)ΓEl(A Ω)Atypestrict\frac{\Gamma \vdash A \; \mathrm{type} \quad \Gamma \vdash \mathrm{proptrunc}_A:\mathrm{isProp}(A)}{\Gamma \vdash \delta_A:El(A_\Omega) \simeq A}\mathrm{weak} \quad \frac{\Gamma \vdash A \; \mathrm{type} \quad \Gamma \vdash \mathrm{proptrunc}_A:\mathrm{isProp}(A)}{\Gamma \vdash El(A_\Omega) \equiv A \; \mathrm{type}}\mathrm{strict}

Univalence:

ΓA:ΩΓB:ΩΓunivalence(A,B):isEquiv(transport El(A,B))\frac{\Gamma \vdash A:\Omega \quad \Gamma \vdash B:\Omega} {\Gamma \vdash \mathrm{univalence}(A, B):\mathrm{isEquiv}(\mathrm{transport}^\mathrm{El}(A, B))}

The empty proposition and falsehood

To ensure that the type of all propositions isn’t a contractible type, one could include the following axiom, which states that there exists a proposition satisfying ex falso quodlibet:

ΓctxΓaxempty: :Ω C:ΩisContr( x:C(x))RussellΓctxΓaxempty: :Ω C:El()ΩisContr( x:El()El(C(x)))Tarski\frac{\Gamma \; \mathrm{ctx}}{\Gamma \vdash \mathrm{axempty}:\sum_{\bot:\Omega} \prod_{C:\bot \to \Omega} \mathrm{isContr}\left(\prod_{x:\bot} C(x)\right)}\mathrm{Russell} \qquad \frac{\Gamma \; \mathrm{ctx}}{\Gamma \vdash \mathrm{axempty}:\sum_{\bot:\Omega} \prod_{C:\mathrm{El}(\bot) \to \Omega} \mathrm{isContr}\left(\prod_{x:\mathrm{El}(\bot)} \mathrm{El}(C(x))\right)}\mathrm{Tarski}

The type of all decidable propositions

Something similar holds for the type of all decidable propositions Ω decidable\Omega_\mathrm{decidable} in a dependent type theory, which could be presented either as a Russell universe or a Tarski universe. The difference between the two is that in the former, every decidable proposition in the type theory is literally an element of the type of all decidable propositions, while in the latter, elements of Ω decidable\Omega_\mathrm{decidable} are only indices of a (-1)-truncated type family El\mathrm{El}; every decidable proposition in the type theory is only essentially Ω decidable \Omega_\mathrm{decidable} -small for weak Tarski universes or judgmentally equal to an El(P)\mathrm{El}(P) for P:Ω decidableP:\Omega_\mathrm{decidable} for strict Tarski universes.

As a Russell universe

As a Russell universe, the type of all decidable propositions is given by the following rules:

Formation rules:

ΓctxΓΩ decidabletype\frac{\Gamma \; \mathrm{ctx}}{\Gamma \vdash \Omega_\mathrm{decidable} \; \mathrm{type}}

Type reflection:

ΓA:Ω decidableΓAtype\frac{\Gamma \vdash A:\Omega_\mathrm{decidable}}{\Gamma \vdash A \; \mathrm{type}}

Propositional truncation for each type reflection

ΓA:Ω decidableΓproptrunc(A):isProp(A)\frac{\Gamma \vdash A:\Omega_\mathrm{decidable}}{\Gamma \vdash \mathrm{proptrunc}(A):\mathrm{isProp}(A)}

Excluded middle for each type reflection

ΓA:Ω decidableΓlem(A):isProp(A)(A¬A)\frac{\Gamma \vdash A:\Omega_\mathrm{decidable}}{\Gamma \vdash \mathrm{lem}(A):\mathrm{isProp}(A) \to (A \vee \neg A)}

Introduction rules:

ΓAtypeΓproptrunc A:isProp(A)Γlem A:isProp(A)(A¬A)ΓA:Ω decidable\frac{\Gamma \vdash A \; \mathrm{type} \quad \Gamma \vdash \mathrm{proptrunc}_A:\mathrm{isProp}(A) \quad \Gamma \vdash \mathrm{lem}_A:\mathrm{isProp}(A) \to (A \vee \neg A)}{\Gamma \vdash A:\Omega_\mathrm{decidable}}

Univalence:

ΓA:Ω decidableΓB:Ω decidableΓunivalence(A,B):Id Ω decidable(A,B)(AB)\frac{\Gamma \vdash A:\Omega_\mathrm{decidable} \quad \Gamma \vdash B:\Omega_\mathrm{decidable}} {\Gamma \vdash \mathrm{univalence}(A, B):\mathrm{Id}_{\Omega_\mathrm{decidable}}(A, B) \simeq (A \simeq B)}

As a Tarski universe

As a Tarski universe, the type of all decidable propositions is given by the following rules:

Formation rules:

ΓctxΓΩ decidabletype\frac{\Gamma \; \mathrm{ctx}}{\Gamma \vdash \Omega_\mathrm{decidable} \; \mathrm{type}}

Type reflection:

ΓA:Ω decidableΓEl(A)type\frac{\Gamma \vdash A:\Omega_\mathrm{decidable}}{\Gamma \vdash El(A) \; \mathrm{type}}

Propositional truncation for each type reflection

ΓA:Ω decidableΓproptrunc(A):isProp(El(A))\frac{\Gamma \vdash A:\Omega_\mathrm{decidable}}{\Gamma \vdash \mathrm{proptrunc}(A):\mathrm{isProp}(El(A))}

Excluded middle for each type reflection

ΓA:Ω decidableΓlem(A):isProp(El(A))(El(A)¬El(A))\frac{\Gamma \vdash A:\Omega_\mathrm{decidable}}{\Gamma \vdash \mathrm{lem}(A):\mathrm{isProp}(El(A)) \to (El(A) \vee \neg El(A))}

Introduction rules:

ΓAtypeΓproptrunc A:isProp(A)Γlem A:isProp(A)A¬AΓA Ω:Ω decidable\frac{\Gamma \vdash A \; \mathrm{type} \quad \Gamma \vdash \mathrm{proptrunc}_A:\mathrm{isProp}(A) \quad \Gamma \vdash \mathrm{lem}_A:\mathrm{isProp}(A) \to A \vee \neg A}{\Gamma \vdash A_\Omega:\Omega_\mathrm{decidable}}

Essential smallness of propositions (for weak types of all decidable propositions) or judgmental equality (for strict types of all decidable propositions):

ΓAtypeΓproptrunc A:isProp(A)Γlem A:isProp(A)(A¬A)Γδ A:El(A Ω)AweakΓAtypeΓproptrunc A:isProp(A)Γlem A:isProp(A)(A¬A)ΓEl(A Ω)Atypestrict\frac{\Gamma \vdash A \; \mathrm{type} \quad \Gamma \vdash \mathrm{proptrunc}_A:\mathrm{isProp}(A) \quad \Gamma \vdash \mathrm{lem}_A:\mathrm{isProp}(A) \to (A \vee \neg A)}{\Gamma \vdash \delta_A:El(A_\Omega) \simeq A}\mathrm{weak} \qquad \frac{\Gamma \vdash A \; \mathrm{type} \quad \Gamma \vdash \mathrm{proptrunc}_A:\mathrm{isProp}(A) \quad \Gamma \vdash \mathrm{lem}_A:\mathrm{isProp}(A) \to (A \vee \neg A)}{\Gamma \vdash El(A_\Omega) \equiv A \; \mathrm{type}}\mathrm{strict}

Univalence:

ΓA:Ω decidableΓB:Ω decidableΓunivalence(A,B):isEquiv(transport El(A,B))\frac{\Gamma \vdash A:\Omega_\mathrm{decidable} \quad \Gamma \vdash B:\Omega_\mathrm{decidable}} {\Gamma \vdash \mathrm{univalence}(A, B):\mathrm{isEquiv}(\mathrm{transport}^\mathrm{El}(A, B))}

The type of booleans

The type of booleans or booleans type is given by the following rules:

Formation rules:

ΓctxΓbooltype\frac{\Gamma \; \mathrm{ctx}}{\Gamma \vdash \mathrm{bool} \; \mathrm{type}}

Type reflection:

ΓA:boolΓEl(A)type\frac{\Gamma \vdash A:\mathrm{bool}}{\Gamma \vdash El(A) \; \mathrm{type}}

Introduction rules:

ΓctxΓfalse:boolΓctxΓδ 𝟘:El(false)𝟘\frac{\Gamma \; \mathrm{ctx}}{\Gamma \vdash \mathrm{false}:\mathrm{bool}} \quad \frac{\Gamma \; \mathrm{ctx}}{\Gamma \vdash \delta_\mathbb{0}:El(\mathrm{false}) \simeq \mathbb{0}}
ΓctxΓtrue:boolΓctxΓδ 𝟙:El(true)𝟙\frac{\Gamma \; \mathrm{ctx}}{\Gamma \vdash \mathrm{true}:\mathrm{bool}} \quad \frac{\Gamma \; \mathrm{ctx}}{\Gamma \vdash \delta_\mathbb{1}:El(\mathrm{true}) \simeq \mathbb{1}}

Univalence:

ΓA:boolΓB:boolΓunivalence(A,B):isEquiv(transport El(A,B))\frac{\Gamma \vdash A:\mathrm{bool} \quad \Gamma \vdash B:\mathrm{bool}} {\Gamma \vdash \mathrm{univalence}(A, B):\mathrm{isEquiv}(\mathrm{transport}^\mathrm{El}(A, B))}

Unlike a generic two-valued type defined as the sum type of two copies of the unit type or directly defined in terms of natural deduction rules, having a type of booleans is inconsistent with every type being an h-proposition. If bool\mathrm{bool} were an h-proposition, that means that the identity type false=true\mathrm{false} = \mathrm{true} is pointed, and by transport across El\mathrm{El}, there is an equivalence between the empty type and the unit type, which is a contradiction.

Other types of propositions

We work in an intensional type theory with propositional truncations [T]\left[T\right] for types TT. A type of propositions is a type Ω\Omega with a type family TT such that

  • for every proposition P:ΩP:\Omega, the type T(P)T(P) is an h-proposition:
    P:Ω a:T(P) b:T(P)a= T(P)b\prod_{P:\Omega} \prod_{a:T(P)} \prod_{b:T(P)} a =_{T(P)} b
  • the transport function
    trans T(P,Q):P= ΩQ(T(P)T(Q))\mathrm{trans}^T(P, Q):P =_\Omega Q \to (T(P) \simeq T(Q))

    is an equivalence of types for all propositions P:ΩP:\Omega and Q:ΩQ:\Omega

    P:Ω Q:ΩisEquiv(trans T(P,Q))\prod_{P:\Omega} \prod_{Q:\Omega} \mathrm{isEquiv}(\mathrm{trans}^T(P, Q))
  • (Ω,T)(\Omega, T) is weakly closed under truth: there is an element Ω:Ω\top_\Omega:\Omega and an equivalence canonical :T( Ω)𝟙\mathrm{canonical}_\top: T(\top_\Omega) \simeq \mathbb{1}
  • (Ω,T)(\Omega, T) is weakly closed under conjunction: there is a function ()():Ω×ΩΩ(-)\wedge(-):\Omega \times \Omega \to \Omega and an equivalence canonical (P,Q):T(PQ)[T(P)×T(Q)]\mathrm{canonical}_\wedge(P, Q): T(P \wedge Q) \simeq \left[T(P) \times T(Q)\right]
  • (Ω,T)(\Omega, T) is weakly closed under implication: there is a function ()():Ω×ΩΩ(-)\implies(-):\Omega \times \Omega \to \Omega and an equivalence canonical (P,Q):T(PQ)[T(P)T(Q)]\mathrm{canonical}_\implies(P, Q): T(P \implies Q) \simeq \left[T(P) \to T(Q)\right]
  • (Ω,T)(\Omega, T) is weakly closed under falsehood: there is an element Ω:Ω\bot_\Omega:\Omega and an equivalence canonical :T( Ω)𝟘\mathrm{canonical}_\bot: T(\bot_\Omega) \simeq \mathbb{0}
  • (Ω,T)(\Omega, T) is weakly closed under disjunction: there is a function ()():Ω×ΩΩ(-)\vee(-):\Omega \times \Omega \to \Omega and an equivalence canonical (P,Q):T(PQ)[T(P)+T(Q)]\mathrm{canonical}_\vee(P, Q): T(P \vee Q) \simeq \left[T(P) + T(Q)\right]

These axioms imply that (Ω,T)(\Omega, T) satisfy propositional extensionality and that Ω\Omega is an h-set and a Heyting algebra.

Examples

The type of all internal propositions

A:UisProp(T(A))\sum_{A:U} \mathrm{isProp}(T(A))

in a Tarski universe (U,T)(U, T) is a type of propositions. If the Tarski universe has all propositions, then

A:UisProp(T(A))\sum_{A:U} \mathrm{isProp}(T(A))

is the type of all propositions.

References

Detailed discussion of the type of propositions in Coq is in

Last revised on September 17, 2023 at 12:46:50. See the history of this page for a list of all contributions to it.