Kripke-Joyal semantics


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-proposition, mere proposition
proofgeneralized elementprogram
cut rulecomposition of classifying morphisms / pullback of display mapssubstitution
cut elimination for implicationcounit for hom-tensor adjunctionbeta reduction
introduction rule for implicationunit for hom-tensor adjunctioneta conversion
logical 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/path type
equivalence classquotientquotient type
inductioncolimitinductive type, W-type, M-type
higher inductionhigher colimithigher inductive type
-0-truncated higher colimitquotient inductive type
coinductionlimitcoinductive 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, (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




Kripke–Joyal semantics is a higher order generalization of the semantic interpretation proposed initially by Beth, Grzegorczyk, and Kripke for intuitionistic predicate logic (IPL). It provides a notion of ‘local truth’ or ‘validity at a stage’ in a topos.

Since it is closely related to Paul Cohen's forcing technique in set theory, a connection that was already observed by Grzegorczyk and Kripke, it is sometimes called forcing semantics. Other terms in use for it are external semantics, cover semantics or Beth–Kripke–Joyal semantics.

By giving a semantics to formulas written in the higher-order type theory used to express ordinary mathematics in a topos, the Kripke–Joyal semantics serves as semantic interface between the internal (syntactic) description of mathematical objects using the Mitchell–Bénabou language and the external description.

Kripke–Joyal semantics provides rules and prescriptions for semantic interpretation for general toposes but these prescriptions may simplify for special classes of toposes e.g. the rules resulting for presheaf toposes over posets (when restricted to first-order formulas) correspond to the original notion of model for IPL considered by Kripke et al.

There should be a version of Kripke–Joyal semantics for homotopy type theory, as claimed here.


Let \mathcal{E} be an elementary topos. We will now specify the Kripke–Joyal semantics for formulas φ\varphi in the Mitchell–Bénabou language of \mathcal{E} restricting ourselves mainly to formulas φ(x)\varphi (x) with one free variable xx of type XX. The straightforward generalization to the case with (less or) more free variables can be found in Johnstone (1977) or Borceux (1994).

Recall that such a formula φ(x)\varphi (x) is interpreted by a morphism Xφ(x)ΩX\overset{\varphi(x)}{\to}\Omega and gets an extension {x|φ(x)}\{x|\varphi(x)\} assigned to by the pullback

{x|φ(x)} 1 true X φ(x) Ω \array{ \{x|\varphi(x)\}&\to & 1& \\ \downarrow & &\downarrow &\mathsf{true} \\ X &\underset{\varphi(x)}{\to} & \Omega& }

Now a global element 1x 0X1\overset{x_0}{\to} X satisfies φ(x)\varphi(x) if it is contained in {x|φ(x)}\{x|\varphi(x)\} in the sense that the following commutes:

{x|φ(x)} 1 true 1 x 0 X φ(x) Ω \array{ & &\{x|\varphi(x)\}&\to & 1 &\\ &\nearrow&\downarrow & &\downarrow &\mathsf{true} \\ 1&\underset{x_0}{\to}& X &\underset{\varphi(x)}{\to} & \Omega& }

Kripke–Joyal semantics results from the generalization of this satisfaction relation from global elements to generalized elements UαXU\overset{\alpha}{\to} X.


A generalized element UαXU\overset{\alpha}{\to} X is said to satisfy the formula φ(x)\varphi(x) or more suggestively, UU forces φ\varphi, denoted Uφ(α)U\models \varphi (\alpha), when α\alpha factors through {x|φ(x)}\{x|\varphi(x)\} i.e. there exists a map mm making the following commute:

{x|φ(x)} 1 m true U α X φ(x) Ω \array{ & &\{x|\varphi(x)\}&\to & 1& \\ &\overset{m}\nearrow&\downarrow & &\downarrow &\mathsf{true} \\ U&\overset{\alpha}{\to}& X &\underset{\varphi(x)}{\to} & \Omega& }

This is the same as to say that imα{x|φ(x)}im\,\alpha\subseteq \{x|\varphi(x)\} as subobjects of XX.

Whereas {x|φ(x)}\{x|\varphi(x)\} represents the set of elements satisfying φ\varphi internally, the collection of global elements has in general no such representation thereby motivating the terminology ‘external semantics’.


One can now unwind the forcing relation Uφ(α)U\models \varphi (\alpha) recursively over the syntactic composition of φ\varphi. This results in a collection of semantic rules that is commonly referred to as the Kripke–Joyal semantics and permits to make contact with the original rules proposed by Kripke for intuitionistic logic in 1965.

These rules are often useful for translating step by step an object defined by a formula of the Mitchell–Bénabou language into a concrete mathematical object in the topos.

First of all, the forcing relation is monotone and local :


If f:VUf:V\to U and Uφ(α)U\models \varphi (\alpha) then Vφ(αf)V\models \varphi (\alpha\circ f). Conversely, if f:VUf:V\to U is epic and Vφ(αf)V\models \varphi (\alpha\circ f) then Uφ(α)U\models \varphi (\alpha).

The short proof can be found in MacLane–Moerdijk (1994, p.304).

Note that the proposition gives a first hint of the importance of epimorphisms or covers in this semantics, testimony of its geometric underpinning.


Let \mathcal{E} be an elementary topos and α:UX\alpha:U\to X\, a generalized element of XX\in\mathcal{E} . The forcing relation \models satisfies

  1. Uφ(α)ψ(α)U\models \varphi(\alpha)\wedge \psi(\alpha) iff Uφ(α)U\models \varphi(\alpha) and Uψ(α)U\models \psi(\alpha)\,.

  2. Uφ(α)ψ(α)U\models \varphi(\alpha)\vee \psi(\alpha) iff there exists maps g:U 1Ug:U_1\to U and g 2:U 2Ug_2:U_2\to U with g 1+g 2:U 1+U 2Ug_1+g_2:U_1+U_2\to U epic and such that U 1φ(αg 1)U_1\models \varphi(\alpha\circ g_1) and U 2ψ(αg 2)U_2\models \psi(\alpha\circ g_2)\,.

  3. Uφ(α)ψ(α)U\models \varphi(\alpha)\Rightarrow \psi(\alpha) iff for any g:VUg:V\to U\,, Vφ(αg)V\models \varphi(\alpha\circ g) implies Vψ(αg)V\models\psi(\alpha\circ g)\,.

  4. U¬φ(α)U\models\neg \varphi(\alpha) iff for all g:VUg:V\to U\,, Vφ(αg)V\models \varphi(\alpha\circ g) implies that V0V\simeq 0.

Let φ(x,y)\varphi(x,y) be a formula with free variables x,y of type XX and YY respectively. Then

  1. Uyφ(α,y)U\models \exists y\varphi(\alpha, y) iff there exists g:VUg:V\to U epic and a generalized element h:VYh:V\to Y such that Vφ(αg,h)V\models \varphi(\alpha\circ g,h)\,.

  2. Uyφ(α,y)U\models \forall y\varphi(\alpha, y) iff for every object VV and all pairs of generalized elements g:VUg:V\to U and h:VYh:V\to Y\,, Vφ(αg,h)V\models \varphi(\alpha\circ g,h)\,.

For a proof see MacLane–Moerdijk (1994, pp.305f).

Lawvere on Kripke–Joyal semantics

To workers in algebraic geometry and analysis, it may appear somewhat excessive to detour through an elaborate Mitchell–Bénabou language which in turn requires a Kripke–Joyal semantics in order to get back at the mathematical content of a specific topos. (That sometimes-recommended procedure is strictly analogous to defining a group to be the quotient of the free group generated by itself, which analogously is sometimes useful). The key clause in that semantics was presupposed in the title ‘Quantifiers and Sheaves’, but the linear case was a theorem in Godement 1958 and indeed just expresses in terms of 20th century concepts the content of Volterra’s local existence theorem. Briefly,

a) the rule of inference for existential quantification is just a symbolic expression of the universal property enjoyed by the geometric image of any map (not only in the category of sets where the axiom of choice holds, but) in any topos,

b) a figure lying in such an image comes in fact only locally from figures in the domain of the map.

Lawvere (2000, pp.717f).


For the origins in the semantics of intuitionistic logic consult

A categorical-constructive take on these completeness results is in

A (non-categorical) textbook presentation of the original Kripke semantics can be found in

A more recent overview is in

The topos-theoretic generalization is usually attributed to André Joyal who observed in the early 70s that this topos semantics subsumes various notions of forcing but his work was apparently not published. An early reference is

The first section of the following sums up a 1973 talk and gives an interesting informal overview of the basics involved emphazising sites

The following texts stress the connection to Cohen and Kripke’s work

Most textbooks on topos theory have a section on Kripke–Joyal semantics. Particularly thorough are

More concise are

Freely available online are

The above Lawvere quote stems from

For a philosophical assessment and comparison to ordinary Tarski semantics see

A generalization to quantales is in

Semantics via generalized elements in categories with pullbacks is studied in