nLab modality



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


Modalities, Closure and Reflection



A modality in philosophy and formally in formal logic/type theory expresses a certain mode (or “moment” as in Hegel 12) of being.

In philosophy

According to (Kant 1900) (see WP) the four “categories” are

  1. Quantity

  2. Quality

  3. Relation

  4. Modality

and the modalities contain the three pairs of opposites

In formal logic and type theory

In formal logic and type theory modalities are formalized by modal operators or closure operators \sharp, that send propositions/types XX to new propositions/types X\sharp X, satisfying some properties.

Adding such modalities to propositional logic or similar produces what is called modal logic. Here the most famous modal operators are those meant to formalize necessity (denoted \Box) and possibility (denoted \lozenge), which together form S4 modal logic. Similarly, adding modalities more generally to type theory and homotopy type theory yields modal type theory and modal homotopy type theory; See there for more details.

In general, the categorical semantics of these modalities is that \sharp is interpreted as some kind of functor on the category of contexts or types. Often it is either a monad or comonad, and often this monad or comonad is idempotent, but not always. Similarly, in homotopy type theory, the categorical semantics of a higher modality or homotopy modality is an (infinity,1)-functor or monad, perhaps idempotent.

Idempotent monadic modalities in homotopy type theory

Since idempotent monadic modalities are very common and important in homotopy type theory, and other sorts are more difficult to formalize internally, sometimes those adjectives are dropped and we speak merely of “modalities” (e.g. Shulman 12, Rijke, Shulman, Spitters ). Here we describe the idempotent monadic case, although it should be noted that comonadic and non-idempotent modalities also arise and are important; they are generally formalized using some kind of modal type theory.

In fact, there are a number of different but equivalent ways to define an (idempotent, monadic) modality in homotopy type theory (see at modal homotopy type theory). From Rijke, Shulman, Spitters 17:

  • Higher modality: A modality consists of a modal operator L:TypeTypeL : {Type} \to {Type} and for every type XX a modal unit () L:XLX(-)^L : X \to LX together with
  1. an induction principle of type

    ind:((a:A)LB(a L))((u:LA)LB(u))\text{ind} : ((a : A) \to LB(a^L)) \to ((u : LA) \to LB(u))

    for any type AA and type BB depending on LALA

  2. a computation rule

    com:ind(f)(a L)=f(a).\text{com} : \text{ind}(f)(a^L) = f(a).
  3. a witness that for any x,y:LAx, y : LA, the modal unit () L:(x=y)L(x=y)(-)^L : (x = y) \to L(x = y) is an equivalence.

  • Uniquely eliminating modality: A modality consists of a modal operator and modal unit such that operation

    ff() L:((u:LA)LB(u))((a:A)LB(a L))f \mapsto f \circ (-)^L : ((u : LA) \to LB(u)) \to ((a : A) \to LB(a^L))

    is an equivalence for all types AA and types BB depending on LALA.

  • Σ\Sigma-closed reflective subuniverse (aka localization): A reflective subuniverse (a.k.a. localization) consists of a proposition isLocal:TypePropisLocal : {Type} \to {Prop} together with an operator L:TypeTypeL : {Type} \to {Type} and a unit () L:XLX(-)^L : X \to LX such that LXLX is local for any type XX and for any local type ZZ, then function

    ff() L:(LAZ)(AZ)f \mapsto f \circ (-)^L : (LA \to Z) \to (A \to Z)

    is an equivalence. A localization is Σ\Sigma-closed if whenever AA is local and for all a:Aa : A, B(a)B(a) is local, then the dependent sum Σ a:AB(a)\Sigma_{a : A} B(a) is local.

  • Stable factorization systems: A modality consists of an orthogonal factorization system (,)(\mathcal{L}, \mathcal{R}) in which the left class is stable under pullback.

  • A localization (reflective subuniverse) whose units () L:XLX(-)^L : X \to LX are LL-connected.

We say that a type XX is LL-modal if the unit () L:XLX(-)^L : X \to LX is an equivalence. We say a type XX LL-connected if LXLX is contractible.

In terms of the other structure, the stable factorization system associated to a modality LL has

  • left class the LL-connected maps, whose fibers are LL-connected.

  • right class the LL-modal maps, whose fibers are LL-modal.

Conversely, given a stable factorization system, the modal operator and unit are given by factorizing the terminal map.


Typical notation (e.g. SEP, Reyes 91, but not Hermida 10) is as follows:

  • a co-modality represented by a comonad (perhaps idempotent) is typically denoted by \Box, following the traditional example of necessity in modal logic;

  • a modality represented by a monad (perhaps idempotent) is typically denoted by \lozenge or (less often) by \bigcirc, following the traditional example of possibility in modal logic.

When adjunctions between modalities matter (adjoint modalities), then some authors (Reyes 91, p. 367 RRZ 04, p. 116, Hermida 10, p.11) use \lozenge for a left adjoint of a \Box. That leaves \bigcirc as the natural choice of notation for a right adjoint (if any) of a \Box-modality.

This way for instance for cohesion with shape modality \dashv flat comodality \dashv sharp modality the generic notation would be:

monad comonad monad shape flat sharp ʃ \array{ monad && comonad && monad \\ \lozenge &\dashv& \Box &\dashv& \bigcirc \\ \\ shape && flat && sharp \\ ʃ &\dashv& \flat &\dashv& \sharp }



In philosopy

Origin in philosophy:

In formal logic

Discussion in formal logic, type theory and homotopy type theory (for more see at modal logic, modal type theory and modal homotopy type theory):

In category theory

Discussion in category theory (fot more see at modal operator):

  • Gonzalo Reyes, A topos-theoretic approach to reference and modality, Notre Dame J. Formal Logic Volume 32, Number 3 (1991), 359-391 (Euclid)

  • Reyes/Reyes/Zolfaghari, Generic Figures and Their Glueings 2004, Polimetrica

  • Claudio Hermida, section 3.3. of A categorical outlook on relational modalities and simulations, 2010 (pdf)

Last revised on April 21, 2023 at 05:29:34. See the history of this page for a list of all contributions to it.