Two-dimensional Kripke Semantics II:
Stability and Completeness

G. A. Kavvos
(March 2024)
Abstract

We revisit the duality between Kripke and algebraic semantics of intuitionistic and intuitionistic modal logic. We find that there is a certain mismatch between the two semantics, which means that not all algebraic models can be embedded into a Kripke model. This leads to an alternative proposal for a relational semantics, the stable semantics. Instead of an arbitrary partial order, the stable semantics requires a distributive lattice of worlds. We constructively show that the stable semantics is exactly as complete as the algebraic semantics. Categorifying these results leads to a 2-duality between two-dimensional stable semantics and categories of product-preserving presheaves, i.e. models of algebraic theories in the style of Lawvere.

1 Introduction

In a previous paper I revisited the relationship between the Kripke and algebraic semantics of intuitionistic logic and (intuitionistic) modal logic [35]. Kripke frames (i.e. partial orders) correspond to a certain class of complete Heyting algebras, the prime algebraic lattices. This entails a duality Pos𝗈𝗉PrAlgLattsimilar-to-or-equalssuperscriptPos𝗈𝗉PrAlgLatt\textbf{Pos}^{\mathsf{op}}\simeq\textbf{PrAlgLatt}Pos start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT ≃ PrAlgLatt, which may be refined to ‘truth-preserving’ morphisms on one side, and implication-preserving on the other.

What is curious is that this duality can be reproduced at the level of categories, which model proofs. Replacing a Kripke frame by a category leads to an evident definition of a proof-relevant two-dimensional Kripke semantics. This amounts to taking presheaves over the category, yielding a bicartesian closed category, i.e. a model of intuitionistic proofs. The interpretation of formulas is then a direct categorification of Kripke semantics. This is a duality CatccopPshCatsimilar-to-or-equalssubscriptsuperscriptCatopccPshCat\textbf{Cat}^{\text{op}}_{\text{cc}}\simeq\textbf{PshCat}Cat start_POSTSUPERSCRIPT op end_POSTSUPERSCRIPT start_POSTSUBSCRIPT cc end_POSTSUBSCRIPT ≃ PshCat between Cauchy-complete categories (qua two-dimensional Kripke frames) and presheaf categories (qua prime algebraic lattices).

Moreover, this story can be adapted to intuitionistic modal logic. There is no widespread agreement on what the latter is. However, in [35] I showed that a relation that is compatible with a partial order, i.e. a bimodule, canonically induces two adjoint modalities does-not-prove\blacklozenge\dashv\Box◆ ⊣ □ by Kan extension. This provides a canonical proposal as to what an intuitionistic modal logic should be. Its corresponding Kripke semantics is

wφ𝑤𝜑\displaystyle w\vDash\blacklozenge\varphi\ italic_w ⊨ ◆ italic_φ defv.v𝑅w and vφformulae-sequencesuperscriptdefabsent𝑣𝑅𝑣𝑤 and 𝑣𝜑\displaystyle\stackrel{{\scriptstyle\mathclap{\mbox{\tiny def}}}}{{\equiv}}\ % \exists v.\ v\mathbin{R}w\text{ and }v\vDash\varphistart_RELOP SUPERSCRIPTOP start_ARG ≡ end_ARG start_ARG def end_ARG end_RELOP ∃ italic_v . italic_v italic_R italic_w and italic_v ⊨ italic_φ wφ𝑤𝜑\displaystyle w\vDash\Box\varphi\ italic_w ⊨ □ italic_φ defv.w𝑅v implies vφformulae-sequencesuperscriptdefabsentfor-all𝑣𝑅𝑤𝑣 implies 𝑣𝜑\displaystyle\stackrel{{\scriptstyle\mathclap{\mbox{\tiny def}}}}{{\equiv}}\ % \forall v.\ w\mathbin{R}v\text{ implies }v\vDash\varphistart_RELOP SUPERSCRIPTOP start_ARG ≡ end_ARG start_ARG def end_ARG end_RELOP ∀ italic_v . italic_w italic_R italic_v implies italic_v ⊨ italic_φ (1)

While \Box is indeed the expected modality, \blacklozenge uses R𝑅Ritalic_R in the opposite variance to the more common \lozenge modality. Conversely, any adjunction does-not-prove\blacklozenge\dashv\Box◆ ⊣ □ on a prime algebraic lattice uniquely corresponds to a bimodule, giving a duality EBimod𝗈𝗉PrAlgLattOsimilar-to-or-equalssuperscriptEBimod𝗈𝗉PrAlgLattO\textbf{EBimod}^{\mathsf{op}}\simeq\textbf{PrAlgLattO}EBimod start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT ≃ PrAlgLattO between bimodules on a partial order and prime algebraic lattices L𝐿Litalic_L equipped with an operation, i.e. a meet-preserving :LL:𝐿𝐿\Box:L\to L□ : italic_L → italic_L.

The modal picture can also be categorified, by replacing bimodules with profunctors. Left Kan extension then induces an adjunction on [𝒞,𝐒𝐞𝐭]delimited-[]𝒞𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal{C},\mathbf{% Set}$}\mathclose{}{]}}[ caligraphic_C , bold_Set ]. By unfolding the definition of these adjoints we obtain a remarkable proof-relevant version of (1). This amounts to a duality EProfccopPshCatOsimilar-to-or-equalssubscriptsuperscriptEProfopccPshCatO\textbf{EProf}^{\text{op}}_{\text{cc}}\simeq\textbf{PshCatO}EProf start_POSTSUPERSCRIPT op end_POSTSUPERSCRIPT start_POSTSUBSCRIPT cc end_POSTSUBSCRIPT ≃ PshCatO between profunctors on a Cauchy-complete category, and presheaf categories equipped with a continuous :[𝒞,𝐒𝐞𝐭][𝒞,𝐒𝐞𝐭]:delimited-[]𝒞𝐒𝐞𝐭delimited-[]𝒞𝐒𝐞𝐭\Box:\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal{C},\mathbf{% Set}$}\mathclose{}{]}}\longrightarrow\mathchoice{\mathopen{}{[}\hbox{$% \displaystyle\mathcal{C},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \textstyle\mathcal{C},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptstyle\mathcal{C},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C},\mathbf{Set}$}\mathclose{}{]}}□ : [ caligraphic_C , bold_Set ] ⟶ [ caligraphic_C , bold_Set ], which automatically has a left adjoint \blacklozenge (by local finite presentability). This is consistent with what we have come to regard in the last few years as the categorical semantics of modal logic, i.e. an adjunction on a bicartesian closed category [14].

Completeness

These dualities also come with theorems relating validity in the Kripke semantics to validity in the induced algebraic and categorical semantics. Consequently, we are able to use them to prove completeness of the algebraic semantics from completeness of the Kripke semantics. Suppose that a formula of intuitionistic logic is valid in all Heyting algebras; it is then valid in all prime algebraic lattices, and hence valid in all Kripke frames. Therefore, if the Kripke semantics is complete, this formula must be provable. As a result, completeness of the Kripke semantics implies completeness of the algebraic semantics.

Surprisingly, the converse implication is also provable. An old construction, whose origins we can trace at least as far as the book by Fitting [23, §1.6], gives a recipe for inducing a Kripke semantics from a general Heyting algebra, by taking all prime filters. The resulting structure is richer than an ordinary frame: it is a descriptive frame [13, §8.4]. This is part of a duality between Heyting algebras and descriptive frames, which is known as Esakia duality [22]. It is then possible to relate validity in the descriptive frame to validity in the Heyting algebra. A categorical version of this construction for coherent toposes has been shown by Joyal: see [45, Theorem 6.3.5]. When simplified, Joyal’s result amounts to an embedding of every Heyting algebra into a prime algebraic lattice that preserves all connectives [28, §3.2] [44] [25].

However, the part of this result that relates validity in the descriptive frame to validity in the Heyting algebra requires the prime filter existence theorem [17, §10] [32, §I.2.3], which is a weak form of the axiom of choice. Similarly, the result of Joyal quoted above uses highly non-constructive reasoning.

This paper is about trying to avoid this particular reasoning step. Unlike other streams of work [11], this is not due to a predilection for constructivity. Instead, we are looking for a construction that we can categorify, so that it applies to models of intuitionistic (modal) proofs as well. This will in turn provide interesting information about the completeness of various classes of models of typed (modal) λ𝜆\lambdaitalic_λ-calculi.

Stable semantics

However, relating Kripke and algebraic semantics appears impossible without using prime filters. In an attempt to overcome this I will introduce a new relational semantics for intuitionistic logic, which I call stable semantics. The essence can summarised as replacing upper sets, which play a central rôle in Kripke semantics [35], with filters. This inescapably leads to the use of distributive lattices as ‘Kripke frames,’ as well as a different interpretation of disjunction, which is reminiscent of Beth semantics [9] and Kripke-Joyal semantics [37, §II.9] [43, §VI.6] [12, §6.6]. The attendant duality, which is now between distributive lattices and spectral locales (aka coherent frames), is already well-known from Stone duality [32, §II.3.2]. Furthermore, the coherent semantics can be straightforwardly extended to modalities.

The advantage of stable semantics is that we can constructively show an equi-completeness result. Every Heyting algebra is a distributive lattice, and so can be used as the ‘possible worlds’ of a stable semantics. Moreover, every distributive lattice can be interpreted into a complete Heyting algebra—in fact a spectral locale—in a way that preserves all logical structure. Thus, the completeness of the stable semantics directly follows from the completeness of the algebraic semantics.

Two-dimensional stable semantics and algebraic theories

Categorifying the above story engenders a pleasant surprise. The most technically expedient categorification of the filter construction for our purposes is the sifted colimit completion. The very same completion plays a decisive rôle in the algebraic theories in the style of Lawvere [3]: every category of algebras is a sifted completion of the opposite of its theory, which is just a cartesian category (i.e. has finite products).

If we assume that the opposite of a theory is a distributive category [15], the results on stable semantics can be directly categorified. This shows that the class of product-preserving presheaves (cf. filters) on that distributive category (cf. stable frame) is a complete model of the typed λ𝜆\lambdaitalic_λ-calculus with sums and an empty type. These results can be readily adapted to the proofs of intuitionistic modal logic.

Thus, the results herein bear a striking kinship with those of categorical algebra. I am not yet certain what the long-term impact of this observation is, but it seems far too compelling to ignore.

Roadmap

In §2 I discuss what it means to regard a Heyting algebra as a set of possible worlds, as well as the technical issues that arise when we try to embed that representation into a prime algebraic lattice. This leads to the introduction of stable semantics in §3, which is proved equi-complete with Heyting algebras. Moreover, the relevant duality is discussed. In §4 I show that the stable semantics can be effortlessly adapted to interpret adjoint modalities. Then, in §5 I categorify them; this requires a recap of the elements of Lawvere’s approach to algebraic theories. I give an an equi-completeness proof, and discuss the resultant syntax-semantics duality. Finally, this approach is extended to intuitionistic modal proofs in §6.

2 Heyting algebras as possible worlds

It is a folklore fact that every Kripke frame (W,)𝑊square-image-of-or-equals(W,\sqsubseteq)( italic_W , ⊑ ) induces a prime algebraic lattice [W,𝟚]delimited-[]𝑊2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{2}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}% \hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}[ italic_W , blackboard_2 ], which consists of its upper sets ordered by inclusion; see e.g. [35, §2]. Looking at this lattice as a Heyting algebra, i.e. an algebraic semantics for intuitionistic logic, we see that every formula φ𝜑\varphiitalic_φ is interpreted as the set φW\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}\subseteq W⟦ italic_φ ⟧ ⊆ italic_W of worlds in which it is true. This set is upper because Kripke semantics is monotonic: wvsquare-image-of-or-equals𝑤𝑣w\sqsubseteq vitalic_w ⊑ italic_v can be read as saying that world v𝑣vitalic_v has potentially more information than world w𝑤witalic_w. Thus, the passage from w𝑤witalic_w to v𝑣vitalic_v may force more formulas to be true, but will not invalidate formulas that were previously known to be true.

It is interesting to consider a Heyting algebra H𝐻Hitalic_H in the capacity of a Kripke frame itself. The most evident way of doing so is by taking the opposite of its order, yielding the partial order (H𝗈𝗉,)superscript𝐻𝗈𝗉square-image-of-or-equals(H^{\mathsf{op}},\sqsubseteq)( italic_H start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , ⊑ ), where square-image-of-or-equals\sqsubseteq is just \geq in H𝐻Hitalic_H. Thinking of H𝐻Hitalic_H as a Tarski-Lindenbaum algebra of an intuitionistic theory, we see that

φψ iff ψφ iff ψφprovesformulae-sequencesquare-image-of-or-equals𝜑𝜓 iff 𝜓𝜑 iff 𝜓𝜑\varphi\sqsubseteq\psi\quad\text{ iff }\quad\psi\leq\varphi\quad\text{ iff }% \quad\text{``}\psi\vdash\varphi\text{''}italic_φ ⊑ italic_ψ iff italic_ψ ≤ italic_φ iff “ italic_ψ ⊢ italic_φ ”

Roughly, each element φH𝜑𝐻\varphi\in Hitalic_φ ∈ italic_H can be thought of as a formula that specifies what we currently know. The relation φψsquare-image-of-or-equals𝜑𝜓\varphi\sqsubseteq\psiitalic_φ ⊑ italic_ψ holds just when ψ𝜓\psiitalic_ψ implies φ𝜑\varphiitalic_φ, i.e. when ψ𝜓\psiitalic_ψ potentially contains more information.

The order-embedding :H[H𝗈𝗉,𝟚]:𝐻delimited-[]superscript𝐻𝗈𝗉2\mathop{\uparrow}:H\to\mathchoice{\mathopen{}{[}\hbox{$\displaystyle H^{% \mathsf{op}},\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle H^{% \mathsf{op}},\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle H^% {\mathsf{op}},\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle H^{\mathsf{op}},\mathbb{2}$}\mathclose{}{]}}↑ : italic_H → [ italic_H start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , blackboard_2 ] then takes φH𝜑𝐻\varphi\in Hitalic_φ ∈ italic_H to {ψH|ψφ}|𝜓𝐻𝜓𝜑\mathchoice{\mathopen{}{\{}\hbox{$\displaystyle\psi\in H$}\mathrel{{|}}\hbox{$% \displaystyle\psi\leq\varphi$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$% \textstyle\psi\in H$}\mathrel{{|}}\hbox{$\textstyle\psi\leq\varphi$}\mathclose% {}{\}}}{\mathopen{}{\{}\hbox{$\scriptstyle\psi\in H$}\mathrel{{|}}\hbox{$% \scriptstyle\psi\leq\varphi$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$% \scriptscriptstyle\psi\in H$}\mathrel{{|}}\hbox{$\scriptscriptstyle\psi\leq% \varphi$}\mathclose{}{\}}}{ italic_ψ ∈ italic_H | italic_ψ ≤ italic_φ }, i.e. the set of formulas that imply φ𝜑\varphiitalic_φ. It is well-known that \mathop{\uparrow} preserves finite meets and exponentials, so that

limit-fromtop\displaystyle\mathop{\uparrow}\top↑ ⊤ =Habsent𝐻\displaystyle=H= italic_H (φψ)𝜑𝜓\displaystyle\mathop{\uparrow}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle% \varphi\land\psi$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\varphi\land% \psi$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle\varphi\land\psi$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle\varphi\land\psi$}% \mathclose{}{)}}↑ ( italic_φ ∧ italic_ψ ) =φψabsent𝜑𝜓\displaystyle=\mathop{\uparrow}\varphi\land\mathop{\uparrow}\psi= ↑ italic_φ ∧ ↑ italic_ψ (φψ)𝜑𝜓\displaystyle\mathop{\uparrow}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle% \varphi\Rightarrow\psi$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle% \varphi\Rightarrow\psi$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle% \varphi\Rightarrow\psi$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle\varphi\Rightarrow\psi$}\mathclose{}{)}}↑ ( italic_φ ⇒ italic_ψ ) =φψabsent𝜑𝜓\displaystyle=\mathop{\uparrow}\varphi\Rightarrow\mathop{\uparrow}\psi= ↑ italic_φ ⇒ ↑ italic_ψ

However, \mathop{\uparrow} famously does not preserve disjunction: sometimes (φψ)φψ𝜑𝜓𝜑𝜓\mathop{\uparrow}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\varphi\lor\psi% $}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\varphi\lor\psi$}\mathclose{% }{)}}{\mathopen{}{(}\hbox{$\scriptstyle\varphi\lor\psi$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle\varphi\lor\psi$}\mathclose{}{)}}\neq% \mathop{\uparrow}\varphi\lor\mathop{\uparrow}\psi↑ ( italic_φ ∨ italic_ψ ) ≠ ↑ italic_φ ∨ ↑ italic_ψ. Thus, we can only embed the ()(\land\to)( ∧ → ) fragment of the logic into a prime algebraic lattice in this manner.

These facts are perhaps better known at the two-dimensional level. Suppose that 𝒞𝒞\mathcal{C}caligraphic_C is a bicartesian closed category, i.e. a model of intuitionistic proofs. It is a basic fact of category theory that the Yoneda functor 𝐲:𝒞[𝒞𝗈𝗉,𝐒𝐞𝐭]:𝐲𝒞delimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathbf{y}:\mathcal{C}\longrightarrow\mathchoice{\mathopen{}{[}\hbox{$% \displaystyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal% {C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}bold_y : caligraphic_C ⟶ [ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] is an embedding, i.e. full, faithful, and injective on objects. It is also well-known that 𝐲𝐲\mathbf{y}bold_y preserves finite products and exponentials [7], i.e. that

𝐲(𝟏)𝐲1\displaystyle\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathbf{1% }$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathbf{1}$}\mathclose{}{)}% }{\mathopen{}{(}\hbox{$\scriptstyle\mathbf{1}$}\mathclose{}{)}}{\mathopen{}{(}% \hbox{$\scriptscriptstyle\mathbf{1}$}\mathclose{}{)}}bold_y ( bold_1 ) 𝟏absent1\displaystyle\cong\mathbf{1}≅ bold_1 𝐲(c×d)𝐲𝑐𝑑\displaystyle\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c\times d% $}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c\times d$}\mathclose{}{)}}% {\mathopen{}{(}\hbox{$\scriptstyle c\times d$}\mathclose{}{)}}{\mathopen{}{(}% \hbox{$\scriptscriptstyle c\times d$}\mathclose{}{)}}bold_y ( italic_c × italic_d ) 𝐲(c)×𝐲(d)absent𝐲𝑐𝐲𝑑\displaystyle\cong\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen% {}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle c$}\mathclose{}{)}}\times\mathbf{y}\mathchoice{\mathopen{}{% (}\hbox{$\displaystyle d$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle d$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle d$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle d$}\mathclose{}{)}}≅ bold_y ( italic_c ) × bold_y ( italic_d ) 𝐲(cd)𝐲𝑐𝑑\displaystyle\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c% \Rightarrow d$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c\Rightarrow d% $}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c\Rightarrow d$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c\Rightarrow d$}% \mathclose{}{)}}bold_y ( italic_c ⇒ italic_d ) 𝐲(c)𝐲(d)absent𝐲𝑐𝐲𝑑\displaystyle\cong\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen% {}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle c$}\mathclose{}{)}}\Rightarrow\mathbf{y}\mathchoice{% \mathopen{}{(}\hbox{$\displaystyle d$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle d$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle d$}\mathclose% {}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle d$}\mathclose{}{)}}≅ bold_y ( italic_c ) ⇒ bold_y ( italic_d )

For a totally unrelated purpose, Dana Scott [49] noticed that this induces a useful isomorphism:

Lemma 2.1 (Scott).

If φ𝜑\varphiitalic_φ uses neither disjunction nor falsity then φ[𝒞𝗈𝗉,𝐒𝐞𝐭]𝐲(φ𝒞)\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}_{\mathchoice{\mathopen{}{[}\hbox{$\displaystyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \textstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}% {[}\hbox{$\scriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}% {\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}% $}\mathclose{}{]}}}\cong\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$% \displaystyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle% \varphi$}\mathclose{}{\rrbracket}}_{\mathcal{C}}$}\mathclose{}{)}}{\mathopen{}% {(}\hbox{$\textstyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle% \varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle% \varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle% \varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptscriptstyle\varphi$}\mathclose{}{\rrbracket}}_{\mathcal{C}}$}\mathclose% {}{)}}{\mathopen{}{(}\hbox{$\scriptstyle\mathchoice{\mathopen{}{\llbracket}% \hbox{$\displaystyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}% \hbox{$\textstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}% \hbox{$\scriptstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}% \hbox{$\scriptscriptstyle\varphi$}\mathclose{}{\rrbracket}}_{\mathcal{C}}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle\mathchoice{\mathopen{% }{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{% }{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptscriptstyle\varphi$}\mathclose{}{\rrbracket}}_{% \mathcal{C}}$}\mathclose{}{)}}⟦ italic_φ ⟧ start_POSTSUBSCRIPT [ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] end_POSTSUBSCRIPT ≅ bold_y ( ⟦ italic_φ ⟧ start_POSTSUBSCRIPT caligraphic_C end_POSTSUBSCRIPT ).

Here φ𝒞\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}_{\mathcal{C}}⟦ italic_φ ⟧ start_POSTSUBSCRIPT caligraphic_C end_POSTSUBSCRIPT is the interpretation of φ𝜑\varphiitalic_φ as an object of 𝒞𝒞\mathcal{C}caligraphic_C, and φ[𝒞𝗈𝗉,𝐒𝐞𝐭]\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}_{\mathchoice{\mathopen{}{[}\hbox{$\displaystyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \textstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}% {[}\hbox{$\scriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}% {\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}% $}\mathclose{}{]}}}⟦ italic_φ ⟧ start_POSTSUBSCRIPT [ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] end_POSTSUBSCRIPT is the interpretation of φ𝜑\varphiitalic_φ as an object of the category of presheaves [𝒞𝗈𝗉,𝐒𝐞𝐭]delimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ], both defined following the respective cartesian closed structure. In the second instance basic propositions p𝑝pitalic_p are interpreted by the representable 𝐲(p𝒞)\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathchoice{\mathopen{% }{\llbracket}\hbox{$\displaystyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\textstyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptscriptstyle p$}\mathclose{}{\rrbracket}}_{\mathcal{C}% }$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathchoice{\mathopen{}{% \llbracket}\hbox{$\displaystyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\textstyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptscriptstyle p$}\mathclose{}{\rrbracket}}_{\mathcal{C}% }$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle\mathchoice{\mathopen{}{% \llbracket}\hbox{$\displaystyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\textstyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptscriptstyle p$}\mathclose{}{\rrbracket}}_{\mathcal{C}% }$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle\mathchoice{% \mathopen{}{\llbracket}\hbox{$\displaystyle p$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\textstyle p$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\scriptstyle p$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\scriptscriptstyle p$}\mathclose{}{\rrbracket}}_% {\mathcal{C}}$}\mathclose{}{)}}bold_y ( ⟦ italic_p ⟧ start_POSTSUBSCRIPT caligraphic_C end_POSTSUBSCRIPT ).

It is not difficult to extend this to the categorical models of modal logic. Following the work of Clouston on Fitch-style λ𝜆\lambdaitalic_λ-calculi [14], these are generally understood to be endo-adjunctions

𝒞𝒞\mathcal{C}caligraphic_C𝒞𝒞\mathcal{C}caligraphic_C\Box\blacklozenge

does-not-prove\dashv

(2)

on a bicartesian closed category 𝒞𝒞\mathcal{C}caligraphic_C. Given such a model, take the left Kan extension of 𝐲𝐲\blacklozenge\circ\mathbf{y}◆ ∘ bold_y along Yoneda:

𝒞𝒞\mathcal{C}caligraphic_C[𝒞𝗈𝗉,𝐒𝐞𝐭]delimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ][𝒞𝗈𝗉,𝐒𝐞𝐭]delimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ]𝒞𝒞\mathcal{C}caligraphic_C𝐲𝐲\mathbf{y}bold_y𝐲𝐲\mathbf{y}bold_y\blacklozengedoes-not-prove\dashv\Boxpsubscript𝑝\blacklozenge_{p}◆ start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPTdoes-not-prove\dashvpsubscript𝑝\Box_{p}□ start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT (3)

psubscript𝑝\blacklozenge_{p}◆ start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT is then a colimit-preserving functor on the presheaf category, and has a right adjoint psubscript𝑝\Box_{p}□ start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT. Thus, we obtain a categorical model of modal logic on the presheaf category. It is easy to calculate that the action of these adjoint functors on representables is essentially the same as that of \blacklozenge and \Box, in that (3) commutes:

p(𝐲(c))subscript𝑝𝐲𝑐\displaystyle\blacklozenge_{p}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle% \mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}% \mathclose{}{)}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathbf{y}% \mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}% {(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle\mathbf{y}\mathchoice{% \mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose% {}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}$}\mathclose% {}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle\mathbf{y}\mathchoice{\mathopen{% }{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c% $}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}$}\mathclose{}{)}}◆ start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( bold_y ( italic_c ) ) =def𝐲(c)superscriptdefabsent𝐲𝑐\displaystyle\stackrel{{\scriptstyle\mathclap{\mbox{\tiny def}}}}{{=}}\mathbf{% y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\blacklozenge c$}\mathclose{}{% )}}{\mathopen{}{(}\hbox{$\textstyle\blacklozenge c$}\mathclose{}{)}}{\mathopen% {}{(}\hbox{$\scriptstyle\blacklozenge c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{% $\scriptscriptstyle\blacklozenge c$}\mathclose{}{)}}start_RELOP SUPERSCRIPTOP start_ARG = end_ARG start_ARG def end_ARG end_RELOP bold_y ( ◆ italic_c )
p(𝐲(c))subscript𝑝𝐲𝑐\displaystyle\Box_{p}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathbf{y}% \mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}% {(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathbf{y}\mathchoice{% \mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose% {}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}$}\mathclose% {}{)}}{\mathopen{}{(}\hbox{$\scriptstyle\mathbf{y}\mathchoice{\mathopen{}{(}% \hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle\mathbf{y}\mathchoice{\mathopen{}{(}% \hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}$}\mathclose{}{)}}□ start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( bold_y ( italic_c ) ) =defHom[𝒞𝗈𝗉,𝐒𝐞𝐭]missing(𝐲(()),𝐲(c)missing)Hom𝒞((),c)Hom𝒞(,c)=𝐲(c)\displaystyle\stackrel{{\scriptstyle\mathclap{\mbox{\tiny def}}}}{{=}}\mathrm{% Hom}_{\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}}% \mathchoice{\mathopen{{\mathchoice{\big{missing}}{\big{missing}}{\big{missing}% }{missing}}}{(}\hbox{$\displaystyle\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$% \displaystyle\blacklozenge(-)$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle\blacklozenge(-)$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle% \blacklozenge(-)$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle% \blacklozenge(-)$}\mathclose{}{)}},\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$% \displaystyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}$}\mathclose{{% \mathchoice{\big{missing}}{\big{missing}}{\big{missing}}{missing}}}{)}}{% \mathopen{{\mathchoice{\big{missing}}{\big{missing}}{\big{missing}}{missing}}}% {(}\hbox{$\textstyle\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle% \blacklozenge(-)$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle% \blacklozenge(-)$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle% \blacklozenge(-)$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle% \blacklozenge(-)$}\mathclose{}{)}},\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$% \displaystyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}$}\mathclose{{% \mathchoice{\big{missing}}{\big{missing}}{\big{missing}}{missing}}}{)}}{% \mathopen{{\mathchoice{\big{missing}}{\big{missing}}{\big{missing}}{missing}}}% {(}\hbox{$\scriptstyle\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle% \blacklozenge(-)$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle% \blacklozenge(-)$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle% \blacklozenge(-)$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle% \blacklozenge(-)$}\mathclose{}{)}},\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$% \displaystyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}$}\mathclose{{% \mathchoice{\big{missing}}{\big{missing}}{\big{missing}}{missing}}}{)}}{% \mathopen{{\mathchoice{\big{missing}}{\big{missing}}{\big{missing}}{missing}}}% {(}\hbox{$\scriptscriptstyle\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$% \displaystyle\blacklozenge(-)$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle\blacklozenge(-)$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle% \blacklozenge(-)$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle% \blacklozenge(-)$}\mathclose{}{)}},\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$% \displaystyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}$}\mathclose{{% \mathchoice{\big{missing}}{\big{missing}}{\big{missing}}{missing}}}{)}}\cong% \mathrm{Hom}_{\mathcal{C}}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle% \blacklozenge(-),c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle% \blacklozenge(-),c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle% \blacklozenge(-),c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle% \blacklozenge(-),c$}\mathclose{}{)}}\cong\mathrm{Hom}_{\mathcal{C}}\mathchoice% {\mathopen{}{(}\hbox{$\displaystyle-,\Box c$}\mathclose{}{)}}{\mathopen{}{(}% \hbox{$\textstyle-,\Box c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle-% ,\Box c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle-,\Box c$}% \mathclose{}{)}}=\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\Box c% $}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\Box c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptstyle\Box c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{% $\scriptscriptstyle\Box c$}\mathclose{}{)}}start_RELOP SUPERSCRIPTOP start_ARG = end_ARG start_ARG def end_ARG end_RELOP roman_Hom start_POSTSUBSCRIPT [ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] end_POSTSUBSCRIPT roman_missing ( bold_y ( ◆ ( - ) ) , bold_y ( italic_c ) roman_missing ) ≅ roman_Hom start_POSTSUBSCRIPT caligraphic_C end_POSTSUBSCRIPT ( ◆ ( - ) , italic_c ) ≅ roman_Hom start_POSTSUBSCRIPT caligraphic_C end_POSTSUBSCRIPT ( - , □ italic_c ) = bold_y ( □ italic_c )

Consequently, Scott’s lemma directly extends to the categorical semantics of the ()(\land\to\blacklozenge\Box)( ∧ → ◆ □ ) fragment of intuitionistic modal logic. Notice that the diagram (3) witnesses 𝐲𝐲\mathbf{y}bold_y as a (weak) morphism of categorical models of modal logic without disjunction: 𝐲𝐲\mathbf{y}bold_y is a cartesian closed functor that preserves the adjunction. Of course, this result can be de-categorified to one for Heyting algebras equipped with an adjunction.

This leaves the mystery of disjunction. One might think that sheaves are the answer. However, we will do something far more radical instead.

3 Stable semantics of intuitionistic logic

Given an arbitrary Kripke frame, i.e. a partial order (W,)𝑊square-image-of-or-equals(W,\sqsubseteq)( italic_W , ⊑ ), Kripke semantics interprets every formula as an upper set of worlds, i.e. a set SW𝑆𝑊S\subseteq Witalic_S ⊆ italic_W for which wS𝑤𝑆w\in Sitalic_w ∈ italic_S and wvsquare-image-of-or-equals𝑤𝑣w\sqsubseteq vitalic_w ⊑ italic_v implies vS𝑣𝑆v\in Sitalic_v ∈ italic_S. The stable semantics will instead revolve around the notion of a filter over W𝑊Witalic_W.

Definition 3.1.

A filter over (W,)𝑊square-image-of-or-equals(W,\sqsubseteq)( italic_W , ⊑ ) is a non-empty subset FW𝐹𝑊F\subseteq Witalic_F ⊆ italic_W which is

  • upper, in that wF𝑤𝐹w\in Fitalic_w ∈ italic_F and wvsquare-image-of-or-equals𝑤𝑣w\sqsubseteq vitalic_w ⊑ italic_v implies vF𝑣𝐹v\in Fitalic_v ∈ italic_F; and

  • filtered, in that whenever w,vF𝑤𝑣𝐹w,v\in Fitalic_w , italic_v ∈ italic_F there exists a zF𝑧𝐹z\in Fitalic_z ∈ italic_F with zwsquare-image-of-or-equals𝑧𝑤z\sqsubseteq witalic_z ⊑ italic_w and zvsquare-image-of-or-equals𝑧𝑣z\sqsubseteq vitalic_z ⊑ italic_v.

We write Filt(W)Filt𝑊\textsf{Filt}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle W$}\mathclose{}{)}% }{\mathopen{}{(}\hbox{$\textstyle W$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle W$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle W$}% \mathclose{}{)}}Filt ( italic_W ) for the set of filters over W𝑊Witalic_W. Filt(W)Filt𝑊\textsf{Filt}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle W$}\mathclose{}{)}% }{\mathopen{}{(}\hbox{$\textstyle W$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle W$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle W$}% \mathclose{}{)}}Filt ( italic_W ) is a poset under inclusion—in fact it is a directed complete partial order (dcpo) (without a bottom element) [27, §O-2.8].

When W𝑊Witalic_W has more structure the definition of a filter can be somewhat simplified.

Proposition 3.2.

Let (W,)𝑊square-image-of-or-equals(W,\sqsubseteq)( italic_W , ⊑ ) be a meet-semilattice. A subset FW𝐹𝑊F\subseteq Witalic_F ⊆ italic_W is a filter if and only if it is

  • upper, in that wF𝑤𝐹w\in Fitalic_w ∈ italic_F and wvsquare-image-of-or-equals𝑤𝑣w\sqsubseteq vitalic_w ⊑ italic_v implies vF𝑣𝐹v\in Fitalic_v ∈ italic_F; and

  • a sub-meet-semilattice, in that 1F1𝐹1\in F1 ∈ italic_F and w,vF𝑤𝑣𝐹w,v\in Fitalic_w , italic_v ∈ italic_F implies wvF𝑤𝑣𝐹w\land v\in Fitalic_w ∧ italic_v ∈ italic_F

A stable frame is a partial order (W,)𝑊square-image-of-or-equals(W,\sqsubseteq)( italic_W , ⊑ ) which is a distributive lattice. This means that it has both finite joins and meets, and that they also satisfy the distributive law a(xy)=(ax)(ay)𝑎𝑥𝑦𝑎𝑥𝑎𝑦a\land(x\lor y)=(a\land x)\lor(a\land y)italic_a ∧ ( italic_x ∨ italic_y ) = ( italic_a ∧ italic_x ) ∨ ( italic_a ∧ italic_y ). Consequently, they also satisfy the dual law a(xy)=(ax)(ay)𝑎𝑥𝑦𝑎𝑥𝑎𝑦a\lor(x\land y)=(a\lor x)\land(a\lor y)italic_a ∨ ( italic_x ∧ italic_y ) = ( italic_a ∨ italic_x ) ∧ ( italic_a ∨ italic_y ) [32, §I.1.5], which we will use heavily.

A stable frame has much more structure than a good old fashioned Kripke frame. To begin, any two worlds w,vW𝑤𝑣𝑊w,v\in Witalic_w , italic_v ∈ italic_W have a meet wv𝑤𝑣w\land vitalic_w ∧ italic_v and a join wv𝑤𝑣w\lor vitalic_w ∨ italic_v (we use the same notation as the logic, but rely on context for disambiguation). If we think of each world as containing information—in particular about which variables have become true—then these two operators tell us that it is possible to find least and greatest upper bounds of information. The fact the distributive law holds means that the interpretation of these bounds as ‘intersection of information’ and ‘union of information’ is tenable.

Furthermore, W𝑊Witalic_W has a bottom element 00 and a top element 1111. The bottom element 00 represents the baseline level of information, i.e. the fewest facts we may regard as true. The top element 1111 represents a supernova of information. This amount of information implies all formulae—even false ones.

A stable model 𝔐=(W,,V)𝔐𝑊square-image-of-or-equals𝑉\mathfrak{M}=(W,\sqsubseteq,V)fraktur_M = ( italic_W , ⊑ , italic_V ) consists of a stable frame (W,)𝑊square-image-of-or-equals(W,\sqsubseteq)( italic_W , ⊑ ) and a function V:VarFilt(W):𝑉VarFilt𝑊V:\textsf{Var}\to\textsf{Filt}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle W% $}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle W$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptstyle W$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle W$}\mathclose{}{)}}italic_V : Var → Filt ( italic_W ). The valuation V𝑉Vitalic_V assigns to each propositional variable pVar𝑝Varp\in\textsf{Var}italic_p ∈ Var a filter V(p)W𝑉𝑝𝑊V(p)\subseteq Witalic_V ( italic_p ) ⊆ italic_W, to be thought of as the set of worlds in which p𝑝pitalic_p is true. The fact this is a filter leads to the following intuitions:

Upper set

A proposition that is true remains true as information increases.

Top element

Every proposition is true at the supernova world 1111.

Meets

If w,vV(p)𝑤𝑣𝑉𝑝w,v\in V(p)italic_w , italic_v ∈ italic_V ( italic_p ) then both w𝑤witalic_w and v𝑣vitalic_v contain the information that p𝑝pitalic_p is true. Therefore, their greatest lower bound should also contain that information, so that wvV(p)𝑤𝑣𝑉𝑝w\land v\in V(p)italic_w ∧ italic_v ∈ italic_V ( italic_p ).

Notice that if 0V(p)0𝑉𝑝0\in V(p)0 ∈ italic_V ( italic_p ) then V(p)=W𝑉𝑝𝑊V(p)=Witalic_V ( italic_p ) = italic_W, as filters are upper sets. Thus, a variable that is true at the baseline world 00 is true throughout a stable frame.

The stable semantics is defined through a relation 𝔐,wφ𝔐𝑤𝜑\mathfrak{M},w\vDash\varphifraktur_M , italic_w ⊨ italic_φ with the meaning that φ𝜑\varphiitalic_φ is true in world w𝑤witalic_w of model 𝔐𝔐\mathfrak{M}fraktur_M. When it is clear which model we are using we will skip it, writing simply wφ𝑤𝜑w\vDash\varphiitalic_w ⊨ italic_φ. The clauses for 𝔐,wφ𝔐𝑤𝜑\mathfrak{M},w\vDash\varphifraktur_M , italic_w ⊨ italic_φ are much like those for the Kripke semantics, with the characteristic clause for \to:

𝔐,wφψdefwv.𝔐,vφ implies 𝔐,vφformulae-sequence𝔐𝑤𝜑𝜓superscriptdeffor-all𝑤square-image-of-or-equals𝑣𝔐𝑣𝜑 implies 𝔐𝑣𝜑\mathfrak{M},w\vDash\varphi\to\psi\ \stackrel{{\scriptstyle\mathclap{\mbox{% \tiny def}}}}{{\equiv}}\ \forall w\sqsubseteq v.\ \mathfrak{M},v\vDash\varphi% \text{ implies }\mathfrak{M},v\vDash\varphifraktur_M , italic_w ⊨ italic_φ → italic_ψ start_RELOP SUPERSCRIPTOP start_ARG ≡ end_ARG start_ARG def end_ARG end_RELOP ∀ italic_w ⊑ italic_v . fraktur_M , italic_v ⊨ italic_φ implies fraktur_M , italic_v ⊨ italic_φ

The only clauses that change are the ones for falsity and disjunction:111One of the reviewers pointed out that the clause for disjunction can be simplified to w=v1v2𝑤subscript𝑣1subscript𝑣2w=v_{1}\land v_{2}italic_w = italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∧ italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. However, that version of the clause does not seem immediately amenable to categorification, unlike this one.

𝔐,w𝔐𝑤bottom\displaystyle\mathfrak{M},w\vDash\bot\ fraktur_M , italic_w ⊨ ⊥ def(w=1)superscriptdefabsent𝑤1\displaystyle\stackrel{{\scriptstyle\mathclap{\mbox{\tiny def}}}}{{\equiv}}\ (% w=1)start_RELOP SUPERSCRIPTOP start_ARG ≡ end_ARG start_ARG def end_ARG end_RELOP ( italic_w = 1 )
𝔐,wφψ𝔐𝑤𝜑𝜓\displaystyle\mathfrak{M},w\vDash\varphi\lor\psi\ fraktur_M , italic_w ⊨ italic_φ ∨ italic_ψ defv1,v2.v1v2w and 𝔐,v1φ and 𝔐,v2ψformulae-sequencesuperscriptdefabsentsubscript𝑣1subscript𝑣2formulae-sequencesquare-image-of-or-equalssubscript𝑣1subscript𝑣2𝑤 and 𝔐formulae-sequencesubscript𝑣1𝜑 and 𝔐subscript𝑣2𝜓\displaystyle\stackrel{{\scriptstyle\mathclap{\mbox{\tiny def}}}}{{\equiv}}\ % \exists v_{1},v_{2}.\,\,v_{1}\land v_{2}\sqsubseteq w\text{ and }\mathfrak{M},% v_{1}\vDash\varphi\text{ and }\mathfrak{M},v_{2}\vDash\psistart_RELOP SUPERSCRIPTOP start_ARG ≡ end_ARG start_ARG def end_ARG end_RELOP ∃ italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT . italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∧ italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⊑ italic_w and fraktur_M , italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊨ italic_φ and fraktur_M , italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⊨ italic_ψ

There are a number of things to notice about this definition.

First, the falsity bottom\bot can now be a true formula; but it is only true at 1W1𝑊1\in W1 ∈ italic_W, which is top element for the information order square-image-of-or-equals\sqsubseteq. In fact, every formula is true at 1111. In that sense, 1111 is a world that contains so much information that it forces everything—even falsity!—to be true. A similar concept of exploding, fallible or inconsistent worlds is common in the context of intuitionistically-provable completeness proofs for intuitionistic logic and associated realizability models [51, 20, 50, 28, 40].

Second, the clause for the disjunction φψ𝜑𝜓\varphi\lor\psiitalic_φ ∨ italic_ψ at world w𝑤witalic_w requires that both φ𝜑\varphiitalic_φ and ψ𝜓\psiitalic_ψ are true at some worlds v1subscript𝑣1v_{1}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and v2subscript𝑣2v_{2}italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT respectively. However, the common information between v1subscript𝑣1v_{1}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and v2subscript𝑣2v_{2}italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, i.e. v1v2subscript𝑣1subscript𝑣2v_{1}\land v_{2}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∧ italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, must be less than the information at w𝑤witalic_w. When v1v2wsquare-image-of-or-equalssubscript𝑣1subscript𝑣2𝑤v_{1}\land v_{2}\sqsubseteq witalic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∧ italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⊑ italic_w we say that w𝑤witalic_w fans into v1subscript𝑣1v_{1}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and v2subscript𝑣2v_{2}italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. But what if one of the two formulas is a contradiction? This is not a cause for worry, due to the existence of the supernova world: as w1=w𝑤1𝑤w\land 1=witalic_w ∧ 1 = italic_w, we have that wφw\vDash\varphi\lor\botitalic_w ⊨ italic_φ ∨ ⊥ if and only if wφ𝑤𝜑w\vDash\varphiitalic_w ⊨ italic_φ.

Third, note that the definition does not mention the joins wv𝑤𝑣w\lor vitalic_w ∨ italic_v of worlds of W𝑊Witalic_W, even though such joins exist. While joins do not appear explicitly in the semantic clauses, they are used in the following lemma to show that the stable semantics is monotonic—in particular in the case of implication. Strictly speaking, we do not need joins: we could just as well reproduce this result even in the weaker setting of a distributive semilattice, i.e. a meet-semilattice with the property that abxsquare-image-of-or-equals𝑎𝑏𝑥a\land b\sqsubseteq xitalic_a ∧ italic_b ⊑ italic_x implies that x=ab𝑥superscript𝑎superscript𝑏x=a^{\prime}\land b^{\prime}italic_x = italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∧ italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT for some aasquare-image-of-or-equals𝑎superscript𝑎a\sqsubseteq a^{\prime}italic_a ⊑ italic_a start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and bbsquare-image-of-or-equals𝑏superscript𝑏b\sqsubseteq b^{\prime}italic_b ⊑ italic_b start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. However, we prefer having joins, as their categorification is well-understood.

Lemma 3.3 (Filtering).
  1. 1.

    𝔐,wφ𝔐𝑤𝜑\mathfrak{M},w\vDash\varphifraktur_M , italic_w ⊨ italic_φ and wvsquare-image-of-or-equals𝑤𝑣w\sqsubseteq vitalic_w ⊑ italic_v imply 𝔐,vφ𝔐𝑣𝜑\mathfrak{M},v\vDash\varphifraktur_M , italic_v ⊨ italic_φ.

  2. 2.

    𝔐,1φ𝔐1𝜑\mathfrak{M},1\vDash\varphifraktur_M , 1 ⊨ italic_φ for any φ𝜑\varphiitalic_φ.

  3. 3.

    𝔐,w1φ𝔐subscript𝑤1𝜑\mathfrak{M},w_{1}\vDash\varphifraktur_M , italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊨ italic_φ and 𝔐,w2φ𝔐subscript𝑤2𝜑\mathfrak{M},w_{2}\vDash\varphifraktur_M , italic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⊨ italic_φ imply 𝔐,w1w2φ𝔐subscript𝑤1subscript𝑤2𝜑\mathfrak{M},w_{1}\land w_{2}\vDash\varphifraktur_M , italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∧ italic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⊨ italic_φ.

Proof.

We prove (iii), and only show the cases for implication and disjunction.

Suppose that w1φψsubscript𝑤1𝜑𝜓w_{1}\vDash\varphi\to\psiitalic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊨ italic_φ → italic_ψ, w2φψsubscript𝑤2𝜑𝜓w_{2}\vDash\varphi\to\psiitalic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⊨ italic_φ → italic_ψ, w1w2vsquare-image-of-or-equalssubscript𝑤1subscript𝑤2𝑣w_{1}\land w_{2}\sqsubseteq vitalic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∧ italic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⊑ italic_v and vφ𝑣𝜑v\vDash\varphiitalic_v ⊨ italic_φ. As wiwivsquare-image-of-or-equalssubscript𝑤𝑖subscript𝑤𝑖𝑣w_{i}\sqsubseteq w_{i}\lor vitalic_w start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊑ italic_w start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∨ italic_v and vwivsquare-image-of-or-equals𝑣subscript𝑤𝑖𝑣v\sqsubseteq w_{i}\lor vitalic_v ⊑ italic_w start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∨ italic_v we know that wivφψsubscript𝑤𝑖𝑣𝜑𝜓w_{i}\lor v\vDash\varphi\to\psiitalic_w start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∨ italic_v ⊨ italic_φ → italic_ψ and wivφsubscript𝑤𝑖𝑣𝜑w_{i}\lor v\vDash\varphiitalic_w start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∨ italic_v ⊨ italic_φ by (i), and hence that wivψsubscript𝑤𝑖𝑣𝜓w_{i}\lor v\vDash\psiitalic_w start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∨ italic_v ⊨ italic_ψ, for i{1,2}𝑖12i\in\{1,2\}italic_i ∈ { 1 , 2 }. Hence, by the IH, (w1v)(w2v)ψsubscript𝑤1𝑣subscript𝑤2𝑣𝜓(w_{1}\lor v)\land(w_{2}\lor v)\vDash\psi( italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ italic_v ) ∧ ( italic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∨ italic_v ) ⊨ italic_ψ. But v=(w1w2)v=(w1v)(w2v)𝑣subscript𝑤1subscript𝑤2𝑣subscript𝑤1𝑣subscript𝑤2𝑣v=(w_{1}\land w_{2})\lor v=(w_{1}\lor v)\land(w_{2}\lor v)italic_v = ( italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∧ italic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ∨ italic_v = ( italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ italic_v ) ∧ ( italic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∨ italic_v ) by distributivity.

Suppose that w1φ1φ2subscript𝑤1subscript𝜑1subscript𝜑2w_{1}\vDash\varphi_{1}\lor\varphi_{2}italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⊨ italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and w2φ1φ2subscript𝑤2subscript𝜑1subscript𝜑2w_{2}\vDash\varphi_{1}\lor\varphi_{2}italic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⊨ italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. Then there exist vijsubscript𝑣𝑖𝑗v_{ij}italic_v start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT with vi1vi2wisquare-image-of-or-equalssubscript𝑣𝑖1subscript𝑣𝑖2subscript𝑤𝑖v_{i1}\land v_{i2}\sqsubseteq w_{i}italic_v start_POSTSUBSCRIPT italic_i 1 end_POSTSUBSCRIPT ∧ italic_v start_POSTSUBSCRIPT italic_i 2 end_POSTSUBSCRIPT ⊑ italic_w start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and vijφjsubscript𝑣𝑖𝑗subscript𝜑𝑗v_{ij}\vDash\varphi_{j}italic_v start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ⊨ italic_φ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT. Then v1jv2jϕjsubscript𝑣1𝑗subscript𝑣2𝑗subscriptitalic-ϕ𝑗v_{1j}\land v_{2j}\vDash\phi_{j}italic_v start_POSTSUBSCRIPT 1 italic_j end_POSTSUBSCRIPT ∧ italic_v start_POSTSUBSCRIPT 2 italic_j end_POSTSUBSCRIPT ⊨ italic_ϕ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, with (v11v21)(v21v22)=(v11v12)(v12v22)w1w2subscript𝑣11subscript𝑣21subscript𝑣21subscript𝑣22subscript𝑣11subscript𝑣12subscript𝑣12subscript𝑣22square-image-of-or-equalssubscript𝑤1subscript𝑤2(v_{11}\land v_{21})\land(v_{21}\land v_{22})=(v_{11}\land v_{12})\land(v_{12}% \land v_{22})\sqsubseteq w_{1}\land w_{2}( italic_v start_POSTSUBSCRIPT 11 end_POSTSUBSCRIPT ∧ italic_v start_POSTSUBSCRIPT 21 end_POSTSUBSCRIPT ) ∧ ( italic_v start_POSTSUBSCRIPT 21 end_POSTSUBSCRIPT ∧ italic_v start_POSTSUBSCRIPT 22 end_POSTSUBSCRIPT ) = ( italic_v start_POSTSUBSCRIPT 11 end_POSTSUBSCRIPT ∧ italic_v start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT ) ∧ ( italic_v start_POSTSUBSCRIPT 12 end_POSTSUBSCRIPT ∧ italic_v start_POSTSUBSCRIPT 22 end_POSTSUBSCRIPT ) ⊑ italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∧ italic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. ∎

Both (i) and (iii) of this lemma require the existence of disjunctions; in fact, they make essential use of the dual distributive law a(xy)=(ax)(ay)𝑎𝑥𝑦𝑎𝑥𝑎𝑦a\lor(x\land y)=(a\lor x)\land(a\lor y)italic_a ∨ ( italic_x ∧ italic_y ) = ( italic_a ∨ italic_x ) ∧ ( italic_a ∨ italic_y ).

It now remains to show how the stable semantics induce an algebraic semantics. Given a stable frame (W,)𝑊square-image-of-or-equals(W,\sqsubseteq)( italic_W , ⊑ ) consider the set [W,𝟚]subscriptdelimited-[]𝑊2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{2}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}% \hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}[ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT of monotonic functions p:W𝟚:𝑝𝑊2p:W\to\mathbb{2}italic_p : italic_W → blackboard_2 which preserve finite meets. This is a partial order under the pointwise order. This poset has a number of curious properties.

First, the monotonicity of p:W𝟚:𝑝𝑊2p:W\to\mathbb{2}italic_p : italic_W → blackboard_2 implies that if p(w)=1𝑝𝑤1p(w)=1italic_p ( italic_w ) = 1 and wvsquare-image-of-or-equals𝑤𝑣w\sqsubseteq vitalic_w ⊑ italic_v, then p(v)=1𝑝𝑣1p(v)=1italic_p ( italic_v ) = 1. Hence, the subset U=p1(1)𝑈superscript𝑝11U=p^{-1}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle 1$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\textstyle 1$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle 1$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle 1$}% \mathclose{}{)}}italic_U = italic_p start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( 1 ) of W𝑊Witalic_W is an upper set. As p()=1𝑝top1p(\top)=1italic_p ( ⊤ ) = 1, we know that U\top\in U⊤ ∈ italic_U. Moreover, if p(w)=1𝑝𝑤1p(w)=1italic_p ( italic_w ) = 1 and p(v)=1𝑝𝑣1p(v)=1italic_p ( italic_v ) = 1, then p(vw)=p(v)p(w)=1𝑝𝑣𝑤𝑝𝑣𝑝𝑤1p(v\land w)=p(v)\land p(w)=1italic_p ( italic_v ∧ italic_w ) = italic_p ( italic_v ) ∧ italic_p ( italic_w ) = 1, so U𝑈Uitalic_U is closed under finite meets. In short, U𝑈Uitalic_U is a filter. It is not difficult to show that every filter FW𝐹𝑊F\subseteq Witalic_F ⊆ italic_W gives rise to a map pF:W𝟚:subscript𝑝𝐹𝑊2p_{F}:W\to\mathbb{2}italic_p start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT : italic_W → blackboard_2 which is monotonic and finite-meet-preserving. Consequently, there is an order-bijection Filt(W)[W,𝟚]Filt𝑊subscriptdelimited-[]𝑊2\textsf{Filt}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle W$}\mathclose{}{)}% }{\mathopen{}{(}\hbox{$\textstyle W$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle W$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle W$}% \mathclose{}{)}}\cong\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{% 2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{% }{]}}{\mathopen{}{[}\hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}Filt ( italic_W ) ≅ [ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT. I will keep using the somewhat cumbersome notation [W,𝟚]subscriptdelimited-[]𝑊2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{2}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}% \hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}[ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT for reasons that will become clear later.

Second, the poset [W,𝟚]subscriptdelimited-[]𝑊2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{2}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}% \hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}[ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT is a complete lattice, with meets given by intersection [27, §O-1.15, O-2.8]. The bottom element is {}top\{\top\}{ ⊤ }, while the binary join is F1F2={ab|aF1,bF2}subscript𝐹1subscript𝐹2|𝑎𝑏formulae-sequence𝑎subscript𝐹1𝑏subscript𝐹2F_{1}\lor F_{2}=\mathop{\uparrow}\mathchoice{\mathopen{}{\{}\hbox{$% \displaystyle a\land b$}\mathrel{{|}}\hbox{$\displaystyle a\in F_{1},b\in F_{2% }$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\textstyle a\land b$}\mathrel{{|}}% \hbox{$\textstyle a\in F_{1},b\in F_{2}$}\mathclose{}{\}}}{\mathopen{}{\{}% \hbox{$\scriptstyle a\land b$}\mathrel{{|}}\hbox{$\scriptstyle a\in F_{1},b\in F% _{2}$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\scriptscriptstyle a\land b$}% \mathrel{{|}}\hbox{$\scriptscriptstyle a\in F_{1},b\in F_{2}$}\mathclose{}{\}}}italic_F start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ italic_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = ↑ { italic_a ∧ italic_b | italic_a ∈ italic_F start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_b ∈ italic_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT } [27, §O-1.15]. Infinitary joins Fisquare-unionsubscript𝐹𝑖\mathop{\bigsqcup}F_{i}⨆ italic_F start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT are given by {an1anj|ankFnk}|subscript𝑎subscript𝑛1subscript𝑎subscript𝑛𝑗subscript𝑎subscript𝑛𝑘subscript𝐹subscript𝑛𝑘\mathop{\uparrow}\mathchoice{\mathopen{}{\{}\hbox{$\displaystyle a_{n_{1}}% \land\ldots\land a_{n_{j}}$}\mathrel{{|}}\hbox{$\displaystyle a_{n_{k}}\in F_{% n_{k}}$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\textstyle a_{n_{1}}\land% \ldots\land a_{n_{j}}$}\mathrel{{|}}\hbox{$\textstyle a_{n_{k}}\in F_{n_{k}}$}% \mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\scriptstyle a_{n_{1}}\land\ldots\land a% _{n_{j}}$}\mathrel{{|}}\hbox{$\scriptstyle a_{n_{k}}\in F_{n_{k}}$}\mathclose{% }{\}}}{\mathopen{}{\{}\hbox{$\scriptscriptstyle a_{n_{1}}\land\ldots\land a_{n% _{j}}$}\mathrel{{|}}\hbox{$\scriptscriptstyle a_{n_{k}}\in F_{n_{k}}$}% \mathclose{}{\}}}↑ { italic_a start_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∧ … ∧ italic_a start_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT | italic_a start_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∈ italic_F start_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT }. In fact, as W𝑊Witalic_W is distributive, infinite joins and finite meets satisfy the infinite distributive law, making [W,𝟚]subscriptdelimited-[]𝑊2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{2}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}% \hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}[ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT a locale, or complete Heyting algebra (cHA) [32, §II.2.11]. The exponential is given by F1F2={wW|wv.vF1 implies vF2}subscript𝐹1subscript𝐹2|𝑤𝑊formulae-sequencesquare-image-of-or-equalsfor-all𝑤𝑣𝑣subscript𝐹1 implies 𝑣subscript𝐹2F_{1}\Rightarrow F_{2}=\mathchoice{\mathopen{}{\{}\hbox{$\displaystyle w\in W$% }\mathrel{{|}}\hbox{$\displaystyle\forall w\sqsubseteq v.\ v\in F_{1}\text{ % implies }v\in F_{2}$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\textstyle w\in W% $}\mathrel{{|}}\hbox{$\textstyle\forall w\sqsubseteq v.\ v\in F_{1}\text{ % implies }v\in F_{2}$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\scriptstyle w\in W% $}\mathrel{{|}}\hbox{$\scriptstyle\forall w\sqsubseteq v.\ v\in F_{1}\text{ % implies }v\in F_{2}$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$% \scriptscriptstyle w\in W$}\mathrel{{|}}\hbox{$\scriptscriptstyle\forall w% \sqsubseteq v.\ v\in F_{1}\text{ implies }v\in F_{2}$}\mathclose{}{\}}}italic_F start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⇒ italic_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = { italic_w ∈ italic_W | ∀ italic_w ⊑ italic_v . italic_v ∈ italic_F start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT implies italic_v ∈ italic_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT }, which one can readily check is a filter whenever F1subscript𝐹1F_{1}italic_F start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and F2subscript𝐹2F_{2}italic_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are—as long as W𝑊Witalic_W is distributive.

Third, given any wW𝑤𝑊w\in Witalic_w ∈ italic_W its principal filter w𝑤\mathop{\uparrow}w↑ italic_w is {vW|wv}[W,𝟚]|𝑣𝑊square-image-of-or-equals𝑤𝑣subscriptdelimited-[]𝑊2\mathchoice{\mathopen{}{\{}\hbox{$\displaystyle v\in W$}\mathrel{{|}}\hbox{$% \displaystyle w\sqsubseteq v$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$% \textstyle v\in W$}\mathrel{{|}}\hbox{$\textstyle w\sqsubseteq v$}\mathclose{}% {\}}}{\mathopen{}{\{}\hbox{$\scriptstyle v\in W$}\mathrel{{|}}\hbox{$% \scriptstyle w\sqsubseteq v$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$% \scriptscriptstyle v\in W$}\mathrel{{|}}\hbox{$\scriptscriptstyle w\sqsubseteq v% $}\mathclose{}{\}}}\in\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb% {2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose% {}{]}}{\mathopen{}{[}\hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}{ italic_v ∈ italic_W | italic_w ⊑ italic_v } ∈ [ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT. As wvsquare-image-of-or-equals𝑤𝑣w\sqsubseteq vitalic_w ⊑ italic_v iff vw𝑣𝑤\mathop{\uparrow}v\subseteq\mathop{\uparrow}w↑ italic_v ⊆ ↑ italic_w, this gives an order-embedding :W𝗈𝗉[W,𝟚]:superscript𝑊𝗈𝗉subscriptdelimited-[]𝑊2\mathop{\uparrow}:W^{\mathsf{op}}\to\mathchoice{\mathopen{}{[}\hbox{$% \displaystyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W% ,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle W,\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle W,\mathbb{2}$}% \mathclose{}{]}}_{\land}↑ : italic_W start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT → [ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT. The key to this paper is the following lemma.

Lemma 3.4.

:W𝗈𝗉[W,𝟚]:superscript𝑊𝗈𝗉subscriptdelimited-[]𝑊2\mathop{\uparrow}:W^{\mathsf{op}}\to\mathchoice{\mathopen{}{[}\hbox{$% \displaystyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W% ,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle W,\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle W,\mathbb{2}$}% \mathclose{}{]}}_{\land}↑ : italic_W start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT → [ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT preserves finite and infinite meets, finite joins, and exponentials.

(The dual of) most of this lemma can be found in [27, §O-2.15]; the rest is elementary—at least if one notices that the domain of \mathop{\uparrow} is the opposite of W𝑊Witalic_W.

Fourth, the principal upper sets w𝑤\mathop{\uparrow}w↑ italic_w are special, as they are compact. Let L𝐿Litalic_L be a dcpo. An element dL𝑑𝐿d\in Litalic_d ∈ italic_L is compact just if dXsquare-image-of-or-equals𝑑superscriptsquare-union𝑋d\sqsubseteq\bigsqcup^{\uparrow}Xitalic_d ⊑ ⨆ start_POSTSUPERSCRIPT ↑ end_POSTSUPERSCRIPT italic_X implies that dxsquare-image-of-or-equals𝑑𝑥d\sqsubseteq xitalic_d ⊑ italic_x for some xX𝑥𝑋x\in Xitalic_x ∈ italic_X, for any directed set X𝑋Xitalic_X. Like (completely) prime elements, this says that d𝑑ditalic_d contains a small, indivisible fragment of information: as soon as it approximates a directed supremum, i.e. a ‘recursively defined element,’ it must approximate some ‘finite unfolding’ of it. We write K(L)K𝐿\textsf{K}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle L$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\textstyle L$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle L$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle L$}% \mathclose{}{)}}K ( italic_L ) for the set of compact elements of L𝐿Litalic_L. It is not hard to show that the compact elements of [W,𝟚]subscriptdelimited-[]𝑊2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{2}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}% \hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}[ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT are exactly the principal upper sets w𝑤\mathop{\uparrow}w↑ italic_w for some wW𝑤𝑊w\in Witalic_w ∈ italic_W [27, §I-4.10] [1, Prop. 2.2.2]. Due to the finitary cases of Lemma 3.4 this means that the sub-poset of compact elements K([W,𝟚])Ksubscriptdelimited-[]𝑊2\textsf{K}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathchoice{\mathopen{% }{[}\hbox{$\displaystyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \textstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle W,% \mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle W,\mathbb% {2}$}\mathclose{}{]}}_{\land}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{}{]}% }{\mathopen{}{[}\hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}% {[}\hbox{$\scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle\mathchoice{\mathopen{}{[}% \hbox{$\displaystyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \textstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle W,% \mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle W,\mathbb% {2}$}\mathclose{}{]}}_{\land}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{2}$% }\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{}{]% }}{\mathopen{}{[}\hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{% }{[}\hbox{$\scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}$}% \mathclose{}{)}}K ( [ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT ) is in fact a sub-lattice of [W,𝟚]subscriptdelimited-[]𝑊2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{2}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}% \hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}[ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT. This fact will prove very important.

Fifth, the complete lattice [W,𝟚]subscriptdelimited-[]𝑊2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{2}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}% \hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}[ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT is algebraic [27, §I-4.10] [1, §2.2]. This means that all its elements can be reconstructed as directed suprema of compact ones. In symbols, L𝐿Litalic_L is algebraic just if

for any dLKd=def{cK(L)|cd} is directed and d=Kdsuperscriptdefsubscriptfor any dLK𝑑|𝑐K𝐿square-image-of-or-equals𝑐𝑑 is directed and 𝑑superscriptsquare-unionsubscriptK𝑑\text{for any $d\in L$, }\textsf{K}_{d}\stackrel{{\scriptstyle\mathclap{\mbox{% \tiny def}}}}{{=}}\mathchoice{\mathopen{}{\{}\hbox{$\displaystyle c\in\textsf{% K}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle L$}\mathclose{}{)}}{\mathopen% {}{(}\hbox{$\textstyle L$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle L% $}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle L$}\mathclose{}{)}}% $}\mathrel{{|}}\hbox{$\displaystyle c\sqsubseteq d$}\mathclose{}{\}}}{% \mathopen{}{\{}\hbox{$\textstyle c\in\textsf{K}\mathchoice{\mathopen{}{(}\hbox% {$\displaystyle L$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle L$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle L$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle L$}\mathclose{}{)}}$}\mathrel{{|}}% \hbox{$\textstyle c\sqsubseteq d$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$% \scriptstyle c\in\textsf{K}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle L$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle L$}\mathclose{}{)}}{\mathopen% {}{(}\hbox{$\scriptstyle L$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle L$}\mathclose{}{)}}$}\mathrel{{|}}\hbox{$\scriptstyle c% \sqsubseteq d$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\scriptscriptstyle c\in% \textsf{K}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle L$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\textstyle L$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle L$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle L$}% \mathclose{}{)}}$}\mathrel{{|}}\hbox{$\scriptscriptstyle c\sqsubseteq d$}% \mathclose{}{\}}}\text{ is directed and }d=\mathop{\sideset{}{{}^{\uparrow}}{% \bigsqcup}}\textsf{K}_{d}for any d∈L, sansserif_K start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT start_RELOP SUPERSCRIPTOP start_ARG = end_ARG start_ARG def end_ARG end_RELOP { italic_c ∈ K ( italic_L ) | italic_c ⊑ italic_d } is directed and italic_d = start_BIGOP SUPERSCRIPTOP start_ARG ⨆ end_ARG ↑ end_BIGOP K start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT

In summary, if W𝑊Witalic_W is distributive, [W,𝟚]subscriptdelimited-[]𝑊2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{2}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}% \hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}[ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT is a frame which is (i) algebraic, and (ii) whose compact elements form a sub-lattice. Such lattices are referred to as spectral locales (or coherent frames), and play an important rôle in Stone duality. In fact, every such locale arises as the partial order of filters of a distributive lattice [32, §II.3.2]:

Theorem 3.5.

A frame is coherent iff it is isomorphic to [W,𝟚]subscriptdelimited-[]𝑊2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{2}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}% \hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}[ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT for a distributive lattice W𝑊Witalic_W.

This theorem says that a coherent frame L𝐿Litalic_L is isomorphic to the filters Filt(K(L))FiltK𝐿\textsf{Filt}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\textsf{K}% \mathchoice{\mathopen{}{(}\hbox{$\displaystyle L$}\mathclose{}{)}}{\mathopen{}% {(}\hbox{$\textstyle L$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle L$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle L$}\mathclose{}{)}}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\textsf{K}\mathchoice{% \mathopen{}{(}\hbox{$\displaystyle L$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle L$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle L$}\mathclose% {}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle L$}\mathclose{}{)}}$}\mathclose% {}{)}}{\mathopen{}{(}\hbox{$\scriptstyle\textsf{K}\mathchoice{\mathopen{}{(}% \hbox{$\displaystyle L$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle L$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle L$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle L$}\mathclose{}{)}}$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle\textsf{K}\mathchoice{\mathopen{}{(}% \hbox{$\displaystyle L$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle L$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle L$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle L$}\mathclose{}{)}}$}\mathclose{}{)}}Filt ( K ( italic_L ) ) of its compact elements.

Finally, the fact that every element can be reconstructed as a supremum of compact elements means that it is possible to canonically extend any monotonic f:WW:𝑓𝑊superscript𝑊f:W\to W^{\prime}italic_f : italic_W → italic_W start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT that preserves finite joins to a monotonic, join-preserving [W𝗈𝗉,𝟚]Wdelimited-[]superscript𝑊𝗈𝗉2superscript𝑊\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W^{\mathsf{op}},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W^{\mathsf{op}},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle W^{\mathsf{op}},\mathbb{2}$% }\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle W^{\mathsf{op}},% \mathbb{2}$}\mathclose{}{]}}\to W^{\prime}[ italic_W start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , blackboard_2 ] → italic_W start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, as long as Wsuperscript𝑊W^{\prime}italic_W start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is a complete lattice. Diagrammatically, in the situation

W𝑊Witalic_W[W𝗈𝗉,𝟚]subscriptdelimited-[]superscript𝑊𝗈𝗉2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W^{\mathsf{op}},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W^{\mathsf{op}},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle W^{\mathsf{op}},\mathbb{2}$% }\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle W^{\mathsf{op}},% \mathbb{2}$}\mathclose{}{]}}_{\land}[ italic_W start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPTWsuperscript𝑊W^{\prime}italic_W start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT\mathop{\uparrow}f𝑓fitalic_ff!subscript𝑓f_{{!}}italic_f start_POSTSUBSCRIPT ! end_POSTSUBSCRIPTdoes-not-prove\dashvfsuperscript𝑓{f}^{{\star}}italic_f start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT (4)

there exists a unique f!subscript𝑓f_{{!}}italic_f start_POSTSUBSCRIPT ! end_POSTSUBSCRIPT which preserves all joins and satisfies f!(w)=f(w)subscript𝑓𝑤𝑓𝑤f_{{!}}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathop{\uparrow}w$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathop{\uparrow}w$}\mathclose% {}{)}}{\mathopen{}{(}\hbox{$\scriptstyle\mathop{\uparrow}w$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle\mathop{\uparrow}w$}\mathclose{}{)}}=f(w)italic_f start_POSTSUBSCRIPT ! end_POSTSUBSCRIPT ( ↑ italic_w ) = italic_f ( italic_w ). It is given by

f!(S)=def{f(w)|wS}superscriptdefsubscript𝑓𝑆square-union|𝑓𝑤𝑤𝑆f_{{!}}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle S$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\textstyle S$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle S$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle S$}% \mathclose{}{)}}\stackrel{{\scriptstyle\mathclap{\mbox{\tiny def}}}}{{=}}% \mathop{\bigsqcup}\mathchoice{\mathopen{}{\{}\hbox{$\displaystyle f(w)$}% \mathrel{{|}}\hbox{$\displaystyle w\in S$}\mathclose{}{\}}}{\mathopen{}{\{}% \hbox{$\textstyle f(w)$}\mathrel{{|}}\hbox{$\textstyle w\in S$}\mathclose{}{\}% }}{\mathopen{}{\{}\hbox{$\scriptstyle f(w)$}\mathrel{{|}}\hbox{$\scriptstyle w% \in S$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\scriptscriptstyle f(w)$}% \mathrel{{|}}\hbox{$\scriptscriptstyle w\in S$}\mathclose{}{\}}}italic_f start_POSTSUBSCRIPT ! end_POSTSUBSCRIPT ( italic_S ) start_RELOP SUPERSCRIPTOP start_ARG = end_ARG start_ARG def end_ARG end_RELOP ⨆ { italic_f ( italic_w ) | italic_w ∈ italic_S }

We call f!subscript𝑓f_{{!}}italic_f start_POSTSUBSCRIPT ! end_POSTSUBSCRIPT the Scott-continuous extension of f𝑓fitalic_f along \mathop{\uparrow}. This follows from a much more general theorem: if W𝑊Witalic_W is merely a poset and Wsuperscript𝑊W^{\prime}italic_W start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT a dcpo, then [W𝗈𝗉,𝟚]subscriptdelimited-[]superscript𝑊𝗈𝗉2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W^{\mathsf{op}},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W^{\mathsf{op}},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle W^{\mathsf{op}},\mathbb{2}$% }\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle W^{\mathsf{op}},% \mathbb{2}$}\mathclose{}{]}}_{\land}[ italic_W start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT is a dcpo, and there is a unique Scott-continuous f!subscript𝑓f_{{!}}italic_f start_POSTSUBSCRIPT ! end_POSTSUBSCRIPT that makes (4) commute [1, Prop. 2.2.24]. However, if W𝑊Witalic_W already has finite joins, then [W𝗈𝗉,𝟚]delimited-[]superscript𝑊𝗈𝗉2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W^{\mathsf{op}},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W^{\mathsf{op}},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle W^{\mathsf{op}},\mathbb{2}$% }\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle W^{\mathsf{op}},% \mathbb{2}$}\mathclose{}{]}}[ italic_W start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , blackboard_2 ] is a complete lattice. The reason is every join can be written as a directed supremum of non-empty finite ones. Then, if f𝑓fitalic_f preserves finite joins, f!subscript𝑓f_{{!}}italic_f start_POSTSUBSCRIPT ! end_POSTSUBSCRIPT preserves all of them. As [W𝗈𝗉,𝟚]subscriptdelimited-[]superscript𝑊𝗈𝗉2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W^{\mathsf{op}},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W^{\mathsf{op}},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle W^{\mathsf{op}},\mathbb{2}$% }\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle W^{\mathsf{op}},% \mathbb{2}$}\mathclose{}{]}}_{\land}[ italic_W start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT is complete, it has a right adjoint fsuperscript𝑓{f}^{{\star}}italic_f start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT, by the adjoint functor theorem [17, §7.34] [32, §I.4.2].

Suppose then that we start with a stable model (W,,V)𝑊square-image-of-or-equals𝑉(W,\sqsubseteq,V)( italic_W , ⊑ , italic_V ). By taking its filters we then obtain a spectral locale [W,𝟚]subscriptdelimited-[]𝑊2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{2}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}% \hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}[ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT. Defining p=V(p)\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle p$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle p$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle p$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle p$}\mathclose{}{% \rrbracket}}=V(p)⟦ italic_p ⟧ = italic_V ( italic_p ) we obtain a model of intuitionistic logic which interprets every formula φ𝜑\varphiitalic_φ as a filter φ[W,𝟚]\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}\in\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,% \mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{% ]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}⟦ italic_φ ⟧ ∈ [ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT, namely the filter of worlds in which it is true:

Proposition 3.6.

wφ𝑤𝜑w\vDash\varphiitalic_w ⊨ italic_φ if and only if wφw\in\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose% {}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}italic_w ∈ ⟦ italic_φ ⟧.

In view of this proposition,

Theorem 3.7 (Soundness).

The stable semantics is sound for intuitionistic logic.

3.1 Completeness

Revisiting the remarks of §2 we can prove that completeness of the stable semantics implies completeness of the algebraic semantics and vice versa. One direction works exactly as it would for Kripke semantics:

Theorem 3.8.

Completeness of the stable semantics implies completeness of the algebraic semantics.

Proof.

Suppose φH=1\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}_{H}=1⟦ italic_φ ⟧ start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT = 1 for every Heyting algebra H𝐻Hitalic_H and any interpretation pHH\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle p$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle p$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle p$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle p$}\mathclose{}{% \rrbracket}}_{H}\in H⟦ italic_p ⟧ start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT ∈ italic_H of the propositions. Hence, given any stable model (W,,V)𝑊square-image-of-or-equals𝑉(W,\sqsubseteq,V)( italic_W , ⊑ , italic_V ) we have that φ[W,𝟚]=1=W\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}_{\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,% \mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{% ]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{% \land}}=1=W⟦ italic_φ ⟧ start_POSTSUBSCRIPT [ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT end_POSTSUBSCRIPT = 1 = italic_W where p[W,𝟚]=V(p)\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle p$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle p$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle p$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle p$}\mathclose{}{% \rrbracket}}_{\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{}{]}% }{\mathopen{}{[}\hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}% {[}\hbox{$\scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}}=V(p)⟦ italic_p ⟧ start_POSTSUBSCRIPT [ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT end_POSTSUBSCRIPT = italic_V ( italic_p ). But Prop. 3.6 then implies that wφ𝑤𝜑w\vDash\varphiitalic_w ⊨ italic_φ for all wW𝑤𝑊w\in Witalic_w ∈ italic_W. By completeness of the stable semantics, φprovesabsent𝜑\vdash\varphi⊢ italic_φ. ∎

However, the filter construction enables a proof of the other direction as well. We have an embedding

H𝗈𝗉:H[H𝗈𝗉,𝟚]:subscriptsuperscript𝐻𝗈𝗉𝐻subscriptdelimited-[]superscript𝐻𝗈𝗉2\mathop{\uparrow_{H^{\mathsf{op}}}}:H\to\mathchoice{\mathopen{}{[}\hbox{$% \displaystyle H^{\mathsf{op}},\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox% {$\textstyle H^{\mathsf{op}},\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{% $\scriptstyle H^{\mathsf{op}},\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox% {$\scriptscriptstyle H^{\mathsf{op}},\mathbb{2}$}\mathclose{}{]}}_{\land}start_BIGOP ↑ start_POSTSUBSCRIPT italic_H start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_BIGOP : italic_H → [ italic_H start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT

of any Heyting algebra H𝐻Hitalic_H into the cHA of filters of H𝗈𝗉superscript𝐻𝗈𝗉H^{\mathsf{op}}italic_H start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT which is a Heyting homomorphism by Lemma 3.4. It is worth pausing for a moment to ponder that a filter on H𝗈𝗉superscript𝐻𝗈𝗉H^{\mathsf{op}}italic_H start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT is in fact an ideal of H𝐻Hitalic_H, viz. a lower set that is a sub-join-semilattice. Thus, H𝗈𝗉subscriptsuperscript𝐻𝗈𝗉\mathop{\uparrow_{H^{\mathsf{op}}}}↑ start_POSTSUBSCRIPT italic_H start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT end_POSTSUBSCRIPT sends xH𝑥𝐻x\in Hitalic_x ∈ italic_H to the principal ideal {yH|yx}|𝑦𝐻𝑦𝑥\mathchoice{\mathopen{}{\{}\hbox{$\displaystyle y\in H$}\mathrel{{|}}\hbox{$% \displaystyle y\leq x$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\textstyle y\in H% $}\mathrel{{|}}\hbox{$\textstyle y\leq x$}\mathclose{}{\}}}{\mathopen{}{\{}% \hbox{$\scriptstyle y\in H$}\mathrel{{|}}\hbox{$\scriptstyle y\leq x$}% \mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\scriptscriptstyle y\in H$}\mathrel{{|% }}\hbox{$\scriptscriptstyle y\leq x$}\mathclose{}{\}}}{ italic_y ∈ italic_H | italic_y ≤ italic_x } of x𝑥xitalic_x in H𝐻Hitalic_H.

Suppose we have a Heyting algebra H𝐻Hitalic_H, and some interpretation of propositional variables pHH\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle p$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle p$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle p$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle p$}\mathclose{}{% \rrbracket}}_{H}\in H⟦ italic_p ⟧ start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT ∈ italic_H. Define an interpretation into [H𝗈𝗉,𝟚]subscriptdelimited-[]superscript𝐻𝗈𝗉2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle H^{\mathsf{op}},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle H^{\mathsf{op}},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle H^{\mathsf{op}},\mathbb{2}$% }\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle H^{\mathsf{op}},% \mathbb{2}$}\mathclose{}{]}}_{\land}[ italic_H start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT starting from p[H𝗈𝗉,𝟚]=defH𝗈𝗉(pH)\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle p$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle p$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle p$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle p$}\mathclose{}{% \rrbracket}}_{\mathchoice{\mathopen{}{[}\hbox{$\displaystyle H^{\mathsf{op}},% \mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle H^{\mathsf{op}},% \mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle H^{\mathsf{op}}% ,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle H^{% \mathsf{op}},\mathbb{2}$}\mathclose{}{]}}_{\land}}\stackrel{{\scriptstyle% \mathclap{\mbox{\tiny def}}}}{{=}}\mathop{\uparrow_{H^{\mathsf{op}}}}% \mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathchoice{\mathopen{}{% \llbracket}\hbox{$\displaystyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\textstyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptscriptstyle p$}\mathclose{}{\rrbracket}}_{H}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathchoice{\mathopen{}{% \llbracket}\hbox{$\displaystyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\textstyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptscriptstyle p$}\mathclose{}{\rrbracket}}_{H}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle\mathchoice{\mathopen{}{% \llbracket}\hbox{$\displaystyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\textstyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptscriptstyle p$}\mathclose{}{\rrbracket}}_{H}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle\mathchoice{\mathopen{% }{\llbracket}\hbox{$\displaystyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\textstyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle p$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptscriptstyle p$}\mathclose{}{\rrbracket}}_{H}$}% \mathclose{}{)}}⟦ italic_p ⟧ start_POSTSUBSCRIPT [ italic_H start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_RELOP SUPERSCRIPTOP start_ARG = end_ARG start_ARG def end_ARG end_RELOP start_BIGOP ↑ start_POSTSUBSCRIPT italic_H start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_BIGOP ( ⟦ italic_p ⟧ start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT ). Then, by Lemma 3.4,

Proposition 3.9.

φ[H𝗈𝗉,𝟚]=H𝗈𝗉φH={yH|yφH}\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}_{\mathchoice{\mathopen{}{[}\hbox{$\displaystyle H^{% \mathsf{op}},\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle H^{% \mathsf{op}},\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle H^% {\mathsf{op}},\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle H^{\mathsf{op}},\mathbb{2}$}\mathclose{}{]}}_{\land}}=% \mathop{\uparrow_{H^{\mathsf{op}}}}\mathchoice{\mathopen{}{\llbracket}\hbox{$% \displaystyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \textstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptscriptstyle\varphi$}\mathclose{}{\rrbracket}}_{H}=\mathchoice{\mathopen% {}{\{}\hbox{$\displaystyle y\in H$}\mathrel{{|}}\hbox{$\displaystyle y\leq% \mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}_{H}$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$% \textstyle y\in H$}\mathrel{{|}}\hbox{$\textstyle y\leq\mathchoice{\mathopen{}% {\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}% {\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptscriptstyle\varphi$}\mathclose{}{\rrbracket}}_{H}$}% \mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\scriptstyle y\in H$}\mathrel{{|}}% \hbox{$\scriptstyle y\leq\mathchoice{\mathopen{}{\llbracket}\hbox{$% \displaystyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \textstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptscriptstyle\varphi$}\mathclose{}{\rrbracket}}_{H}$}\mathclose{}{\}}}{% \mathopen{}{\{}\hbox{$\scriptscriptstyle y\in H$}\mathrel{{|}}\hbox{$% \scriptscriptstyle y\leq\mathchoice{\mathopen{}{\llbracket}\hbox{$% \displaystyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \textstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptscriptstyle\varphi$}\mathclose{}{\rrbracket}}_{H}$}\mathclose{}{\}}}⟦ italic_φ ⟧ start_POSTSUBSCRIPT [ italic_H start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT end_POSTSUBSCRIPT = start_BIGOP ↑ start_POSTSUBSCRIPT italic_H start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_BIGOP ⟦ italic_φ ⟧ start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT = { italic_y ∈ italic_H | italic_y ≤ ⟦ italic_φ ⟧ start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT }

We are now in a position to prove that

Theorem 3.10.

Completeness of the algebraic semantics implies completeness of the stable semantics.

Proof.

Suppose φ𝜑\varphiitalic_φ is valid in every stable model. By completeness of the algebraic semantics, it suffices to show that φH=1\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}_{H}=1⟦ italic_φ ⟧ start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT = 1 for any Heyting algebra H𝐻Hitalic_H, and any interpretation pHH\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle p$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle p$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle p$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle p$}\mathclose{}{% \rrbracket}}_{H}\in H⟦ italic_p ⟧ start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT ∈ italic_H, as this implies φprovesabsent𝜑\vdash\varphi⊢ italic_φ. Consider then the stable model (H𝗈𝗉,,V)superscript𝐻𝗈𝗉square-image-of-or-equals𝑉(H^{\mathsf{op}},\sqsubseteq,V)( italic_H start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , ⊑ , italic_V ) where V(p)=H𝗈𝗉(pH)V(p)=\mathop{\uparrow_{H^{\mathsf{op}}}}\mathchoice{\mathopen{}{(}\hbox{$% \displaystyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle p$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle p$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle p$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle p$}% \mathclose{}{\rrbracket}}_{H}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle p$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle p$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle p$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle p$}% \mathclose{}{\rrbracket}}_{H}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle p$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle p$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle p$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle p$}% \mathclose{}{\rrbracket}}_{H}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle p$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle p$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle p$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle p$}% \mathclose{}{\rrbracket}}_{H}$}\mathclose{}{)}}italic_V ( italic_p ) = start_BIGOP ↑ start_POSTSUBSCRIPT italic_H start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_BIGOP ( ⟦ italic_p ⟧ start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT ). As φ𝜑\varphiitalic_φ is valid in this model, xφ𝑥𝜑x\vDash\varphiitalic_x ⊨ italic_φ for every xH𝑥𝐻x\in Hitalic_x ∈ italic_H. By Proposition 3.6 and Proposition 3.9 we get that H=φ[H𝗈𝗉,𝟚]={yH|yφH}H=\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}% {\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}_{\mathchoice{\mathopen{}{[}\hbox{$\displaystyle H^{% \mathsf{op}},\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle H^{% \mathsf{op}},\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle H^% {\mathsf{op}},\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle H^{\mathsf{op}},\mathbb{2}$}\mathclose{}{]}}_{\land}}=% \mathchoice{\mathopen{}{\{}\hbox{$\displaystyle y\in H$}\mathrel{{|}}\hbox{$% \displaystyle y\leq\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle% \varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle% \varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle% \varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptscriptstyle\varphi$}\mathclose{}{\rrbracket}}_{H}$}\mathclose{}{\}}}{% \mathopen{}{\{}\hbox{$\textstyle y\in H$}\mathrel{{|}}\hbox{$\textstyle y\leq% \mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}_{H}$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$% \scriptstyle y\in H$}\mathrel{{|}}\hbox{$\scriptstyle y\leq\mathchoice{% \mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}\mathclose{}{% \rrbracket}}_{H}$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\scriptscriptstyle y% \in H$}\mathrel{{|}}\hbox{$\scriptscriptstyle y\leq\mathchoice{\mathopen{}{% \llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptscriptstyle\varphi$}\mathclose{}{\rrbracket}}_{H}$}% \mathclose{}{\}}}italic_H = ⟦ italic_φ ⟧ start_POSTSUBSCRIPT [ italic_H start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT end_POSTSUBSCRIPT = { italic_y ∈ italic_H | italic_y ≤ ⟦ italic_φ ⟧ start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT }. ∎

3.2 Morphisms

We briefly consider what it means to have a morphism f:WW:𝑓𝑊superscript𝑊f:W\to W^{\prime}italic_f : italic_W → italic_W start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT of stable frames. We would like such morphisms to induce a map f:[W,𝟚][W,𝟚]:superscript𝑓subscriptdelimited-[]superscript𝑊2subscriptdelimited-[]𝑊2f^{*}:\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W^{\prime},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W^{\prime},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle W^{\prime},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle W^{\prime},\mathbb{2}% $}\mathclose{}{]}}_{\land}\to\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,% \mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{% ]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}italic_f start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT : [ italic_W start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT → [ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT by f(F)={vW|f(v)F}superscript𝑓𝐹|𝑣superscript𝑊𝑓𝑣𝐹f^{*}(F)=\mathchoice{\mathopen{}{\{}\hbox{$\displaystyle v\in W^{\prime}$}% \mathrel{{|}}\hbox{$\displaystyle f(v)\in F$}\mathclose{}{\}}}{\mathopen{}{\{}% \hbox{$\textstyle v\in W^{\prime}$}\mathrel{{|}}\hbox{$\textstyle f(v)\in F$}% \mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\scriptstyle v\in W^{\prime}$}\mathrel% {{|}}\hbox{$\scriptstyle f(v)\in F$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$% \scriptscriptstyle v\in W^{\prime}$}\mathrel{{|}}\hbox{$\scriptscriptstyle f(v% )\in F$}\mathclose{}{\}}}italic_f start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( italic_F ) = { italic_v ∈ italic_W start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT | italic_f ( italic_v ) ∈ italic_F }. To conclude that f(F)superscript𝑓𝐹f^{*}(F)italic_f start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( italic_F ) is a filter we need to know that f𝑓fitalic_f is monotonic, and that it preserves finite meets. Such maps warrant their own name, which we borrow from the literature on stable domain theory [8]:

Definition 3.11.

A monotonic map f:WW:𝑓𝑊superscript𝑊f:W\to W^{\prime}italic_f : italic_W → italic_W start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is stable just if it preserves finite meets. We define Stable to be the category of distributive lattices and stable maps.

Unlike the category DLatt of distributive lattices, the morphisms of Stable need not preserve disjunctions.

It is straightforward to show that when f𝑓fitalic_f preserves finite meets, fsuperscript𝑓f^{*}italic_f start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT is Scott-continuous and preserves arbitrary meets. This defines a functor [,𝟚]:Stable𝗈𝗉Coh:subscriptdelimited-[]2superscriptStable𝗈𝗉Coh\mathchoice{\mathopen{}{[}\hbox{$\displaystyle-,\mathbb{2}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle-,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}% \hbox{$\scriptstyle-,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle-,\mathbb{2}$}\mathclose{}{]}}_{\land}:\textbf{Stable}^{% \mathsf{op}}\longrightarrow\textbf{Coh}[ - , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT : Stable start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT ⟶ Coh, where Coh is the category of coherent frames and Scott-continuous, meet-preserving morphisms. Note that this is not the usual category that is used in Stone duality, whose morphisms are frame maps that preserve compact elements [32, §II.3.3].

It is not difficult to see that [,𝟚]subscriptdelimited-[]2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle-,\mathbb{2}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle-,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}% \hbox{$\scriptstyle-,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle-,\mathbb{2}$}\mathclose{}{]}}_{\land}[ - , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT is an equivalence. On objects this is guaranteed by Theorem 3.5. On morphisms, it suffices to spot that every f:[W,𝟚][W,𝟚]:superscript𝑓subscriptdelimited-[]superscript𝑊2subscriptdelimited-[]𝑊2f^{*}:\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W^{\prime},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W^{\prime},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle W^{\prime},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle W^{\prime},\mathbb{2}% $}\mathclose{}{]}}_{\land}\to\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,% \mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{% ]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}italic_f start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT : [ italic_W start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT → [ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT preserves meets, and hence has a left adjoint f!subscript𝑓f_{{!}}italic_f start_POSTSUBSCRIPT ! end_POSTSUBSCRIPT by the adjoint functor theorem. It is then simple to show that left adjoints preserve compact elements, so that f𝑓fitalic_f can be extracted by restricting f!subscript𝑓f_{{!}}italic_f start_POSTSUBSCRIPT ! end_POSTSUBSCRIPT to K([W,𝟚])WKsubscriptdelimited-[]𝑊2𝑊\textsf{K}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathchoice{\mathopen{% }{[}\hbox{$\displaystyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \textstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle W,% \mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle W,\mathbb% {2}$}\mathclose{}{]}}_{\land}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{}{]}% }{\mathopen{}{[}\hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}% {[}\hbox{$\scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle\mathchoice{\mathopen{}{[}% \hbox{$\displaystyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \textstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle W,% \mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle W,\mathbb% {2}$}\mathclose{}{]}}_{\land}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{2}$% }\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{}{]% }}{\mathopen{}{[}\hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{% }{[}\hbox{$\scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}$}% \mathclose{}{)}}\cong WK ( [ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT ) ≅ italic_W. This leads to a duality

Stable𝗈𝗉Cohsimilar-to-or-equalssuperscriptStable𝗈𝗉Coh\textbf{Stable}^{\mathsf{op}}\simeq\textbf{Coh}Stable start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT ≃ Coh (5)

Weaker versions of this duality are well-known, see e.g. [27, §IV-1.16] for a duality between meet-semilattices and algebraic lattices, as well as references to it in the literature.

However, stable morphisms do not preserve truth. For that, we need to refine the above duality to maps that are stable, open, surjective, and also L-morphisms in the sense of Bezhanishvili et al. [10, §2], which appropriately preserve disjunction. The details are similar to those in [35].

4 Stable semantics of modal logic

In [35] I argued that a canonical Kripke semantics for intuitionistic modal logic is given by a bimodule, i.e. a monotonic function R:W𝗈𝗉×W𝟚:𝑅superscript𝑊𝗈𝗉𝑊2R:W^{\mathsf{op}}\times W\to\mathbb{2}italic_R : italic_W start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT × italic_W → blackboard_2 over a Kripke frame (W,)𝑊square-image-of-or-equals(W,\sqsubseteq)( italic_W , ⊑ ). In this section we adapt this to the case where (W,)𝑊square-image-of-or-equals(W,\sqsubseteq)( italic_W , ⊑ ) is a stable frame.

Definition 4.1.

A stable bimodule on W𝑊Witalic_W is a bimodule R:W𝗈𝗉×W𝟚:𝑅superscript𝑊𝗈𝗉𝑊2R:W^{\mathsf{op}}\times W\to\mathbb{2}italic_R : italic_W start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT × italic_W → blackboard_2 that additionally satisfies the following stability conditions:

  1. 1.

    w𝑅v1 and w𝑅v2w𝑅(v1v2)𝑅𝑅𝑤subscript𝑣1 and 𝑤subscript𝑣2𝑅𝑤subscript𝑣1subscript𝑣2w\mathbin{R}v_{1}\,\text{ and }\,w\mathbin{R}v_{2}\Longrightarrow\ w\mathbin{R% }(v_{1}\land v_{2})italic_w italic_R italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and italic_w italic_R italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⟹ italic_w italic_R ( italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∧ italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT )

  2. 2.

    w𝑅1𝑅𝑤1w\mathbin{R}1italic_w italic_R 1

  3. 3.

    (w1w2)𝑅vv1,v2.v1v2v and w1𝑅v1,w2𝑅v2formulae-sequence𝑅subscript𝑤1subscript𝑤2𝑣subscript𝑣1subscript𝑣2square-image-of-or-equalssubscript𝑣1subscript𝑣2𝑅𝑣 and subscript𝑤1subscript𝑣1𝑅subscript𝑤2subscript𝑣2(w_{1}\land w_{2})\mathbin{R}v\ \Longrightarrow\exists v_{1},v_{2}.\ v_{1}% \land v_{2}\sqsubseteq v\text{ and }w_{1}\mathbin{R}v_{1},w_{2}\mathbin{R}v_{2}( italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∧ italic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) italic_R italic_v ⟹ ∃ italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT . italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∧ italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⊑ italic_v and italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_R italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_R italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT

  4. 4.

    1𝑅vv=1𝑅1𝑣𝑣11\mathbin{R}v\ \Longleftrightarrow v=11 italic_R italic_v ⟺ italic_v = 1

A bimodule is a relation RW×W𝑅𝑊𝑊R\subseteq W\times Witalic_R ⊆ italic_W × italic_W with the property that ww𝑅vvsquare-image-of-or-equalssuperscript𝑤𝑅𝑤𝑣square-image-of-or-equalssuperscript𝑣w^{\prime}\sqsubseteq w\mathbin{R}v\sqsubseteq v^{\prime}italic_w start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⊑ italic_w italic_R italic_v ⊑ italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT implies w𝑅v𝑅superscript𝑤superscript𝑣w^{\prime}\mathbin{R}v^{\prime}italic_w start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_R italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. This automatically implies the converses of (i) and (iii). Condition (ii) is redundant, as it is implied by (iv) and the bimodule conditions, but we keep it for symmetry. A modal stable frame (W,,R)𝑊square-image-of-or-equals𝑅(W,\sqsubseteq,R)( italic_W , ⊑ , italic_R ) comprises a stable frame (W,)𝑊square-image-of-or-equals(W,\sqsubseteq)( italic_W , ⊑ ) and a stable bimodule R𝑅Ritalic_R.

Stability conditions (i) and (ii) ensure that abstracting the second variable yields a monotonic map ΛR:W𝗈𝗉[W,𝟚]:Λ𝑅superscript𝑊𝗈𝗉subscriptdelimited-[]𝑊2\Lambda R:W^{\mathsf{op}}\to\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,% \mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{% ]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}roman_Λ italic_R : italic_W start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT → [ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT. Moreover, stability conditions (iii) and (iv) ensure that ΛRΛ𝑅\Lambda Rroman_Λ italic_R preserves finite joins. Then λR𝜆𝑅\lambda Ritalic_λ italic_R induces the following adjunction by Scott-continuous extension:

W𝗈𝗉superscript𝑊𝗈𝗉W^{\mathsf{op}}italic_W start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT[W,𝟚]subscriptdelimited-[]𝑊2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{2}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}% \hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}[ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT[W,𝟚]subscriptdelimited-[]𝑊2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{2}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}% \hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}[ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT\mathop{\uparrow}λR𝜆𝑅\lambda Ritalic_λ italic_RRsubscript𝑅\blacklozenge_{R}◆ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPTdoes-not-prove\dashvRsubscript𝑅\Box_{R}□ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT (6)

Like in the Kripke case [35] it can be shown that these maps are given by

R(F)subscript𝑅𝐹\displaystyle\blacklozenge_{R}(F)◆ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_F ) =def{wW|v.v𝑅w and vF}superscriptdefabsent|𝑤𝑊formulae-sequence𝑣𝑅𝑣𝑤 and 𝑣𝐹\displaystyle\stackrel{{\scriptstyle\mathclap{\mbox{\tiny def}}}}{{=}}% \mathchoice{\mathopen{}{\{}\hbox{$\displaystyle w\in W$}\mathrel{{|}}\hbox{$% \displaystyle\exists v.\ v\mathbin{R}w\text{ and }v\in F$}\mathclose{}{\}}}{% \mathopen{}{\{}\hbox{$\textstyle w\in W$}\mathrel{{|}}\hbox{$\textstyle\exists v% .\ v\mathbin{R}w\text{ and }v\in F$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$% \scriptstyle w\in W$}\mathrel{{|}}\hbox{$\scriptstyle\exists v.\ v\mathbin{R}w% \text{ and }v\in F$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\scriptscriptstyle w% \in W$}\mathrel{{|}}\hbox{$\scriptscriptstyle\exists v.\ v\mathbin{R}w\text{ % and }v\in F$}\mathclose{}{\}}}start_RELOP SUPERSCRIPTOP start_ARG = end_ARG start_ARG def end_ARG end_RELOP { italic_w ∈ italic_W | ∃ italic_v . italic_v italic_R italic_w and italic_v ∈ italic_F } R(F)subscript𝑅𝐹\displaystyle\Box_{R}(F)□ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_F ) =def{wW|v.w𝑅v implies vF}superscriptdefabsent|𝑤𝑊formulae-sequencefor-all𝑣𝑅𝑤𝑣 implies 𝑣𝐹\displaystyle\stackrel{{\scriptstyle\mathclap{\mbox{\tiny def}}}}{{=}}% \mathchoice{\mathopen{}{\{}\hbox{$\displaystyle w\in W$}\mathrel{{|}}\hbox{$% \displaystyle\forall v.\ w\mathbin{R}v\text{ implies }v\in F$}\mathclose{}{\}}% }{\mathopen{}{\{}\hbox{$\textstyle w\in W$}\mathrel{{|}}\hbox{$\textstyle% \forall v.\ w\mathbin{R}v\text{ implies }v\in F$}\mathclose{}{\}}}{\mathopen{}% {\{}\hbox{$\scriptstyle w\in W$}\mathrel{{|}}\hbox{$\scriptstyle\forall v.\ w% \mathbin{R}v\text{ implies }v\in F$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$% \scriptscriptstyle w\in W$}\mathrel{{|}}\hbox{$\scriptscriptstyle\forall v.\ w% \mathbin{R}v\text{ implies }v\in F$}\mathclose{}{\}}}start_RELOP SUPERSCRIPTOP start_ARG = end_ARG start_ARG def end_ARG end_RELOP { italic_w ∈ italic_W | ∀ italic_v . italic_w italic_R italic_v implies italic_v ∈ italic_F }

It is easy to show that both R(F)subscript𝑅𝐹\blacklozenge_{R}(F)◆ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_F ) and R(F)subscript𝑅𝐹\Box_{R}(F)□ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_F ) are filters whenever F𝐹Fitalic_F is; the proof of the first uses stability conditions (i) and (iv), and the second uses stability conditions (iii) and (iv).

This directly leads to the following clauses of a stable semantics of the two modalities:

𝔐,wφ𝔐𝑤𝜑\displaystyle\mathfrak{M},w\vDash\blacklozenge\varphi\ fraktur_M , italic_w ⊨ ◆ italic_φ defv.v𝑅w and 𝔐,vφformulae-sequencesuperscriptdefabsent𝑣𝑅𝑣𝑤 and 𝔐𝑣𝜑\displaystyle\stackrel{{\scriptstyle\mathclap{\mbox{\tiny def}}}}{{\equiv}}\ % \exists v.\ v\mathbin{R}w\text{ and }\mathfrak{M},v\vDash\varphistart_RELOP SUPERSCRIPTOP start_ARG ≡ end_ARG start_ARG def end_ARG end_RELOP ∃ italic_v . italic_v italic_R italic_w and fraktur_M , italic_v ⊨ italic_φ 𝔐,wφ𝔐𝑤𝜑\displaystyle\mathfrak{M},w\vDash\Box\varphi\ fraktur_M , italic_w ⊨ □ italic_φ defv.w𝑅v implies 𝔐,vφformulae-sequencesuperscriptdefabsentfor-all𝑣𝑅𝑤𝑣 implies 𝔐𝑣𝜑\displaystyle\stackrel{{\scriptstyle\mathclap{\mbox{\tiny def}}}}{{\equiv}}\ % \forall v.\ w\mathbin{R}v\text{ implies }\mathfrak{M},v\vDash\varphistart_RELOP SUPERSCRIPTOP start_ARG ≡ end_ARG start_ARG def end_ARG end_RELOP ∀ italic_v . italic_w italic_R italic_v implies fraktur_M , italic_v ⊨ italic_φ

to which Proposition 3.6 readily extends. I have neglected to mention what a modal stable model 𝔐=(W,,R,V)𝔐𝑊square-image-of-or-equals𝑅𝑉\mathfrak{M}=(W,\sqsubseteq,R,V)fraktur_M = ( italic_W , ⊑ , italic_R , italic_V ) is: (W,,R)𝑊square-image-of-or-equals𝑅(W,\sqsubseteq,R)( italic_W , ⊑ , italic_R ) is a modal stable frame, and the valuation V𝑉Vitalic_V maps propositions into filters.

4.1 Completeness

In [35] I argued that applying Kan extension to a bimodule inescapably leads us to an intuitionistic modal logic with two adjoint modalities, \blacklozenge and \Box, as studied by Dzik et al. [21]. The two clauses of the stable semantics are identical to the Kripke semantics in loc. cit. But is the logic the same? To answer that we have to reach for its algebraic models, which are Heyting algebras H𝐻Hitalic_H equipped with two operators ,:HH:𝐻𝐻\blacklozenge,\Box:H\to H◆ , □ : italic_H → italic_H that form an adjunction does-not-prove\blacklozenge\dashv\Box◆ ⊣ □. We have just seen that stable bimodules on W𝑊Witalic_W correspond precisely to such adjunctions on the cHA [W,𝟚]subscriptdelimited-[]𝑊2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{2}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}% \hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}[ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT. As Proposition 3.6 remains true if we include \blacklozenge and \Box, we have that the stable semantics is sound for the logic of Dzik et al. Furthermore,

Theorem 4.2.

Completeness of the modal stable semantics implies completeness of the modal algebraic semantics.

The proof is the same as that of Theorem 3.8. For the other direction we have to combine our work from intuitionistic logic, and the argument from §2. Given a Heyting algebra H𝐻Hitalic_H and an adjunction on it, the map \mathop{\uparrow}\circ\mathop{\blacklozenge}↑ ∘ ◆ preserves finite joins, as both \mathop{\uparrow} and \blacklozenge do. Take its Scott-continuous extension, fsubscript𝑓\blacklozenge_{f}◆ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT:

H𝐻Hitalic_H[H𝗈𝗉,𝟚]subscriptdelimited-[]superscript𝐻𝗈𝗉2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle H^{\mathsf{op}},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle H^{\mathsf{op}},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle H^{\mathsf{op}},\mathbb{2}$% }\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle H^{\mathsf{op}},% \mathbb{2}$}\mathclose{}{]}}_{\land}[ italic_H start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT[H𝗈𝗉,𝟚]subscriptdelimited-[]superscript𝐻𝗈𝗉2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle H^{\mathsf{op}},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle H^{\mathsf{op}},\mathbb{2}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle H^{\mathsf{op}},\mathbb{2}$% }\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle H^{\mathsf{op}},% \mathbb{2}$}\mathclose{}{]}}_{\land}[ italic_H start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPTH𝐻Hitalic_H\mathop{\uparrow}\mathop{\uparrow}\blacklozengedoes-not-prove\dashv\Boxfsubscript𝑓\blacklozenge_{f}◆ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPTdoes-not-prove\dashvfsubscript𝑓\Box_{f}□ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT (7)

The map \mathop{\uparrow}\circ\mathop{\blacklozenge}↑ ∘ ◆ corresponds to a stable R:H×H𝗈𝗉𝟚:subscript𝑅𝐻superscript𝐻𝗈𝗉2R_{\blacklozenge}:H\times H^{\mathsf{op}}\to\mathbb{2}italic_R start_POSTSUBSCRIPT ◆ end_POSTSUBSCRIPT : italic_H × italic_H start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT → blackboard_2, which maps (x,y)𝑥𝑦(x,y)( italic_x , italic_y ) to 1111 iff yx𝑦𝑥y\leq\blacklozenge xitalic_y ≤ ◆ italic_x in H𝐻Hitalic_H. This is by definition stable, but in any case that is easy to verify manually—as long as one is careful about variance. For example, to prove (iii), we need to show that whenever yx1x2𝑦subscript𝑥1subscript𝑥2y\leq\blacklozenge x_{1}\lor\blacklozenge x_{2}italic_y ≤ ◆ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ ◆ italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT there exist y1,y2subscript𝑦1subscript𝑦2y_{1},y_{2}italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT with yy1y2𝑦subscript𝑦1subscript𝑦2y\leq y_{1}\lor y_{2}italic_y ≤ italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∨ italic_y start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and y1x1subscript𝑦1subscript𝑥1y_{1}\leq\blacklozenge x_{1}italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ≤ ◆ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and y2x2subscript𝑦2subscript𝑥2y_{2}\leq\blacklozenge x_{2}italic_y start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ≤ ◆ italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. It suffices to take yi=yxisubscript𝑦𝑖𝑦subscript𝑥𝑖y_{i}=y\land\blacklozenge x_{i}italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_y ∧ ◆ italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and use distributivity.

Diagram (7) commutes. For \blacklozenge we have that =fsubscript𝑓\mathop{\uparrow}\circ\mathop{\blacklozenge}=\mathop{\blacklozenge_{f}}\circ% \mathop{\uparrow}↑ ∘ ◆ = start_BIGOP ◆ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT end_BIGOP ∘ ↑ by definition. For the \Box we have

f(z)={xH|y.yx implies yz}={xH|xz}={xH|xz}=zsubscript𝑓𝑧|𝑥𝐻formulae-sequencefor-all𝑦𝑦𝑥 implies 𝑦𝑧|𝑥𝐻𝑥𝑧|𝑥𝐻𝑥𝑧𝑧\Box_{f}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathop{\uparrow}z$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathop{\uparrow}z$}\mathclose% {}{)}}{\mathopen{}{(}\hbox{$\scriptstyle\mathop{\uparrow}z$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle\mathop{\uparrow}z$}\mathclose{}{)}}=% \mathchoice{\mathopen{}{\{}\hbox{$\displaystyle x\in H$}\mathrel{{|}}\hbox{$% \displaystyle\forall y.\,y\leq\blacklozenge x\text{ implies }y\leq z$}% \mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\textstyle x\in H$}\mathrel{{|}}\hbox{% $\textstyle\forall y.\,y\leq\blacklozenge x\text{ implies }y\leq z$}\mathclose% {}{\}}}{\mathopen{}{\{}\hbox{$\scriptstyle x\in H$}\mathrel{{|}}\hbox{$% \scriptstyle\forall y.\,y\leq\blacklozenge x\text{ implies }y\leq z$}% \mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\scriptscriptstyle x\in H$}\mathrel{{|% }}\hbox{$\scriptscriptstyle\forall y.\,y\leq\blacklozenge x\text{ implies }y% \leq z$}\mathclose{}{\}}}=\mathchoice{\mathopen{}{\{}\hbox{$\displaystyle x\in H% $}\mathrel{{|}}\hbox{$\displaystyle\blacklozenge x\leq z$}\mathclose{}{\}}}{% \mathopen{}{\{}\hbox{$\textstyle x\in H$}\mathrel{{|}}\hbox{$\textstyle% \blacklozenge x\leq z$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\scriptstyle x% \in H$}\mathrel{{|}}\hbox{$\scriptstyle\blacklozenge x\leq z$}\mathclose{}{\}}% }{\mathopen{}{\{}\hbox{$\scriptscriptstyle x\in H$}\mathrel{{|}}\hbox{$% \scriptscriptstyle\blacklozenge x\leq z$}\mathclose{}{\}}}=\mathchoice{% \mathopen{}{\{}\hbox{$\displaystyle x\in H$}\mathrel{{|}}\hbox{$\displaystyle x% \leq\Box z$}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\textstyle x\in H$}% \mathrel{{|}}\hbox{$\textstyle x\leq\Box z$}\mathclose{}{\}}}{\mathopen{}{\{}% \hbox{$\scriptstyle x\in H$}\mathrel{{|}}\hbox{$\scriptstyle x\leq\Box z$}% \mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\scriptscriptstyle x\in H$}\mathrel{{|% }}\hbox{$\scriptscriptstyle x\leq\Box z$}\mathclose{}{\}}}=\mathop{\uparrow}\Box z□ start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ( ↑ italic_z ) = { italic_x ∈ italic_H | ∀ italic_y . italic_y ≤ ◆ italic_x implies italic_y ≤ italic_z } = { italic_x ∈ italic_H | ◆ italic_x ≤ italic_z } = { italic_x ∈ italic_H | italic_x ≤ □ italic_z } = ↑ □ italic_z

Proposition 3.9 extends to the modal case. We therefore have

Theorem 4.3.

Completeness of the modal algebraic semantics implies completeness of the modal stable semantics.

The proof is also like that of Theorem 3.10. Thus, the modal stable semantics is sound and complete for the intuitionistic modal logic of Dzik et al. [21].

4.2 Morphisms

Like in [35], the duality (5) of §3.2 can be restricted to a duality

SBimodopCohOsimilar-to-or-equalssuperscriptSBimodopCohO\textbf{SBimod}^{\text{op}}\simeq\textbf{CohO}SBimod start_POSTSUPERSCRIPT op end_POSTSUPERSCRIPT ≃ CohO

The category on the left has distributive lattices equipped with a stable bimodule as objects; and stable morphisms that preserve the bimodule as morphisms. The category on the right has coherent frames L𝐿Litalic_L equipped with a meet-preserving operation L:LL:subscript𝐿𝐿𝐿\Box_{L}:L\to L□ start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT : italic_L → italic_L as objects; and Scott-continuous, meet-preserving maps h:LL:𝐿superscript𝐿h:L\to L^{\prime}italic_h : italic_L → italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT for which hLLhsquare-image-of-or-equalssubscript𝐿subscriptsuperscript𝐿h\Box_{L}\sqsubseteq\Box_{L^{\prime}}hitalic_h □ start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT ⊑ □ start_POSTSUBSCRIPT italic_L start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_h. In analogy with previous results this can be further refined to a duality where the morphisms preserve truth on the left, and the operator and implication on the right.

5 Two-dimensional stable semantics of intuitionistic logic

Following the programme of [35], we look for categorifications of the stable semantics. Thus, we exchange stable frames (W,)𝑊square-image-of-or-equals(W,\sqsubseteq)( italic_W , ⊑ ) for arbitrary categories 𝒞𝒞\mathcal{C}caligraphic_C with finite products; we could call these stable categories. The first thing we must categorify is the notion of filter. Surprisingly, there are two possible choices:

  1. 1.

    the Ind-completion Ind(𝒞)Ind𝒞\textsf{Ind}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathcal{C}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathcal{C}$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptstyle\mathcal{C}$}\mathclose{}{)}}{\mathopen{}{(}% \hbox{$\scriptscriptstyle\mathcal{C}$}\mathclose{}{)}}Ind ( caligraphic_C ), which adds all filtered colimits to 𝒞𝒞\mathcal{C}caligraphic_C [32, §VI.1] [3, §4.17]; and

  2. 2.

    the Sind-completion Sind(𝒞)Sind𝒞\textsf{Sind}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathcal{C}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathcal{C}$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptstyle\mathcal{C}$}\mathclose{}{)}}{\mathopen{}{(}% \hbox{$\scriptscriptstyle\mathcal{C}$}\mathclose{}{)}}Sind ( caligraphic_C ), which adds all sifted colimits to 𝒞𝒞\mathcal{C}caligraphic_C [2, 4, 3].

All filtered colimits are sifted, so the latter involves adding strictly more colimits to 𝒞𝒞\mathcal{C}caligraphic_C. However, for a poset W𝑊Witalic_W we have that Ind(W𝗈𝗉)Sind(W𝗈𝗉)Filt(W)Indsuperscript𝑊𝗈𝗉Sindsuperscript𝑊𝗈𝗉Filt𝑊\textsf{Ind}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle W^{\mathsf{op}}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle W^{\mathsf{op}}$}\mathclose{}% {)}}{\mathopen{}{(}\hbox{$\scriptstyle W^{\mathsf{op}}$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle W^{\mathsf{op}}$}\mathclose{}{)}}\cong% \textsf{Sind}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle W^{\mathsf{op}}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle W^{\mathsf{op}}$}\mathclose{}% {)}}{\mathopen{}{(}\hbox{$\scriptstyle W^{\mathsf{op}}$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle W^{\mathsf{op}}$}\mathclose{}{)}}\cong% \textsf{Filt}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle W$}\mathclose{}{)}% }{\mathopen{}{(}\hbox{$\textstyle W$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle W$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle W$}% \mathclose{}{)}}Ind ( italic_W start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT ) ≅ Sind ( italic_W start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT ) ≅ Filt ( italic_W ) [2, §2.3]. Thus, these two completions are indistinguishable at the order-theoretic level. As an aside, note that the former completion is related to essentially algebraic theories [5], while the latter to simpler algebraic theories of Lawvere [3].

We will work with the sifted completion, for several reasons. The most important one is that, when 𝒞𝒞\mathcal{C}caligraphic_C has finite coproducts, Sind(𝒞)Sind𝒞\textsf{Sind}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathcal{C}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathcal{C}$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptstyle\mathcal{C}$}\mathclose{}{)}}{\mathopen{}{(}% \hbox{$\scriptscriptstyle\mathcal{C}$}\mathclose{}{)}}Sind ( caligraphic_C ) is cocomplete. This is just enough to allow us to embed any bicartesian closed category 𝒞𝒞\mathcal{C}caligraphic_C (which has coproducts) into a cocomplete category Sind(𝒞)Sind𝒞\textsf{Sind}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathcal{C}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathcal{C}$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptstyle\mathcal{C}$}\mathclose{}{)}}{\mathopen{}{(}% \hbox{$\scriptscriptstyle\mathcal{C}$}\mathclose{}{)}}Sind ( caligraphic_C ), adapting the story of §3. The cocompleteness is absolutely essential in the semantics of modalities given in §6. Second, the conditions required on 𝒞𝒞\mathcal{C}caligraphic_C for Sind(𝒞)Sind𝒞\textsf{Sind}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathcal{C}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathcal{C}$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptstyle\mathcal{C}$}\mathclose{}{)}}{\mathopen{}{(}% \hbox{$\scriptscriptstyle\mathcal{C}$}\mathclose{}{)}}Sind ( caligraphic_C ) to be a cartesian closed category—and hence a model of intuitionistic proofs—are rather weak. Third, there is an analogy to working with filters as elements of [W,𝟚]subscriptdelimited-[]𝑊2\mathchoice{\mathopen{}{[}\hbox{$\displaystyle W,\mathbb{2}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}% \hbox{$\scriptstyle W,\mathbb{2}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle W,\mathbb{2}$}\mathclose{}{]}}_{\land}[ italic_W , blackboard_2 ] start_POSTSUBSCRIPT ∧ end_POSTSUBSCRIPT: the classic Lawverean move of replacing 𝟚2\mathbb{2}blackboard_2 by 𝐒𝐞𝐭𝐒𝐞𝐭\mathbf{Set}bold_Set [39] leads us to consider product-preserving presheaves [𝒞,𝐒𝐞𝐭]×subscriptdelimited-[]𝒞𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal{C},\mathbf{% Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT, which coincide with Sind(𝒞𝗈𝗉)Sindsuperscript𝒞𝗈𝗉\textsf{Sind}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathcal{C}^{% \mathsf{op}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle\mathcal{C}^{% \mathsf{op}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle\mathcal% {C}^{\mathsf{op}}$}\mathclose{}{)}}Sind ( caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT ) whenever 𝒞𝒞\mathcal{C}caligraphic_C has products, mirroring Proposition 3.2.

The following proposition collects various well-known facts about the sifted completion [2, 3]. These are analogous to well-known facts about presheaf categories [35], and mirror those of Filt(W)Filt𝑊\textsf{Filt}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle W$}\mathclose{}{)}% }{\mathopen{}{(}\hbox{$\textstyle W$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle W$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle W$}% \mathclose{}{)}}Filt ( italic_W ) given in §3.

Proposition 5.1.

Let Sind(𝒞)Sind𝒞\textsf{Sind}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathcal{C}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathcal{C}$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptstyle\mathcal{C}$}\mathclose{}{)}}{\mathopen{}{(}% \hbox{$\scriptscriptstyle\mathcal{C}$}\mathclose{}{)}}Sind ( caligraphic_C ) be the sifted completion of 𝒞𝒞\mathcal{C}caligraphic_C.

  1. 1.

    If 𝒞𝒞\mathcal{C}caligraphic_C has coproducts then Sind(𝒞)Sind𝒞\textsf{Sind}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathcal{C}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathcal{C}$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptstyle\mathcal{C}$}\mathclose{}{)}}{\mathopen{}{(}% \hbox{$\scriptscriptstyle\mathcal{C}$}\mathclose{}{)}}Sind ( caligraphic_C ) is isomorphic to the category [𝒞𝗈𝗉,𝐒𝐞𝐭]×subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT of product-preserving presheaves and natural transformations. It is a complete and cocomplete category.

For the rest of this proposition we assume that 𝒞𝒞\mathcal{C}caligraphic_C has coproducts.

  1. 2.

    Representable presheaves are product-preserving, so 𝐲:𝒞[𝒞𝗈𝗉,𝐒𝐞𝐭]×:𝐲𝒞subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathbf{y}:\mathcal{C}\longrightarrow\mathchoice{\mathopen{}{[}\hbox{$% \displaystyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal% {C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}bold_y : caligraphic_C ⟶ [ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT is an embedding.

  2. 3.

    𝐲:𝒞[𝒞𝗈𝗉,𝐒𝐞𝐭]×:𝐲𝒞subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathbf{y}:\mathcal{C}\longrightarrow\mathchoice{\mathopen{}{[}\hbox{$% \displaystyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal% {C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}bold_y : caligraphic_C ⟶ [ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT preserves products and coproducts.

  3. 4.

    𝐲(c)𝐲𝑐\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}% \mathclose{}{)}}bold_y ( italic_c ) is perfectly presentable, i.e. Hom(𝐲(c),):[𝒞𝗈𝗉,𝐒𝐞𝐭]×𝐒𝐞𝐭:Hom𝐲𝑐subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭𝐒𝐞𝐭\mathrm{Hom}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathbf{y}% \mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}% {(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}},-% $}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathbf{y}\mathchoice{% \mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose% {}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}},-$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle\mathbf{y}\mathchoice{% \mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose% {}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}},-$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle\mathbf{y}\mathchoice{% \mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose% {}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}},-$}% \mathclose{}{)}}:\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen% {}{[}\hbox{$\scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}% \mathclose{}{]}}_{\times}\to\mathbf{Set}roman_Hom ( bold_y ( italic_c ) , - ) : [ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT → bold_Set preserves sifted colimits.

  4. 5.

    A category is equivalent to [𝒞𝗈𝗉,𝐒𝐞𝐭]×subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT for some 𝒞𝒞\mathcal{C}caligraphic_C if and only if it is cocomplete and has a strong generator consisting of perfectly presentable objects. Moreover, there is a unique idempotent-complete category 𝒞𝒞\mathcal{C}caligraphic_C for which this is true (up to equivalence): the subcategory of perfectly presentable objects.

Proof.

(i) is shown in [2, §2.8] [3, §1.22, 4.5, 4.13]. (ii) is shown in [3, §1.12] and (iii) in [3, §1.13]. (iv) follows from the fact representables are tiny, and that [𝒞𝗈𝗉,𝐒𝐞𝐭]×subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT is closed under sifted colimits in presheaves [3, §5.5]. (v) is shown in [2] [3, §6.9, 8.12]. ∎

Categories satisfying (v) above are called algebraic categories by Lawvere [38]. They are essentially categories of models of algebraic theories: see the textbook by Adamek et al. [3].

One might wonder whether 𝐲:𝒞[𝒞𝗈𝗉,𝐒𝐞𝐭]×:𝐲𝒞subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathbf{y}:\mathcal{C}\longrightarrow\mathchoice{\mathopen{}{[}\hbox{$% \displaystyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal% {C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}bold_y : caligraphic_C ⟶ [ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT preserves exponentials. It would, were [𝒞𝗈𝗉,𝐒𝐞𝐭]×subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT to have them; and it has them exactly when 𝒞𝒞\mathcal{C}caligraphic_C is a distributive category, i.e. whenever the canonical morphism (a×b)+(a×c)a×(b+c)𝑎𝑏𝑎𝑐𝑎𝑏𝑐(a\times b)+(a\times c)\to a\times(b+c)( italic_a × italic_b ) + ( italic_a × italic_c ) → italic_a × ( italic_b + italic_c ) is an isomorphism [15]. The following result is quoted on the nLab.

Proposition 5.2.

Let 𝒞𝒞\mathcal{C}caligraphic_C have both products and coproducts. Then, the following are equivalent:

  1. 1.

    𝒞𝒞\mathcal{C}caligraphic_C is distributive.

  2. 2.

    P×𝐲(a+b)P×𝐲(a)+P×𝐲(b)𝑃𝐲𝑎𝑏𝑃𝐲𝑎𝑃𝐲𝑏P\times\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle a+b$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle a+b$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptstyle a+b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle a+b$}\mathclose{}{)}}\cong P\times\mathbf{y}\mathchoice{% \mathopen{}{(}\hbox{$\displaystyle a$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle a$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle a$}\mathclose% {}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle a$}\mathclose{}{)}}+P\times% \mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle b$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\textstyle b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle b$}% \mathclose{}{)}}italic_P × bold_y ( italic_a + italic_b ) ≅ italic_P × bold_y ( italic_a ) + italic_P × bold_y ( italic_b ) in [𝒞𝗈𝗉,𝐒𝐞𝐭]×subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT

  3. 3.

    Sind(𝒞)[𝒞𝗈𝗉,𝐒𝐞𝐭]×Sind𝒞subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\textsf{Sind}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathcal{C}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathcal{C}$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptstyle\mathcal{C}$}\mathclose{}{)}}{\mathopen{}{(}% \hbox{$\scriptscriptstyle\mathcal{C}$}\mathclose{}{)}}\cong\mathchoice{% \mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}Sind ( caligraphic_C ) ≅ [ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT is cartesian closed.

In that case 𝐲:𝒞[𝒞𝗈𝗉,𝐒𝐞𝐭]×:𝐲𝒞subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathbf{y}:\mathcal{C}\longrightarrow\mathchoice{\mathopen{}{[}\hbox{$% \displaystyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal% {C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}bold_y : caligraphic_C ⟶ [ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT preserves exponentials.

Proof.

(i) \Rightarrow (ii): Write Plim(c,x)elP𝐲(c)𝑃subscriptinjective-limit𝑐𝑥el𝑃𝐲𝑐P\cong{\varinjlim}_{(c,x)\in\mathop{\textsf{el}}P}\,\mathbf{y}\mathchoice{% \mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose% {}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}italic_P ≅ start_LIMITOP under→ start_ARG roman_lim end_ARG end_LIMITOP start_POSTSUBSCRIPT ( italic_c , italic_x ) ∈ el italic_P end_POSTSUBSCRIPT bold_y ( italic_c ) as a colimit of representables. As P𝑃Pitalic_P is product-preserving, its category of elements elPel𝑃\mathop{\textsf{el}}Pel italic_P is sifted [3, §4.2]. Hence, it does not matter if this colimit is in presheaves or product-preserving presheaves, as the latter are closed under sifted colimits within the former [3, §2.5]. Noticing also that ×\times× is the same operation in both [𝒞𝗈𝗉,𝐒𝐞𝐭]delimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] and [𝒞𝗈𝗉,𝐒𝐞𝐭]×subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT we may calculate

P×𝐲(a+b)𝑃𝐲𝑎𝑏\displaystyle P\times\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle a% +b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle a+b$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptstyle a+b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle a+b$}\mathclose{}{)}}italic_P × bold_y ( italic_a + italic_b )
\displaystyle\cong\ missing(lim(c,x)elP𝐲(c)missing)×𝐲(a+b)\displaystyle\mathchoice{\mathopen{{\mathchoice{\Big{missing}}{\Big{missing}}{% \big{missing}}{missing}}}{(}\hbox{$\displaystyle{\varinjlim}_{(c,x)\in\mathop{% \textsf{el}}P}\,\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen% {}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle c$}\mathclose{}{)}}$}\mathclose{{\mathchoice{\Big{missing}}% {\Big{missing}}{\big{missing}}{missing}}}{)}}{\mathopen{{\mathchoice{\Big{% missing}}{\Big{missing}}{\big{missing}}{missing}}}{(}\hbox{$\textstyle{% \varinjlim}_{(c,x)\in\mathop{\textsf{el}}P}\,\mathbf{y}\mathchoice{\mathopen{}% {(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c$% }\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}$}\mathclose{{% \mathchoice{\Big{missing}}{\Big{missing}}{\big{missing}}{missing}}}{)}}{% \mathopen{{\mathchoice{\Big{missing}}{\Big{missing}}{\big{missing}}{missing}}}% {(}\hbox{$\scriptstyle{\varinjlim}_{(c,x)\in\mathop{\textsf{el}}P}\,\mathbf{y}% \mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}% {(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}$}% \mathclose{{\mathchoice{\Big{missing}}{\Big{missing}}{\big{missing}}{missing}}% }{)}}{\mathopen{{\mathchoice{\Big{missing}}{\Big{missing}}{\big{missing}}{% missing}}}{(}\hbox{$\scriptscriptstyle{\varinjlim}_{(c,x)\in\mathop{\textsf{el% }}P}\,\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}% {)}}{\mathopen{}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}% \mathclose{}{)}}$}\mathclose{{\mathchoice{\Big{missing}}{\Big{missing}}{\big{% missing}}{missing}}}{)}}\times\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$% \displaystyle a+b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle a+b$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle a+b$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle a+b$}\mathclose{}{)}}roman_missing ( start_LIMITOP under→ start_ARG roman_lim end_ARG end_LIMITOP start_POSTSUBSCRIPT ( italic_c , italic_x ) ∈ el italic_P end_POSTSUBSCRIPT bold_y ( italic_c ) roman_missing ) × bold_y ( italic_a + italic_b ) now in presheaves
\displaystyle\cong\ lim(c,x)elP(𝐲(c)×𝐲(a+b))subscriptinjective-limit𝑐𝑥el𝑃𝐲𝑐𝐲𝑎𝑏\displaystyle{\varinjlim}_{(c,x)\in\mathop{\textsf{el}}P}\,\mathchoice{% \mathopen{}{(}\hbox{$\displaystyle\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$% \displaystyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}\times\mathbf{y}% \mathchoice{\mathopen{}{(}\hbox{$\displaystyle a+b$}\mathclose{}{)}}{\mathopen% {}{(}\hbox{$\textstyle a+b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle a% +b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle a+b$}\mathclose{}% {)}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathbf{y}\mathchoice{% \mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose% {}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}\times% \mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle a+b$}\mathclose{}{)}}% {\mathopen{}{(}\hbox{$\textstyle a+b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle a+b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle a+b% $}\mathclose{}{)}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle\mathbf{% y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen% {}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c% $}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}% \times\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle a+b$}\mathclose% {}{)}}{\mathopen{}{(}\hbox{$\textstyle a+b$}\mathclose{}{)}}{\mathopen{}{(}% \hbox{$\scriptstyle a+b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle a+b$}\mathclose{}{)}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox% {$\scriptscriptstyle\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c% $}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle c$}\mathclose{}{)}}\times\mathbf{y}\mathchoice{\mathopen{}{% (}\hbox{$\displaystyle a+b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle a% +b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle a+b$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle a+b$}\mathclose{}{)}}$}\mathclose{}{)}}start_LIMITOP under→ start_ARG roman_lim end_ARG end_LIMITOP start_POSTSUBSCRIPT ( italic_c , italic_x ) ∈ el italic_P end_POSTSUBSCRIPT ( bold_y ( italic_c ) × bold_y ( italic_a + italic_b ) ) as ×𝐲(a+b)-\times\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle a+b$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle a+b$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptstyle a+b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle a+b$}\mathclose{}{)}}- × bold_y ( italic_a + italic_b ) is left adjoint
\displaystyle\cong\ lim(c,x)elP𝐲(c×(a+b))subscriptinjective-limit𝑐𝑥el𝑃𝐲𝑐𝑎𝑏\displaystyle{\varinjlim}_{(c,x)\in\mathop{\textsf{el}}P}\,\mathbf{y}% \mathchoice{\mathopen{}{(}\hbox{$\displaystyle c\times(a+b)$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\textstyle c\times(a+b)$}\mathclose{}{)}}{\mathopen{}{(}% \hbox{$\scriptstyle c\times(a+b)$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle c\times(a+b)$}\mathclose{}{)}}start_LIMITOP under→ start_ARG roman_lim end_ARG end_LIMITOP start_POSTSUBSCRIPT ( italic_c , italic_x ) ∈ el italic_P end_POSTSUBSCRIPT bold_y ( italic_c × ( italic_a + italic_b ) ) now back in [𝒞𝗈𝗉,𝐒𝐞𝐭]×subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT
\displaystyle\cong\ lim(c,x)elP𝐲((c×a)+(c×b))subscriptinjective-limit𝑐𝑥el𝑃𝐲𝑐𝑎𝑐𝑏\displaystyle{\varinjlim}_{(c,x)\in\mathop{\textsf{el}}P}\,\mathbf{y}% \mathchoice{\mathopen{}{(}\hbox{$\displaystyle(c\times a)+(c\times b)$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle(c\times a)+(c\times b)$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle(c\times a)+(c\times b)$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle(c\times a)+(c\times b% )$}\mathclose{}{)}}start_LIMITOP under→ start_ARG roman_lim end_ARG end_LIMITOP start_POSTSUBSCRIPT ( italic_c , italic_x ) ∈ el italic_P end_POSTSUBSCRIPT bold_y ( ( italic_c × italic_a ) + ( italic_c × italic_b ) )
\displaystyle\cong\ lim(c,x)elP(𝐲(c)×𝐲(a))+(𝐲(c)×𝐲(b))subscriptinjective-limit𝑐𝑥el𝑃𝐲𝑐𝐲𝑎𝐲𝑐𝐲𝑏\displaystyle{\varinjlim}_{(c,x)\in\mathop{\textsf{el}}P}\,(\mathbf{y}% \mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}% {(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}% \times\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle a$}\mathclose{}% {)}}{\mathopen{}{(}\hbox{$\textstyle a$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle a$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle a$}% \mathclose{}{)}})+(\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$% }\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle c$}\mathclose{}{)}}\times\mathbf{y}\mathchoice{\mathopen{}{% (}\hbox{$\displaystyle b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle b$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle b$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle b$}\mathclose{}{)}})start_LIMITOP under→ start_ARG roman_lim end_ARG end_LIMITOP start_POSTSUBSCRIPT ( italic_c , italic_x ) ∈ el italic_P end_POSTSUBSCRIPT ( bold_y ( italic_c ) × bold_y ( italic_a ) ) + ( bold_y ( italic_c ) × bold_y ( italic_b ) ) where +++ is now in [𝒞𝗈𝗉,𝐒𝐞𝐭]×subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT
\displaystyle\cong\ missing(lim(c,x)elP𝐲(c)×𝐲(a)missing)+missing(lim(c,x)elP𝐲(c)×𝐲(b)missing)\displaystyle\mathchoice{\mathopen{{\mathchoice{\Big{missing}}{\Big{missing}}{% \big{missing}}{missing}}}{(}\hbox{$\displaystyle{\varinjlim}_{(c,x)\in\mathop{% \textsf{el}}P}\,\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen% {}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle c$}\mathclose{}{)}}\times\mathbf{y}\mathchoice{\mathopen{}{% (}\hbox{$\displaystyle a$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle a$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle a$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle a$}\mathclose{}{)}}$}\mathclose{{% \mathchoice{\Big{missing}}{\Big{missing}}{\big{missing}}{missing}}}{)}}{% \mathopen{{\mathchoice{\Big{missing}}{\Big{missing}}{\big{missing}}{missing}}}% {(}\hbox{$\textstyle{\varinjlim}_{(c,x)\in\mathop{\textsf{el}}P}\,\mathbf{y}% \mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}% {(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}% \times\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle a$}\mathclose{}% {)}}{\mathopen{}{(}\hbox{$\textstyle a$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle a$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle a$}% \mathclose{}{)}}$}\mathclose{{\mathchoice{\Big{missing}}{\Big{missing}}{\big{% missing}}{missing}}}{)}}{\mathopen{{\mathchoice{\Big{missing}}{\Big{missing}}{% \big{missing}}{missing}}}{(}\hbox{$\scriptstyle{\varinjlim}_{(c,x)\in\mathop{% \textsf{el}}P}\,\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen% {}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle c$}\mathclose{}{)}}\times\mathbf{y}\mathchoice{\mathopen{}{% (}\hbox{$\displaystyle a$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle a$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle a$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle a$}\mathclose{}{)}}$}\mathclose{{% \mathchoice{\Big{missing}}{\Big{missing}}{\big{missing}}{missing}}}{)}}{% \mathopen{{\mathchoice{\Big{missing}}{\Big{missing}}{\big{missing}}{missing}}}% {(}\hbox{$\scriptscriptstyle{\varinjlim}_{(c,x)\in\mathop{\textsf{el}}P}\,% \mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}% \mathclose{}{)}}\times\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle a% $}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle a$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptstyle a$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle a$}\mathclose{}{)}}$}\mathclose{{\mathchoice{\Big{missing}}% {\Big{missing}}{\big{missing}}{missing}}}{)}}+\mathchoice{\mathopen{{% \mathchoice{\Big{missing}}{\Big{missing}}{\big{missing}}{missing}}}{(}\hbox{$% \displaystyle{\varinjlim}_{(c,x)\in\mathop{\textsf{el}}P}\,\mathbf{y}% \mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}% {(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}% \times\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle b$}\mathclose{}% {)}}{\mathopen{}{(}\hbox{$\textstyle b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle b$}% \mathclose{}{)}}$}\mathclose{{\mathchoice{\Big{missing}}{\Big{missing}}{\big{% missing}}{missing}}}{)}}{\mathopen{{\mathchoice{\Big{missing}}{\Big{missing}}{% \big{missing}}{missing}}}{(}\hbox{$\textstyle{\varinjlim}_{(c,x)\in\mathop{% \textsf{el}}P}\,\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen% {}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle c$}\mathclose{}{)}}\times\mathbf{y}\mathchoice{\mathopen{}{% (}\hbox{$\displaystyle b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle b$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle b$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle b$}\mathclose{}{)}}$}\mathclose{{% \mathchoice{\Big{missing}}{\Big{missing}}{\big{missing}}{missing}}}{)}}{% \mathopen{{\mathchoice{\Big{missing}}{\Big{missing}}{\big{missing}}{missing}}}% {(}\hbox{$\scriptstyle{\varinjlim}_{(c,x)\in\mathop{\textsf{el}}P}\,\mathbf{y}% \mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}% {(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}% \times\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle b$}\mathclose{}% {)}}{\mathopen{}{(}\hbox{$\textstyle b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle b$}% \mathclose{}{)}}$}\mathclose{{\mathchoice{\Big{missing}}{\Big{missing}}{\big{% missing}}{missing}}}{)}}{\mathopen{{\mathchoice{\Big{missing}}{\Big{missing}}{% \big{missing}}{missing}}}{(}\hbox{$\scriptscriptstyle{\varinjlim}_{(c,x)\in% \mathop{\textsf{el}}P}\,\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$% \displaystyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}\times\mathbf{y}% \mathchoice{\mathopen{}{(}\hbox{$\displaystyle b$}\mathclose{}{)}}{\mathopen{}% {(}\hbox{$\textstyle b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle b$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle b$}\mathclose{}{)}}$}% \mathclose{{\mathchoice{\Big{missing}}{\Big{missing}}{\big{missing}}{missing}}% }{)}}\ roman_missing ( start_LIMITOP under→ start_ARG roman_lim end_ARG end_LIMITOP start_POSTSUBSCRIPT ( italic_c , italic_x ) ∈ el italic_P end_POSTSUBSCRIPT bold_y ( italic_c ) × bold_y ( italic_a ) roman_missing ) + roman_missing ( start_LIMITOP under→ start_ARG roman_lim end_ARG end_LIMITOP start_POSTSUBSCRIPT ( italic_c , italic_x ) ∈ el italic_P end_POSTSUBSCRIPT bold_y ( italic_c ) × bold_y ( italic_b ) roman_missing ) colims comm. with colims
\displaystyle\cong\ missing(lim(c,x)elP𝐲(c)missing)×𝐲(a)+missing(lim(c,x)elP𝐲(c)missing)×𝐲(b)\displaystyle\mathchoice{\mathopen{{\mathchoice{\Big{missing}}{\Big{missing}}{% \big{missing}}{missing}}}{(}\hbox{$\displaystyle{\varinjlim}_{(c,x)\in\mathop{% \textsf{el}}P}\,\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen% {}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle c$}\mathclose{}{)}}$}\mathclose{{\mathchoice{\Big{missing}}% {\Big{missing}}{\big{missing}}{missing}}}{)}}{\mathopen{{\mathchoice{\Big{% missing}}{\Big{missing}}{\big{missing}}{missing}}}{(}\hbox{$\textstyle{% \varinjlim}_{(c,x)\in\mathop{\textsf{el}}P}\,\mathbf{y}\mathchoice{\mathopen{}% {(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c$% }\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}$}\mathclose{{% \mathchoice{\Big{missing}}{\Big{missing}}{\big{missing}}{missing}}}{)}}{% \mathopen{{\mathchoice{\Big{missing}}{\Big{missing}}{\big{missing}}{missing}}}% {(}\hbox{$\scriptstyle{\varinjlim}_{(c,x)\in\mathop{\textsf{el}}P}\,\mathbf{y}% \mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}% {(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}$}% \mathclose{{\mathchoice{\Big{missing}}{\Big{missing}}{\big{missing}}{missing}}% }{)}}{\mathopen{{\mathchoice{\Big{missing}}{\Big{missing}}{\big{missing}}{% missing}}}{(}\hbox{$\scriptscriptstyle{\varinjlim}_{(c,x)\in\mathop{\textsf{el% }}P}\,\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}% {)}}{\mathopen{}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}% \mathclose{}{)}}$}\mathclose{{\mathchoice{\Big{missing}}{\Big{missing}}{\big{% missing}}{missing}}}{)}}\times\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$% \displaystyle a$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle a$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle a$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle a$}\mathclose{}{)}}+\mathchoice{% \mathopen{{\mathchoice{\Big{missing}}{\Big{missing}}{\big{missing}}{missing}}}% {(}\hbox{$\displaystyle{\varinjlim}_{(c,x)\in\mathop{\textsf{el}}P}\,\mathbf{y% }\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{% }{(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$% }\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}$% }\mathclose{{\mathchoice{\Big{missing}}{\Big{missing}}{\big{missing}}{missing}% }}{)}}{\mathopen{{\mathchoice{\Big{missing}}{\Big{missing}}{\big{missing}}{% missing}}}{(}\hbox{$\textstyle{\varinjlim}_{(c,x)\in\mathop{\textsf{el}}P}\,% \mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}% \mathclose{}{)}}$}\mathclose{{\mathchoice{\Big{missing}}{\Big{missing}}{\big{% missing}}{missing}}}{)}}{\mathopen{{\mathchoice{\Big{missing}}{\Big{missing}}{% \big{missing}}{missing}}}{(}\hbox{$\scriptstyle{\varinjlim}_{(c,x)\in\mathop{% \textsf{el}}P}\,\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen% {}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle c$}\mathclose{}{)}}$}\mathclose{{\mathchoice{\Big{missing}}% {\Big{missing}}{\big{missing}}{missing}}}{)}}{\mathopen{{\mathchoice{\Big{% missing}}{\Big{missing}}{\big{missing}}{missing}}}{(}\hbox{$\scriptscriptstyle% {\varinjlim}_{(c,x)\in\mathop{\textsf{el}}P}\,\mathbf{y}\mathchoice{\mathopen{% }{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle c% $}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle c$}\mathclose{}{)}}$}\mathclose{{% \mathchoice{\Big{missing}}{\Big{missing}}{\big{missing}}{missing}}}{)}}\times% \mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle b$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\textstyle b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle b$}% \mathclose{}{)}}roman_missing ( start_LIMITOP under→ start_ARG roman_lim end_ARG end_LIMITOP start_POSTSUBSCRIPT ( italic_c , italic_x ) ∈ el italic_P end_POSTSUBSCRIPT bold_y ( italic_c ) roman_missing ) × bold_y ( italic_a ) + roman_missing ( start_LIMITOP under→ start_ARG roman_lim end_ARG end_LIMITOP start_POSTSUBSCRIPT ( italic_c , italic_x ) ∈ el italic_P end_POSTSUBSCRIPT bold_y ( italic_c ) roman_missing ) × bold_y ( italic_b )
\displaystyle\cong\ P×𝐲(a)+P×𝐲(b)𝑃𝐲𝑎𝑃𝐲𝑏\displaystyle P\times\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle a% $}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle a$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptstyle a$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle a$}\mathclose{}{)}}+P\times\mathbf{y}\mathchoice{\mathopen{% }{(}\hbox{$\displaystyle b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle b% $}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle b$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptscriptstyle b$}\mathclose{}{)}}italic_P × bold_y ( italic_a ) + italic_P × bold_y ( italic_b )

(ii) \Rightarrow (iii): We only need to prove that the usual exponential (PQ)(c)=defHom[𝒞𝗈𝗉,𝐒𝐞𝐭]×(P×𝐲(c),Q)superscriptdef𝑃𝑄𝑐subscriptHomsubscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭𝑃𝐲𝑐𝑄(P\Rightarrow Q)(c)\stackrel{{\scriptstyle\mathclap{\mbox{\tiny def}}}}{{=}}% \mathrm{Hom}_{\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen% {}{[}\hbox{$\scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}% \mathclose{}{]}}_{\times}}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle P% \times\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}% {)}}{\mathopen{}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}% \mathclose{}{)}},Q$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle P\times% \mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}% \mathclose{}{)}},Q$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle P\times% \mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}% \mathclose{}{)}},Q$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle P% \times\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle c$}\mathclose{}% {)}}{\mathopen{}{(}\hbox{$\textstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle c$}% \mathclose{}{)}},Q$}\mathclose{}{)}}( italic_P ⇒ italic_Q ) ( italic_c ) start_RELOP SUPERSCRIPTOP start_ARG = end_ARG start_ARG def end_ARG end_RELOP roman_Hom start_POSTSUBSCRIPT [ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_P × bold_y ( italic_c ) , italic_Q ) is a product-preserving presheaf. But this easily follows from the observation that 𝐲(𝟎)𝟏𝐲01\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathbf{0}$}\mathclose% {}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathbf{0}$}\mathclose{}{)}}{\mathopen{}% {(}\hbox{$\scriptstyle\mathbf{0}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle\mathbf{0}$}\mathclose{}{)}}\cong\mathbf{1}bold_y ( bold_0 ) ≅ bold_1 and (ii).

(iii) \Rightarrow (i): Then [𝒞𝗈𝗉,𝐒𝐞𝐭]×subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT is a bicartesian closed category, and hence it is distributive. But 𝐲𝐲\mathbf{y}bold_y is an embedding that preserves products and coproducts, so the subcategory 𝒞𝒞\mathcal{C}caligraphic_C is distributive as well. ∎

Tracing the origins of the result that was just proven appears challenging. The claim (i) \Rightarrow (iii) appears to be due to Younesse Kaddar [34]. The presentation here simplifies Kaddar’s calculation by using (ii). (iii) \Rightarrow (i) is stated without proof on the nLab, and appears to be due to Sam Staton.

This puts us in a good place to introduce a two-dimensional stable semantics. This amounts to replacing the stable frame (W,)𝑊square-image-of-or-equals(W,\sqsubseteq)( italic_W , ⊑ ) by a category 𝒞𝒞\mathcal{C}caligraphic_C with products and coproducts for which 𝒞𝗈𝗉superscript𝒞𝗈𝗉\mathcal{C}^{\mathsf{op}}caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT is distributive. This means that the somewhat unusual isomorphism a+(b×c)(a+b)×(a+c)𝑎𝑏𝑐𝑎𝑏𝑎𝑐a+(b\times c)\cong(a+b)\times(a+c)italic_a + ( italic_b × italic_c ) ≅ ( italic_a + italic_b ) × ( italic_a + italic_c ) holds in 𝒞𝒞\mathcal{C}caligraphic_C. This is known to hold in a number of categories of algebras, including distributive lattices and commutative rings [18]. I have yet to grasp the meaning of this for a general Lawvere theory. Perhaps previous work by Johnstone [33] and Garner [26] on when categories of varieties are cartesian closed might give some insight. Finally, note that—unlike distributive lattices—distributive categories are not self-dual, so this is all we get.

By Propositions 5.1 and 5.2, the category [𝒞,𝐒𝐞𝐭]×subscriptdelimited-[]𝒞𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal{C},\mathbf{% Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT is a bicartesian closed category. The two-dimensional stable semantics is then dictated by the bicartesian closed structure. The results in this section mean that these follow the two-dimensional Kripke semantics given in [35]. Thus, every formula φ𝜑\varphiitalic_φ is interpreted as a product-preserving presheaf

φ:𝒞×𝐒𝐞𝐭\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}:\mathcal{C}\to_{\times}\mathbf{Set}⟦ italic_φ ⟧ : caligraphic_C → start_POSTSUBSCRIPT × end_POSTSUBSCRIPT bold_Set

Writing φw\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}_{w}⟦ italic_φ ⟧ start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT to mean φ(w)\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}(w)⟦ italic_φ ⟧ ( italic_w ) for any w𝒞𝑤𝒞w\in\mathcal{C}italic_w ∈ caligraphic_C and fxφvf\cdot x\in\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle% \varphi$}\mathclose{}{\rrbracket}}_{v}italic_f ⋅ italic_x ∈ ⟦ italic_φ ⟧ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT for φ(f)\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}(f)⟦ italic_φ ⟧ ( italic_f ) and f:wv:𝑓𝑤𝑣f:w\to vitalic_f : italic_w → italic_v, the clauses are the expected proof-relevant categorifications of the stable semantics of §3. Some are the same as in [35]:

φψw\displaystyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi% \land\psi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle% \varphi\land\psi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptstyle\varphi\land\psi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket% }\hbox{$\scriptscriptstyle\varphi\land\psi$}\mathclose{}{\rrbracket}}_{w}⟦ italic_φ ∧ italic_ψ ⟧ start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT =defφw×ψw\displaystyle\stackrel{{\scriptstyle\mathclap{\mbox{\tiny def}}}}{{=}}% \mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}_{w}\times\mathchoice{\mathopen{}{\llbracket}\hbox{$% \displaystyle\psi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \textstyle\psi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptstyle\psi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptscriptstyle\psi$}\mathclose{}{\rrbracket}}_{w}start_RELOP SUPERSCRIPTOP start_ARG = end_ARG start_ARG def end_ARG end_RELOP ⟦ italic_φ ⟧ start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT × ⟦ italic_ψ ⟧ start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT
φψw\displaystyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi\to% \psi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle% \varphi\to\psi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptstyle\varphi\to\psi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}% \hbox{$\scriptscriptstyle\varphi\to\psi$}\mathclose{}{\rrbracket}}_{w}⟦ italic_φ → italic_ψ ⟧ start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT =def{F:(v:𝒞)Hom𝒞(w,v)φvψv|g.gF(v)(f)(x)=F(v)(gf)(gx)}\displaystyle\stackrel{{\scriptstyle\mathclap{\mbox{\tiny def}}}}{{=}}% \mathchoice{\mathopen{}{\{}\hbox{$\displaystyle F:\mathchoice{\mathopen{}{(}% \hbox{$\displaystyle v:\mathcal{C}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle v:\mathcal{C}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle v% :\mathcal{C}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle v:% \mathcal{C}$}\mathclose{}{)}}\to\mathrm{Hom}_{\mathcal{C}}\mathchoice{% \mathopen{}{(}\hbox{$\displaystyle w,v$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle w,v$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle w,v$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle w,v$}\mathclose{}{)}}% \to\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{% }{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}_{v}\to\mathchoice{\mathopen{}{\llbracket}\hbox{$% \displaystyle\psi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \textstyle\psi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptstyle\psi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptscriptstyle\psi$}\mathclose{}{\rrbracket}}_{v}$}\mathrel{{|}}\hbox{$% \displaystyle\forall g.\,\,g\cdot F(v)(f)(x)=F(v^{\prime})(g\circ f)(g\cdot x)% $}\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\textstyle F:\mathchoice{\mathopen{}% {(}\hbox{$\displaystyle v:\mathcal{C}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle v:\mathcal{C}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle v% :\mathcal{C}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle v:% \mathcal{C}$}\mathclose{}{)}}\to\mathrm{Hom}_{\mathcal{C}}\mathchoice{% \mathopen{}{(}\hbox{$\displaystyle w,v$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle w,v$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle w,v$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle w,v$}\mathclose{}{)}}% \to\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{% }{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}_{v}\to\mathchoice{\mathopen{}{\llbracket}\hbox{$% \displaystyle\psi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \textstyle\psi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptstyle\psi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptscriptstyle\psi$}\mathclose{}{\rrbracket}}_{v}$}\mathrel{{|}}\hbox{$% \textstyle\forall g.\,\,g\cdot F(v)(f)(x)=F(v^{\prime})(g\circ f)(g\cdot x)$}% \mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\scriptstyle F:\mathchoice{\mathopen{}% {(}\hbox{$\displaystyle v:\mathcal{C}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle v:\mathcal{C}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle v% :\mathcal{C}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle v:% \mathcal{C}$}\mathclose{}{)}}\to\mathrm{Hom}_{\mathcal{C}}\mathchoice{% \mathopen{}{(}\hbox{$\displaystyle w,v$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle w,v$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle w,v$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle w,v$}\mathclose{}{)}}% \to\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{% }{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}_{v}\to\mathchoice{\mathopen{}{\llbracket}\hbox{$% \displaystyle\psi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \textstyle\psi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptstyle\psi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptscriptstyle\psi$}\mathclose{}{\rrbracket}}_{v}$}\mathrel{{|}}\hbox{$% \scriptstyle\forall g.\,\,g\cdot F(v)(f)(x)=F(v^{\prime})(g\circ f)(g\cdot x)$% }\mathclose{}{\}}}{\mathopen{}{\{}\hbox{$\scriptscriptstyle F:\mathchoice{% \mathopen{}{(}\hbox{$\displaystyle v:\mathcal{C}$}\mathclose{}{)}}{\mathopen{}% {(}\hbox{$\textstyle v:\mathcal{C}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle v:\mathcal{C}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle v:\mathcal{C}$}\mathclose{}{)}}\to\mathrm{Hom}_{\mathcal{C}% }\mathchoice{\mathopen{}{(}\hbox{$\displaystyle w,v$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\textstyle w,v$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle w,v$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle w,v% $}\mathclose{}{)}}\to\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle% \varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle% \varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle% \varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptscriptstyle\varphi$}\mathclose{}{\rrbracket}}_{v}\to\mathchoice{% \mathopen{}{\llbracket}\hbox{$\displaystyle\psi$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\textstyle\psi$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\scriptstyle\psi$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\psi$}\mathclose{}{\rrbracket}% }_{v}$}\mathrel{{|}}\hbox{$\scriptscriptstyle\forall g.\,\,g\cdot F(v)(f)(x)=F% (v^{\prime})(g\circ f)(g\cdot x)$}\mathclose{}{\}}}start_RELOP SUPERSCRIPTOP start_ARG = end_ARG start_ARG def end_ARG end_RELOP { italic_F : ( italic_v : caligraphic_C ) → roman_Hom start_POSTSUBSCRIPT caligraphic_C end_POSTSUBSCRIPT ( italic_w , italic_v ) → ⟦ italic_φ ⟧ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT → ⟦ italic_ψ ⟧ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT | ∀ italic_g . italic_g ⋅ italic_F ( italic_v ) ( italic_f ) ( italic_x ) = italic_F ( italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ( italic_g ∘ italic_f ) ( italic_g ⋅ italic_x ) }

However, the interpretation of φψ𝜑𝜓\varphi\lor\psiitalic_φ ∨ italic_ψ is not immediately evident, as it is a coproduct in [𝒞,𝐒𝐞𝐭]×subscriptdelimited-[]𝒞𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal{C},\mathbf{% Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT. Adamek et al. [3, §4.5] prove the existence of such coproducts abstractly, by decomposing presheaves as sifted colimits of representables and using the fact 𝐲(a)+𝐲(b)=𝐲(a×b)𝐲𝑎𝐲𝑏𝐲𝑎𝑏\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle a$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\textstyle a$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle a$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle a$}% \mathclose{}{)}}+\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle b$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle b$}\mathclose{}{)}}{\mathopen% {}{(}\hbox{$\scriptstyle b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle b$}\mathclose{}{)}}=\mathbf{y}\mathchoice{\mathopen{}{(}% \hbox{$\displaystyle a\times b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle a\times b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle a% \times b$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle a\times b$}% \mathclose{}{)}}bold_y ( italic_a ) + bold_y ( italic_b ) = bold_y ( italic_a × italic_b ). To enable a direct comparison with the stable semantics of disjunction of §3, we need to describe them in a more direct way.

Theorem 5.3.

Let 𝒞𝒞\mathcal{C}caligraphic_C have finite products. Then the coproduct in [𝒞,𝐒𝐞𝐭]×subscriptdelimited-[]𝒞𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal{C},\mathbf{% Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT is given by the coend

(P+Q)(c)=defc1,c2𝒞Hom𝒞(c1×c2,c)×P(c1)×Q(c2)superscriptdef𝑃𝑄𝑐superscriptsubscript𝑐1subscript𝑐2𝒞subscriptHom𝒞subscript𝑐1subscript𝑐2𝑐𝑃subscript𝑐1𝑄subscript𝑐2(P+Q)(c)\stackrel{{\scriptstyle\mathclap{\mbox{\tiny def}}}}{{=}}\int^{c_{1},c% _{2}\in\mathcal{C}}\mathrm{Hom}_{\mathcal{C}}\mathchoice{\mathopen{}{(}\hbox{$% \displaystyle c_{1}\times c_{2},c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \textstyle c_{1}\times c_{2},c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle c_{1}\times c_{2},c$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle c_{1}\times c_{2},c$}\mathclose{}{)}}\times P(c_{1})\times Q% (c_{2})( italic_P + italic_Q ) ( italic_c ) start_RELOP SUPERSCRIPTOP start_ARG = end_ARG start_ARG def end_ARG end_RELOP ∫ start_POSTSUPERSCRIPT italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ caligraphic_C end_POSTSUPERSCRIPT roman_Hom start_POSTSUBSCRIPT caligraphic_C end_POSTSUBSCRIPT ( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT × italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_c ) × italic_P ( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) × italic_Q ( italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT )

An element of (P+Q)(c)𝑃𝑄𝑐(P+Q)(c)( italic_P + italic_Q ) ( italic_c ) essentially consists of tuples (c1,c2,f,x,y)subscript𝑐1subscript𝑐2𝑓𝑥𝑦(c_{1},c_{2},f,x,y)( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_f , italic_x , italic_y ) where f:c1×c2c:𝑓subscript𝑐1subscript𝑐2𝑐f:c_{1}\times c_{2}\to citalic_f : italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT × italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT → italic_c is a ‘decomposition’ of c𝑐citalic_c, xP(c1)𝑥𝑃subscript𝑐1x\in P(c_{1})italic_x ∈ italic_P ( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ), and yQ(c2)𝑦𝑄subscript𝑐2y\in Q(c_{2})italic_y ∈ italic_Q ( italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ). If we think of 𝒞𝒞\mathcal{C}caligraphic_C as an algebraic theory, f𝑓fitalic_f can be thought of as a term of sort c𝑐citalic_c in terms of two variables of sorts c1subscript𝑐1c_{1}italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and c2subscript𝑐2c_{2}italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT; and the elements of P(c1)𝑃subscript𝑐1P(c_{1})italic_P ( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) and Q(c2)𝑄subscript𝑐2Q(c_{2})italic_Q ( italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) can be considered as elements of the algebra at sorts c1subscript𝑐1c_{1}italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and c2subscript𝑐2c_{2}italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT respectively.

This is evidently a direct categorification of the stable semantics of disjunction given in §3. However, as this is now a coend, these data have to be appropriately quotiented: for any g:c1c1:𝑔subscriptsuperscript𝑐1subscript𝑐1g:c^{\prime}_{1}\to c_{1}italic_g : italic_c start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT → italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, h:c2c2:subscriptsuperscript𝑐2subscript𝑐2h:c^{\prime}_{2}\to c_{2}italic_h : italic_c start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT → italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, t1P(c1)subscriptsuperscript𝑡1𝑃subscriptsuperscript𝑐1t^{\prime}_{1}\in P(c^{\prime}_{1})italic_t start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ italic_P ( italic_c start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) and t2P(c2)subscriptsuperscript𝑡2𝑃subscriptsuperscript𝑐2t^{\prime}_{2}\in P(c^{\prime}_{2})italic_t start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ italic_P ( italic_c start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ), the tuples (c1,c2,f,gt1,ht2)subscript𝑐1subscript𝑐2𝑓𝑔subscriptsuperscript𝑡1subscriptsuperscript𝑡2(c_{1},c_{2},f,g\cdot t^{\prime}_{1},h\cdot t^{\prime}_{2})( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_f , italic_g ⋅ italic_t start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_h ⋅ italic_t start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) and (c1,c2,f(g×h),t1,t2)subscriptsuperscript𝑐1subscriptsuperscript𝑐2𝑓𝑔subscriptsuperscript𝑡1subscriptsuperscript𝑡2(c^{\prime}_{1},c^{\prime}_{2},f\circ(g\times h),t^{\prime}_{1},t^{\prime}_{2})( italic_c start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_c start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_f ∘ ( italic_g × italic_h ) , italic_t start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_t start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) should be identified. This guarantees that the choice of decomposition is ‘minimal.’ It is easy to prove that this object has the right universal property. However, a conceptual proof that it is product-preserving eludes me.

Finally, notice that this is essentially the ‘free’ product of algebras, as expected. It is also clearly a version of the Day convolution product on presheaves [41, §6.2]. It is in fact a known result of higher algebra that the Day convolution is the coproduct of commutative algebra objects over a symmetric monoidal \infty-category: see Lurie’s book [42, Lemma 3.2.4.7].

5.1 Completeness

We are now able to show completeness results for the categorical semantics of intuitionistic logic, i.e. bicartesian closed categories: if 𝒞𝒞\mathcal{C}caligraphic_C is a bicartesian closed category then it is distributive, and 𝐲:𝒞[𝒞𝗈𝗉,𝐒𝐞𝐭]×:𝐲𝒞subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathbf{y}:\mathcal{C}\longrightarrow\mathchoice{\mathopen{}{[}\hbox{$% \displaystyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal% {C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}bold_y : caligraphic_C ⟶ [ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT is an embedding that preserves the bicartesian closed structure of 𝒞𝒞\mathcal{C}caligraphic_C. Lemma 2.1 extends to disjunction and falsity on objects, but also to proofs. The latter can be represented as terms of the typed λ𝜆\lambdaitalic_λ-calculus with sums and an empty type up to βη𝛽𝜂\beta\etaitalic_β italic_η equality. We refer to [16, 37] for background on the categorical semantics of the typed λ𝜆\lambdaitalic_λ-calculus.

Lemma 5.4.

Let 𝒞𝒞\mathcal{C}caligraphic_C be a bicartesian closed category.

  1. 1.

    There is an isomorphism θA:A[𝒞𝗈𝗉,𝐒𝐞𝐭]×𝐲(A𝒞)\theta_{A}:\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle A$}% \mathclose{}{\rrbracket}}_{\mathchoice{\mathopen{}{[}\hbox{$\displaystyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \textstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}% {[}\hbox{$\scriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}% {\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}% $}\mathclose{}{]}}_{\times}}\cong\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$% \displaystyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle A$}% \mathclose{}{\rrbracket}}_{\mathcal{C}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{% $\textstyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle A$}% \mathclose{}{\rrbracket}}_{\mathcal{C}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{% $\scriptstyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle A$}% \mathclose{}{\rrbracket}}_{\mathcal{C}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{% $\scriptscriptstyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle A$}% \mathclose{}{\rrbracket}}_{\mathcal{C}}$}\mathclose{}{)}}italic_θ start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT : ⟦ italic_A ⟧ start_POSTSUBSCRIPT [ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT end_POSTSUBSCRIPT ≅ bold_y ( ⟦ italic_A ⟧ start_POSTSUBSCRIPT caligraphic_C end_POSTSUBSCRIPT ) for any type A𝐴Aitalic_A of the simply-typed λ𝜆\lambdaitalic_λ-calculus.

  2. 2.

    If ΓM:AprovesΓ𝑀:𝐴\Gamma\vdash M:Aroman_Γ ⊢ italic_M : italic_A is a term of the typed λ𝜆\lambdaitalic_λ-calculus, then the following diagram commutes:

    Γ[𝒞𝗈𝗉,𝐒𝐞𝐭]×\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\Gamma$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\Gamma$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\Gamma$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\Gamma$}% \mathclose{}{\rrbracket}}_{\mathchoice{\mathopen{}{[}\hbox{$\displaystyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \textstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}% {[}\hbox{$\scriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}% {\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}% $}\mathclose{}{]}}_{\times}}⟦ roman_Γ ⟧ start_POSTSUBSCRIPT [ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT end_POSTSUBSCRIPT𝐲(Γ𝒞)\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathchoice{\mathopen{% }{\llbracket}\hbox{$\displaystyle\Gamma$}\mathclose{}{\rrbracket}}{\mathopen{}% {\llbracket}\hbox{$\textstyle\Gamma$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle\Gamma$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptscriptstyle\Gamma$}\mathclose{}{\rrbracket}}_{% \mathcal{C}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathchoice{% \mathopen{}{\llbracket}\hbox{$\displaystyle\Gamma$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\textstyle\Gamma$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\scriptstyle\Gamma$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\Gamma$}\mathclose{}{% \rrbracket}}_{\mathcal{C}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle% \mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\Gamma$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\Gamma$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\Gamma$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\Gamma$}% \mathclose{}{\rrbracket}}_{\mathcal{C}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{% $\scriptscriptstyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle% \Gamma$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle% \Gamma$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle% \Gamma$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptscriptstyle\Gamma$}\mathclose{}{\rrbracket}}_{\mathcal{C}}$}\mathclose{% }{)}}bold_y ( ⟦ roman_Γ ⟧ start_POSTSUBSCRIPT caligraphic_C end_POSTSUBSCRIPT )i(x:A)ΓθA𝑖subscriptproduct:𝑥𝐴absentΓsubscript𝜃𝐴i\circ\prod_{(x:A)\in\Gamma}\theta_{A}italic_i ∘ ∏ start_POSTSUBSCRIPT ( italic_x : italic_A ) ∈ roman_Γ end_POSTSUBSCRIPT italic_θ start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPTA[𝒞𝗈𝗉,𝐒𝐞𝐭]×\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle A$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle A$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle A$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle A$}\mathclose{}{% \rrbracket}}_{\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen% {}{[}\hbox{$\scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}% \mathclose{}{]}}_{\times}}⟦ italic_A ⟧ start_POSTSUBSCRIPT [ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT end_POSTSUBSCRIPT𝐲(A𝒞)\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathchoice{\mathopen{% }{\llbracket}\hbox{$\displaystyle A$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\textstyle A$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle A$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptscriptstyle A$}\mathclose{}{\rrbracket}}_{\mathcal{C}% }$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathchoice{\mathopen{}{% \llbracket}\hbox{$\displaystyle A$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\textstyle A$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle A$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptscriptstyle A$}\mathclose{}{\rrbracket}}_{\mathcal{C}% }$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle\mathchoice{\mathopen{}{% \llbracket}\hbox{$\displaystyle A$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\textstyle A$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle A$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptscriptstyle A$}\mathclose{}{\rrbracket}}_{\mathcal{C}% }$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle\mathchoice{% \mathopen{}{\llbracket}\hbox{$\displaystyle A$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\textstyle A$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\scriptstyle A$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\scriptscriptstyle A$}\mathclose{}{\rrbracket}}_% {\mathcal{C}}$}\mathclose{}{)}}bold_y ( ⟦ italic_A ⟧ start_POSTSUBSCRIPT caligraphic_C end_POSTSUBSCRIPT )Mdelimited-⟦⟧𝑀\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle M$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle M$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle M$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle M$}\mathclose{}{% \rrbracket}}⟦ italic_M ⟧θAsubscript𝜃𝐴\theta_{A}italic_θ start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT𝐲(M)𝐲delimited-⟦⟧𝑀\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathchoice{\mathopen{% }{\llbracket}\hbox{$\displaystyle M$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\textstyle M$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle M$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptscriptstyle M$}\mathclose{}{\rrbracket}}$}\mathclose{% }{)}}{\mathopen{}{(}\hbox{$\textstyle\mathchoice{\mathopen{}{\llbracket}\hbox{% $\displaystyle M$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \textstyle M$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptstyle M$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptscriptstyle M$}\mathclose{}{\rrbracket}}$}\mathclose{}{)}}{\mathopen{}{% (}\hbox{$\scriptstyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle M% $}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle M$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle M$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle M$}% \mathclose{}{\rrbracket}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle M$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle M$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle M$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle M$}% \mathclose{}{\rrbracket}}$}\mathclose{}{)}}bold_y ( ⟦ italic_M ⟧ )

    where Γ=def(x:A)ΓA\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\Gamma$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\Gamma$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\Gamma$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\Gamma$}% \mathclose{}{\rrbracket}}\stackrel{{\scriptstyle\mathclap{\mbox{\tiny def}}}}{% {=}}\prod_{(x:A)\in\Gamma}\mathchoice{\mathopen{}{\llbracket}\hbox{$% \displaystyle A$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \textstyle A$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptstyle A$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptscriptstyle A$}\mathclose{}{\rrbracket}}⟦ roman_Γ ⟧ start_RELOP SUPERSCRIPTOP start_ARG = end_ARG start_ARG def end_ARG end_RELOP ∏ start_POSTSUBSCRIPT ( italic_x : italic_A ) ∈ roman_Γ end_POSTSUBSCRIPT ⟦ italic_A ⟧, and i:(x:A)Γ𝐲(A𝒞)𝐲((x:A)ΓA𝒞)i:\prod_{(x:A)\in\Gamma}\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$% \displaystyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle A$}% \mathclose{}{\rrbracket}}_{\mathcal{C}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{% $\textstyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle A$}% \mathclose{}{\rrbracket}}_{\mathcal{C}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{% $\scriptstyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle A$}% \mathclose{}{\rrbracket}}_{\mathcal{C}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{% $\scriptscriptstyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle A$}% \mathclose{}{\rrbracket}}_{\mathcal{C}}$}\mathclose{}{)}}\xrightarrow{\cong}% \mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\prod_{(x:A)\in\Gamma}% \mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle A$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle A$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle A$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle A$}\mathclose{}{% \rrbracket}}_{\mathcal{C}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle% \prod_{(x:A)\in\Gamma}\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle A% $}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle A$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle A$}% \mathclose{}{\rrbracket}}_{\mathcal{C}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{% $\scriptstyle\prod_{(x:A)\in\Gamma}\mathchoice{\mathopen{}{\llbracket}\hbox{$% \displaystyle A$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \textstyle A$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptstyle A$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptscriptstyle A$}\mathclose{}{\rrbracket}}_{\mathcal{C}}$}\mathclose{}{)}% }{\mathopen{}{(}\hbox{$\scriptscriptstyle\prod_{(x:A)\in\Gamma}\mathchoice{% \mathopen{}{\llbracket}\hbox{$\displaystyle A$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\textstyle A$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\scriptstyle A$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\scriptscriptstyle A$}\mathclose{}{\rrbracket}}_% {\mathcal{C}}$}\mathclose{}{)}}italic_i : ∏ start_POSTSUBSCRIPT ( italic_x : italic_A ) ∈ roman_Γ end_POSTSUBSCRIPT bold_y ( ⟦ italic_A ⟧ start_POSTSUBSCRIPT caligraphic_C end_POSTSUBSCRIPT ) start_ARROW over≅ → end_ARROW bold_y ( ∏ start_POSTSUBSCRIPT ( italic_x : italic_A ) ∈ roman_Γ end_POSTSUBSCRIPT ⟦ italic_A ⟧ start_POSTSUBSCRIPT caligraphic_C end_POSTSUBSCRIPT ) arises from the fact 𝐲𝐲\mathbf{y}bold_y preserves finite products.

Then, assuming that bicartesian closed categories are complete for the typed λ𝜆\lambdaitalic_λ-calculus:

Theorem 5.5.

The subclass of models consisting of [𝒞𝗈𝗉,𝐒𝐞𝐭]×subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT over a distributive 𝒞𝒞\mathcal{C}caligraphic_C is complete for equational theory of the typed λ𝜆\lambdaitalic_λ-calculus with sums and an empty type.

Proof.

Let ΓM,N:AprovesΓ𝑀𝑁:𝐴\Gamma\vdash M,N:Aroman_Γ ⊢ italic_M , italic_N : italic_A be two terms with M=N\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle M$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle M$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle M$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle M$}\mathclose{}{% \rrbracket}}=\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle N$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle N$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle N$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle N$}% \mathclose{}{\rrbracket}}⟦ italic_M ⟧ = ⟦ italic_N ⟧ when interpreted in any product-preserving presheaf category [𝒞𝗈𝗉,𝐒𝐞𝐭]×subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT with 𝒞𝒞\mathcal{C}caligraphic_C distributive. Pick any bicartesian closed 𝒞𝒞\mathcal{C}caligraphic_C. By Lemma 5.4 we have 𝐲(M)=𝐲(N)𝐲delimited-⟦⟧𝑀𝐲delimited-⟦⟧𝑁\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathchoice{\mathopen{% }{\llbracket}\hbox{$\displaystyle M$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\textstyle M$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle M$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptscriptstyle M$}\mathclose{}{\rrbracket}}$}\mathclose{% }{)}}{\mathopen{}{(}\hbox{$\textstyle\mathchoice{\mathopen{}{\llbracket}\hbox{% $\displaystyle M$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \textstyle M$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptstyle M$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptscriptstyle M$}\mathclose{}{\rrbracket}}$}\mathclose{}{)}}{\mathopen{}{% (}\hbox{$\scriptstyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle M% $}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle M$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle M$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle M$}% \mathclose{}{\rrbracket}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle M$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle M$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle M$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle M$}% \mathclose{}{\rrbracket}}$}\mathclose{}{)}}=\mathbf{y}\mathchoice{\mathopen{}{% (}\hbox{$\displaystyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle N% $}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle N$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle N$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle N$}% \mathclose{}{\rrbracket}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle% \mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle N$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle N$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle N$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle N$}\mathclose{}{% \rrbracket}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle\mathchoice{% \mathopen{}{\llbracket}\hbox{$\displaystyle N$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\textstyle N$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\scriptstyle N$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\scriptscriptstyle N$}\mathclose{}{\rrbracket}}$% }\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle\mathchoice{\mathopen% {}{\llbracket}\hbox{$\displaystyle N$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\textstyle N$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle N$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptscriptstyle N$}\mathclose{}{\rrbracket}}$}\mathclose{% }{)}}bold_y ( ⟦ italic_M ⟧ ) = bold_y ( ⟦ italic_N ⟧ ), where the interpretation is now in 𝒞𝒞\mathcal{C}caligraphic_C. But 𝐲𝐲\mathbf{y}bold_y is faithful, so M=N\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle M$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle M$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle M$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle M$}\mathclose{}{% \rrbracket}}=\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle N$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle N$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle N$}% \mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle N$}% \mathclose{}{\rrbracket}}⟦ italic_M ⟧ = ⟦ italic_N ⟧ in every bicartesian closed category 𝒞𝒞\mathcal{C}caligraphic_C. Then ΓM=N:AprovesΓ𝑀𝑁:𝐴\Gamma\vdash M=N:Aroman_Γ ⊢ italic_M = italic_N : italic_A by the completeness of bicartesian closed categories. ∎

There is of course a converse, which shows that completeness of this class of models implies completeness of the class of bicartesian closed categories. It is similar in spirit to Theorem 3.8.

5.2 Morphisms

Unlike most the previous dualities we have presented, the one in this section has been carefully studied [6, 3]. However, the terminology is different: instead of stable categories they speak of algebraic categories; and instead of stable functors, i.e. functors preserving finite products, they speak of morphisms of algebraic theories. In fact, the duality required here is a syntax-semantics duality for Lawvere’s algebraic theories.

To sketch this duality we must first look at the extension properties of Sind(𝒞)Sind𝒞\textsf{Sind}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle\mathcal{C}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle\mathcal{C}$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptstyle\mathcal{C}$}\mathclose{}{)}}{\mathopen{}{(}% \hbox{$\scriptscriptstyle\mathcal{C}$}\mathclose{}{)}}Sind ( caligraphic_C ). Given any F:𝒞:𝐹𝒞F:\mathcal{C}\longrightarrow\mathcal{E}italic_F : caligraphic_C ⟶ caligraphic_E, where \mathcal{E}caligraphic_E is a category with sifted colimits, there is a unique F!:[𝒞𝗈𝗉,𝐒𝐞𝐭]×:subscript𝐹subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭F_{{!}}:\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}% },\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{% \times}\longrightarrow\mathcal{E}italic_F start_POSTSUBSCRIPT ! end_POSTSUBSCRIPT : [ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT ⟶ caligraphic_E that extends F𝐹Fitalic_F and preserves sifted colimits, as in the following commuting diagram:

𝒞𝒞\mathcal{C}caligraphic_C[𝒞𝗈𝗉,𝐒𝐞𝐭]×subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT\mathcal{E}caligraphic_Ehas sifted colimits𝐲𝐲\mathbf{y}bold_yF𝐹Fitalic_FF!subscript𝐹F_{{!}}italic_F start_POSTSUBSCRIPT ! end_POSTSUBSCRIPT (8)

This property is exactly what it means for [𝒞𝗈𝗉,𝐒𝐞𝐭]×subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT to be the sifted colimit completion [3, §4.9]. However, we can also get a slightly more refined extension property. Suppose that F:𝒞:𝐹𝒞F:\mathcal{C}\longrightarrow\mathcal{E}italic_F : caligraphic_C ⟶ caligraphic_E also preserves coproducts, and that \mathcal{E}caligraphic_E is cocomplete. Then F!subscript𝐹F_{{!}}italic_F start_POSTSUBSCRIPT ! end_POSTSUBSCRIPT preserves all colimits and has a right adjoint:

𝒞𝒞\mathcal{C}caligraphic_C[𝒞𝗈𝗉,𝐒𝐞𝐭]×subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT\mathcal{E}caligraphic_Eis cocomplete𝐲𝐲\mathbf{y}bold_yF𝐹Fitalic_FF!subscript𝐹F_{{!}}italic_F start_POSTSUBSCRIPT ! end_POSTSUBSCRIPTdoes-not-prove\dashvFsuperscript𝐹{F}^{{\star}}italic_F start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT (9)

The reason is that the usual functor F(e)=defHom(F,e)superscriptdefsuperscript𝐹𝑒subscriptHomlimit-from𝐹𝑒{F}^{{\star}}(e)\stackrel{{\scriptstyle\mathclap{\mbox{\tiny def}}}}{{=}}% \mathrm{Hom}_{\mathcal{E}}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle F-,e$% }\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle F-,e$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptstyle F-,e$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle F-,e$}\mathclose{}{)}}italic_F start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT ( italic_e ) start_RELOP SUPERSCRIPTOP start_ARG = end_ARG start_ARG def end_ARG end_RELOP roman_Hom start_POSTSUBSCRIPT caligraphic_E end_POSTSUBSCRIPT ( italic_F - , italic_e ) is then valued in [𝒞𝗈𝗉,𝐒𝐞𝐭]×subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT, and can readily be shown to be right adjoint to F!subscript𝐹F_{{!}}italic_F start_POSTSUBSCRIPT ! end_POSTSUBSCRIPT [3, §4.15].

Then, given any stable f:𝒞𝒟:𝑓𝒞𝒟f:\mathcal{C}\longrightarrow\mathcal{D}italic_f : caligraphic_C ⟶ caligraphic_D take the extension of 𝐲f𝗈𝗉𝐲superscript𝑓𝗈𝗉\mathbf{y}\circ f^{\mathsf{op}}bold_y ∘ italic_f start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT as in (9)

𝒞𝗈𝗉superscript𝒞𝗈𝗉\mathcal{C}^{\mathsf{op}}caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT[𝒞,𝐒𝐞𝐭]×subscriptdelimited-[]𝒞𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal{C},\mathbf{% Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT[𝒞,𝐒𝐞𝐭]×subscriptdelimited-[]𝒞𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal{C},\mathbf{% Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT𝒟𝗈𝗉superscript𝒟𝗈𝗉\mathcal{D}^{\mathsf{op}}caligraphic_D start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT𝐲𝐲\mathbf{y}bold_y𝐲𝐲\mathbf{y}bold_yf𝗈𝗉superscript𝑓𝗈𝗉f^{\mathsf{op}}italic_f start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPTf!subscript𝑓f_{{!}}italic_f start_POSTSUBSCRIPT ! end_POSTSUBSCRIPTdoes-not-prove\dashvfsuperscript𝑓{f}^{{\star}}italic_f start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT (10)

We have that f(P)=Hom(𝐲(f()),P)Pfsuperscript𝑓𝑃Hom𝐲𝑓𝑃𝑃𝑓{f}^{{\star}}(P)=\mathrm{Hom}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle% \mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle f(-)$}\mathclose{}{)}% }{\mathopen{}{(}\hbox{$\textstyle f(-)$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle f(-)$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle f(% -)$}\mathclose{}{)}},P$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle% \mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle f(-)$}\mathclose{}{)}% }{\mathopen{}{(}\hbox{$\textstyle f(-)$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle f(-)$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle f(% -)$}\mathclose{}{)}},P$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle% \mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle f(-)$}\mathclose{}{)}% }{\mathopen{}{(}\hbox{$\textstyle f(-)$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptstyle f(-)$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle f(% -)$}\mathclose{}{)}},P$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle\mathbf{y}\mathchoice{\mathopen{}{(}\hbox{$\displaystyle f(-% )$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle f(-)$}\mathclose{}{)}}{% \mathopen{}{(}\hbox{$\scriptstyle f(-)$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$% \scriptscriptstyle f(-)$}\mathclose{}{)}},P$}\mathclose{}{)}}\cong P\circ fitalic_f start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT ( italic_P ) = roman_Hom ( bold_y ( italic_f ( - ) ) , italic_P ) ≅ italic_P ∘ italic_f acts by precomposition. It clearly preserves limits; it also preserves sifted colimits, as they are computed pointwise in [𝒞,𝐒𝐞𝐭]×subscriptdelimited-[]𝒞𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal{C},\mathbf{% Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT [3, §9.3]. Such a functor is called an algebraic functor [3, §9.4]. We thus obtain a (strict) 2-functor

[,𝐒𝐞𝐭]×:Catcc, stableopAlgCat:subscriptdelimited-[]𝐒𝐞𝐭superscriptsubscriptCatcc, stableopAlgCat\mathchoice{\mathopen{}{[}\hbox{$\displaystyle-,\mathbf{Set}$}\mathclose{}{]}}% {\mathopen{}{[}\hbox{$\textstyle-,\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[% }\hbox{$\scriptstyle-,\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle-,\mathbf{Set}$}\mathclose{}{]}}_{\times}:\textbf{Cat}_{% \text{cc, stable}}^{\text{op}}\longrightarrow\textbf{AlgCat}[ - , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT : Cat start_POSTSUBSCRIPT cc, stable end_POSTSUBSCRIPT start_POSTSUPERSCRIPT op end_POSTSUPERSCRIPT ⟶ AlgCat

from the (strict) 2-category of Cauchy-complete stable categories, stable functors, and natural transformations to the (strict) 2-category of algebraic categories, algebraic functors, and natural transformations. This functor is a biequivalence, and hence a 2-duality; more details can be found in [3, §9]. Finally, this can be further refined to 2-dualities that ‘preserve truth’ in terms of frames.

6 Two-dimensional stable semantics for modal logic

Definition 6.1.

A stable profunctor on 𝒞𝒞\mathcal{C}caligraphic_C is a profunctor R:𝒞𝗈𝗉×𝒞𝐒𝐞𝐭:𝑅superscript𝒞𝗈𝗉𝒞𝐒𝐞𝐭R:\mathcal{C}^{\mathsf{op}}\times\mathcal{C}\longrightarrow\mathbf{Set}italic_R : caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT × caligraphic_C ⟶ bold_Set which preserves products in its second argument, and for which ΛR:𝒞𝗈𝗉[𝒞,𝐒𝐞𝐭]×:Λ𝑅superscript𝒞𝗈𝗉subscriptdelimited-[]𝒞𝐒𝐞𝐭\Lambda R:\mathcal{C}^{\mathsf{op}}\longrightarrow\mathchoice{\mathopen{}{[}% \hbox{$\displaystyle\mathcal{C},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}% \hbox{$\textstyle\mathcal{C},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}% \hbox{$\scriptstyle\mathcal{C},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}% \hbox{$\scriptscriptstyle\mathcal{C},\mathbf{Set}$}\mathclose{}{]}}_{\times}roman_Λ italic_R : caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT ⟶ [ caligraphic_C , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT preserves coproducts.

This corresponds precisely to an adjunction on [𝒞,𝐒𝐞𝐭]×subscriptdelimited-[]𝒞𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal{C},\mathbf{% Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT, by the universal property (9):

𝒞𝗈𝗉superscript𝒞𝗈𝗉\mathcal{C}^{\mathsf{op}}caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT[𝒞,𝐒𝐞𝐭]×subscriptdelimited-[]𝒞𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal{C},\mathbf{% Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT[𝒞,𝐒𝐞𝐭]×subscriptdelimited-[]𝒞𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle\mathcal{C},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal{C},\mathbf{% Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT𝐲𝐲\mathbf{y}bold_yΛRΛ𝑅\Lambda Rroman_Λ italic_RRsubscript𝑅\blacklozenge_{R}◆ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPTdoes-not-prove\dashvRsubscript𝑅\Box_{R}□ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT

These functors are more directly expressed as follows:

φw=defRφw\displaystyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle% \blacklozenge\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \textstyle\blacklozenge\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle\blacklozenge\varphi$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\blacklozenge\varphi$}% \mathclose{}{\rrbracket}}_{w}\stackrel{{\scriptstyle\mathclap{\mbox{\tiny def}% }}}{{=}}\blacklozenge_{R}\mathchoice{\mathopen{}{\llbracket}\hbox{$% \displaystyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \textstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptscriptstyle\varphi$}\mathclose{}{\rrbracket}}_{w}⟦ ◆ italic_φ ⟧ start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_RELOP SUPERSCRIPTOP start_ARG = end_ARG start_ARG def end_ARG end_RELOP ◆ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ⟦ italic_φ ⟧ start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT =v𝒞φv×R(v,w)\displaystyle=\int^{v\in\mathcal{C}}\mathchoice{\mathopen{}{\llbracket}\hbox{$% \displaystyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \textstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptscriptstyle\varphi$}\mathclose{}{\rrbracket}}_{v}\times R(v,w)= ∫ start_POSTSUPERSCRIPT italic_v ∈ caligraphic_C end_POSTSUPERSCRIPT ⟦ italic_φ ⟧ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT × italic_R ( italic_v , italic_w ) φw=defRφw\displaystyle\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\Box% \varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle% \Box\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}\hbox{$% \scriptstyle\Box\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}% \hbox{$\scriptscriptstyle\Box\varphi$}\mathclose{}{\rrbracket}}_{w}\stackrel{{% \scriptstyle\mathclap{\mbox{\tiny def}}}}{{=}}\Box_{R}\mathchoice{\mathopen{}{% \llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptscriptstyle\varphi$}\mathclose{}{\rrbracket}}_{w}⟦ □ italic_φ ⟧ start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_RELOP SUPERSCRIPTOP start_ARG = end_ARG start_ARG def end_ARG end_RELOP □ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ⟦ italic_φ ⟧ start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT =Hom[𝒞,𝐒𝐞𝐭]×(R(w,),φ)\displaystyle=\mathrm{Hom}_{\mathchoice{\mathopen{}{[}\hbox{$\displaystyle% \mathcal{C},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle% \mathcal{C},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C},\mathbf{Set}$}\mathclose{}{]}}_{\times}}% \mathchoice{\mathopen{}{(}\hbox{$\displaystyle R(w,-),\mathchoice{\mathopen{}{% \llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptscriptstyle\varphi$}\mathclose{}{\rrbracket}}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\textstyle R(w,-),\mathchoice{\mathopen{% }{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{% }{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{% \llbracket}\hbox{$\scriptscriptstyle\varphi$}\mathclose{}{\rrbracket}}$}% \mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptstyle R(w,-),\mathchoice{% \mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{\rrbracket}}{% \mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}\mathclose{}{% \rrbracket}}$}\mathclose{}{)}}{\mathopen{}{(}\hbox{$\scriptscriptstyle R(w,-),% \mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}$}\mathclose{}{)}}= roman_Hom start_POSTSUBSCRIPT [ caligraphic_C , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_R ( italic_w , - ) , ⟦ italic_φ ⟧ )

The expression for \Box follows from (9); it evidently preserves products. The expression for \blacklozenge is the coend formula for the left Kan extension along Yoneda to all presheaves [41, §2.3]. It is still the right expression, by the uniqueness of adjoints. However, it is not easy to see that it preserves products in w𝑤witalic_w: to see that, write φdelimited-⟦⟧𝜑\mathchoice{\mathopen{}{\llbracket}\hbox{$\displaystyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\textstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptstyle\varphi$}\mathclose{}{% \rrbracket}}{\mathopen{}{\llbracket}\hbox{$\scriptscriptstyle\varphi$}% \mathclose{}{\rrbracket}}⟦ italic_φ ⟧ as a sifted colimit and use the rules of coends to show that this set is isomorphic to lim(v,x)elφR(v,w)subscriptinjective-limit𝑣𝑥eldelimited-⟦⟧𝜑𝑅𝑣𝑤{\varinjlim}_{(v,x)\in\mathop{\textsf{el}}\mathchoice{\mathopen{}{\llbracket}% \hbox{$\displaystyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}% \hbox{$\textstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}% \hbox{$\scriptstyle\varphi$}\mathclose{}{\rrbracket}}{\mathopen{}{\llbracket}% \hbox{$\scriptscriptstyle\varphi$}\mathclose{}{\rrbracket}}}\,R(v,w)start_LIMITOP under→ start_ARG roman_lim end_ARG end_LIMITOP start_POSTSUBSCRIPT ( italic_v , italic_x ) ∈ el ⟦ italic_φ ⟧ end_POSTSUBSCRIPT italic_R ( italic_v , italic_w ). The latter clearly preserves products in w𝑤witalic_w: R(v,)𝑅𝑣R(v,-)italic_R ( italic_v , - ) does, and the colimit is sifted.

As in [35], these are the expected categorifications of the semantics of \blacklozenge and \Box.

6.1 Completeness

We can now show another completeness result like that of §5, which applies to intuitionistic modal proofs. These are bicartesian closed categories 𝒞𝒞\mathcal{C}caligraphic_C equipped with an adjunction does-not-prove\blacklozenge\dashv\Box◆ ⊣ □. They can be represented syntactically by Clouston’s Fitch-style λ𝜆\lambdaitalic_λ-calculus which is sound and complete for such models [14]. Then 𝐲:𝒞[𝒞𝗈𝗉,𝐒𝐞𝐭]×:𝐲𝒞subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathbf{y}:\mathcal{C}\longrightarrow\mathchoice{\mathopen{}{[}\hbox{$% \displaystyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{% \mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}% \mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptscriptstyle\mathcal% {C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}bold_y : caligraphic_C ⟶ [ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT is an embedding that preserves all this structure: Scott’s lemma 2.1 extends to \blacklozenge and \Box, following exactly the proof in §2. Then, a result similar to Lemma 5.4 holds, leading to the

Theorem 6.2.

The subclass of models consisting of categories [𝒞𝗈𝗉,𝐒𝐞𝐭]×subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT over a distributive 𝒞𝒞\mathcal{C}caligraphic_C equipped with an adjunction does-not-prove\blacklozenge\dashv\Box◆ ⊣ □ on [𝒞𝗈𝗉,𝐒𝐞𝐭]×subscriptdelimited-[]superscript𝒞𝗈𝗉𝐒𝐞𝐭\mathchoice{\mathopen{}{[}\hbox{$\displaystyle\mathcal{C}^{\mathsf{op}},% \mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\textstyle\mathcal{C}^{% \mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$\scriptstyle% \mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}{\mathopen{}{[}\hbox{$% \scriptscriptstyle\mathcal{C}^{\mathsf{op}},\mathbf{Set}$}\mathclose{}{]}}_{\times}[ caligraphic_C start_POSTSUPERSCRIPT sansserif_op end_POSTSUPERSCRIPT , bold_Set ] start_POSTSUBSCRIPT × end_POSTSUBSCRIPT is complete for equational theory of intuitionistic modal proofs.

6.2 Morphisms

Following the lead of [35], the 2-duality of §5.2 can be restricted to a 2-duality

SProfccopAlgCatOsimilar-to-or-equalssubscriptsuperscriptSProfopccAlgCatO\textbf{SProf}^{\text{op}}_{\text{cc}}\simeq\textbf{AlgCatO}SProf start_POSTSUPERSCRIPT op end_POSTSUPERSCRIPT start_POSTSUBSCRIPT cc end_POSTSUBSCRIPT ≃ AlgCatO

The (strict) 2-category on the left has Cauchy-complete categories equipped with a stable profunctor as 0-cells; stable functors that preserve the profunctor as 1-cells; and natural transformations natural transformations. The (strict) 2-category on the right has algebraic categories 𝒜𝒜\mathcal{A}caligraphic_A equipped with an operation 𝒜:𝒜𝒜:subscript𝒜𝒜𝒜\Box_{\mathcal{A}}:\mathcal{A}\longrightarrow\mathcal{A}□ start_POSTSUBSCRIPT caligraphic_A end_POSTSUBSCRIPT : caligraphic_A ⟶ caligraphic_A that preserves limits and sifted colimits as 0-cells; algebraic functors F:𝒜:𝐹𝒜F:\mathcal{A}\longrightarrow\mathcal{B}italic_F : caligraphic_A ⟶ caligraphic_B equipped with natural transformations F𝒜F𝐹subscript𝒜subscript𝐹F\Box_{\mathcal{A}}\Rightarrow\Box_{\mathcal{B}}Fitalic_F □ start_POSTSUBSCRIPT caligraphic_A end_POSTSUBSCRIPT ⇒ □ start_POSTSUBSCRIPT caligraphic_B end_POSTSUBSCRIPT italic_F as 1-cells; and natural transformations as 2-cells. This is essentially a direct categorification of the duality of §4.2. It can be further refined to a 2-duality where the morphisms preserve truth on the left, and the operator and implication on the right.

7 Related work

Completions

Much of the development in §3 was based on the filter completion of a distributive lattice. The dual notion of ideal completion is far more commonly encountered. It plays a significant rôle in domain theory, as the ideal completion of a preorder is the free algebraic dcpo over an arbitrary set of compact-elements-to-be [1, §2.2.6]. The category of algebraic dcpos and continuous maps is then equivalent to the category of preorders and approximable relations, which appear rather similar to stable bimodules. The ideal completion also plays a central rôle in Stone duality for distributive lattices [32, §II].

Choice-free dualities

It is well-known that many Stone-type dualities require the use of a choice-like principle, e.g. the existence of prime ideals. Choice is sometimes only necessary when connecting the localic viewpoint with the topological one; see e.g. [32, §II.4].

Avoiding this use of choice has been a rather active area of research in recent years, following the work of Bezhanishvili and Holliday [11]. A choice-free duality for Heyting algebras, as well as multiple references to recent literature, is given by Hartonas [29].

Other related work

Bezhanishvili et al. [10] present a positive modal logic. Their semantics uses a meet-semilattice as a frame. Every formula is interpreted as a filter over that, leading to the same falsity and disjunction clauses as the ones I use here. However, the lack of joins and distributivity means that they cannot handle implication. They also present some interesting links between their logic and logics of independence and team semantics [53, 36, 54] to which the results of this paper might be applicable.

De Groot and Pattison [19] study the (×)(\land\times)( ∧ × ) fragment of intuitionistic logic with a meet-preserving modality \Box. They give it a semantics in semilattices, relating it to filters. Their semantics for \Box is based on relations which are extremely close to stable bimodules.

The coherent semantics appears rather close to the Kripke semantics of the separating conjunction of the BI logic of O’Hearn and Pym [47, 48]. This is not surprising, as the Day convolution is one of their main monoidal products. However, the fact that their Kripke semantics can only be shown complete when falsity (interpreted as never true) is excluded [48, §4] suggests that there might be interesting connections with the results presented here.

Galal [24] explores a categorification of the Scott-continuous model of Linear Logic, which also consists of prime algebraic lattices (but with weaker morphisms than the ones used here) [30, 31, 46, 52]. The key notion of directed-completeness is replaced by sifted colimits. No connection to Kripke semantics is made.

Acknowledgements

This work was supported by the UKRI Engineering and Physical Sciences Research Council grant EP/Y033418/1.

I am grateful to Fabian Ruch for suggesting that product-preserving presheaves might be useful. Thanks are due to Daniel Gratzer for pointers to higher algebra; to Philip Saville and Pedro Azevedo de Amorim for the use of Day convolution in BI; and to Ayberk Tosun for general discussions on spectral locales. Finally, I would like to thank one of the anonymous reviewers for pointing out that the coherent semantics also work in a distributive semilattice, as well multiple references to relevant literature on dualities.

References

  • [1] Samson Abramsky and Achim Jung. Domain theory. In Samson Abramsky, Dov M. Gabbay, and Thomas S. E. Maibaum, editors, Handbook of Logic in Computer Science, volume 3, pages 1–168. Oxford University Press, 1994. URL: https://www.cs.bham.ac.uk/~axj/pub/papers/handy1.pdf.
  • [2] J. Adámek and J. Rosický. On sifted colimits and generalized varieties. Theory and Applications of Categories, 8(3):33–53, 2001. URL: http://www.tac.mta.ca/tac/volumes/8/n3/8-03abs.html.
  • [3] J. Adámek, J. Rosický, and E. M. Vitale. Algebraic Theories: A Categorical Introduction to General Algebra. Cambridge University Press, 2010. doi:10.1017/CBO9780511760754.
  • [4] J. Adámek, J. Rosický, and E. M. Vitale. What are sifted colimits? 23:251–260, 2010. URL: http://www.tac.mta.ca/tac/volumes/23/13/23-13abs.html.
  • [5] Jiří Adámek and Jiří Rosický. Locally Presentable and Accessible Categories. Cambridge University Press, 1994. doi:10.1017/CBO9780511600579.
  • [6] J. Adámek, F.W. Lawvere, and J. Rosický. On the duality between varieties and algebraic theories. Algebra Universalis, 49(1):35–49, 2003. doi:10.1007/s000120300002.
  • [7] Steve Awodey. Category Theory. Oxford Logic Guides. Oxford University Press, 2010.
  • [8] Gérard Berry. Stable models of typed λ𝜆\lambdaitalic_λ-calculi. In Giorgio Ausiello and Corrado Böhm, editors, Automata, Languages and Programming, volume 62 of Lecture Notes in Computer Science, pages 72–89, Berlin, Heidelberg, 1978. Springer Berlin Heidelberg. doi:10.1007/3-540-08860-1_7.
  • [9] Guram Bezhanishvili and Wesley H. Holliday. A semantic hierarchy for intuitionistic logic. Indagationes Mathematicae, 30(3):403–469, 2019. doi:10.1016/j.indag.2019.01.001.
  • [10] Nick Bezhanishvili, Anna Dmitrieva, Jim De Groot, and Tommaso Moraschini. Positive modal logic beyond distributivity. Annals of Pure and Applied Logic, 175(2), 2024. doi:10.1016/j.apal.2023.103374.
  • [11] Nick Bezhanishvili and Wesley H. Holliday. Choice-free Stone Duality. The Journal of Symbolic Logic, 85(1):109–148, 2020. doi:10.1017/jsl.2019.11.
  • [12] Francis Borceux. Handbook of Categorical Algebra, volume 3 of Encyclopedia of Mathematics and its Applications. Cambridge University Press, 1994.
  • [13] Alexander Chagrov and Michael Zakharyaschev. Modal Logic. Number 35 in Oxford Logic Guides. Oxford University Press, 1996. doi:10.1093/oso/9780198537793.001.0001.
  • [14] Ranald Clouston. Fitch-Style Modal Lambda Calculi. In Christel Baier and Ugo Dal Lago, editors, Foundations of Software Science and Computation Structures, volume 10803 of Lecture Notes in Computer Science, pages 258–275, Cham, 2018. Springer International Publishing. doi:10.1007/978-3-319-89366-2_14.
  • [15] J. R. B. Cockett. Introduction to distributive categories. Mathematical Structures in Computer Science, 3(3):277–307, 1993. doi:10.1017/S0960129500000232.
  • [16] Roy L. Crole. Categories for Types. Cambridge University Press, 1993. doi:10.1017/CBO9781139172707.
  • [17] B. A. Davey and H. A. Priestley. Introduction to Lattices and Order. Cambridge University Press, 2nd edition, 2002. doi:10.1017/CBO9780511809088.
  • [18] B. A. Davey and H. Werner. Distributivity of coproducts over products. Algebra Universalis, 12(1):387–394, 1981. doi:10.1007/BF02483898.
  • [19] Jim de Groot and Dirk Pattinson. Modal meet-implication logic. Logical Methods in Computer Science, 18(3), 2022. doi:10.46298/lmcs-18(3:1)2022.
  • [20] H. De Swart. Another intuitionistic completeness proof. The Journal of Symbolic Logic, 41(3):644–662, 1976. doi:10.2307/2272042.
  • [21] Wojciech Dzik, Jouni Järvinen, and Michiro Kondo. Intuitionistic propositional logic with Galois connections. Logic Journal of IGPL, 18(6):837–858, 2010. doi:10.1093/jigpal/jzp057.
  • [22] Leo Esakia. Heyting Algebras: Duality Theory, volume 50 of Trends in Logic. Springer International Publishing, 2019. doi:10.1007/978-3-030-12096-2.
  • [23] Melvin Fitting. Intuitionistic Logic, Model Theory and Forcing. Studies in Logic and the Foundation of Mathematics. North-Holland, 1969.
  • [24] Zeinab Galal. A Profunctorial Scott Semantics. In Zena M. Ariola, editor, 5th International Conference on Formal Structures for Computation and Deduction (FSCD 2020), volume 167 of Leibniz International Proceedings in Informatics (LIPIcs), pages 16:1–16:18, Dagstuhl, Germany, 2020. Schloss Dagstuhl–Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.FSCD.2020.16.
  • [25] Adriana Galli, Marta Sagastume, and Gonzalo E. Reyes. Completeness theorems via the double dual functor. Studia Logica, 64(1):61–81, 2000. doi:10.1023/A:1005238330484.
  • [26] Richard Garner. Cartesian closed varieties I: the classification theorem, February 2023. arXiv:2302.04402 [math].
  • [27] G. Gierz, K. H. Hofmann, K. Keimel, J. D. Lawson, M. Mislove, and D. S. Scott. Continuous Lattices and Domains. Cambridge University Press, 1 edition, 2003. doi:10.1017/CBO9780511542725.
  • [28] Victor Harnik and Michael Makkai. Lambek’s categorical proof theory and Läuchli’s abstract realizability. Journal of Symbolic Logic, 57(1):200–230, 1992. doi:10.2307/2275186.
  • [29] Chrysafis Hartonas. Choice-free topological duality for implicative lattices and Heyting algebras. Algebra universalis, 85(1):3, 2024. doi:10.1007/s00012-023-00830-8.
  • [30] Michael Huth. Linear domains and linear maps. In Stephen Brookes, Michael Main, Austin Melton, Michael Mislove, and David Schmidt, editors, Mathematical Foundations of Programming Semantics, volume 802 of Lecture Notes in Computer Science, pages 438–453, Berlin, Heidelberg, 1994. Springer Berlin Heidelberg. doi:10.1007/3-540-58027-1_21.
  • [31] Michael Huth, Achim Jung, and Klaus Keimel. Linear types and approximation. Mathematical Structures in Computer Science, 10(6):719–745, 2000. doi:10.1017/S0960129500003200.
  • [32] Peter T. Johnstone. Stone Spaces. Number 3 in Cambridge Studies in Advanced Mathematics. Cambridge University Press, 1982.
  • [33] Peter T. Johnstone. Collapsed toposes and cartesian closed varieties. Journal of Algebra, 129(2):446–480, 1990. doi:10.1016/0021-8693(90)90230-L.
  • [34] Younesse Kaddar. Ideal Distributors, 2020. Predoctoral research internship, ENS Paris-Saclay and University of Cambridge. URL: https://younesse.net/assets/ARPE_report.pdf.
  • [35] G. A. Kavvos. Two-dimensional Kripke Semantics, 2024.
  • [36] Juha Kontinen, Julian-Steffen Müller, Henning Schnoor, and Heribert Vollmer. Modal independence logic. Journal of Logic and Computation, 2016. doi:10.1093/logcom/exw019.
  • [37] Joachim Lambek and Philip J. Scott. Introduction to Higher-Order Categorical Logic. Number 7 in Cambridge Studies in Advanced Mathematics. Cambridge University Press, 1988.
  • [38] F. William Lawvere. Functorial semantics of algebraic theories and some algebraic problems in the context of functorial semantics of algebraic theories. In Reports of the Midwest Category Seminar II, volume 50, pages 41–61. Springer Berlin Heidelberg, 1963. Also available in Reprints in Theory and Applications of Categories, No. 5 (2004). URL: http://www.tac.mta.ca/tac/reprints/articles/5/tr5abs.html, doi:10.1007/BFb0077116.
  • [39] F. William Lawvere. Metric spaces, generalized logic, and closed categories. Rendiconti del Seminario Matematico e Fisico di Milano, 43(1):135–166, 1973. doi:10.1007/BF02924844.
  • [40] James Lipton. Constructive Kripke Semantics and Realizability. In S. S. Chern, I. Kaplansky, C. C. Moore, I. M. Singer, and Yiannis N. Moschovakis, editors, Logic from Computer Science, number 21 in Mathematical Sciences Research Institute Publications, pages 319–357. Springer New York, 1992. doi:10.1007/978-1-4612-2822-6_13.
  • [41] Fosco Loregian. (Co)end Calculus. Cambridge University Press, 2021. doi:10.1017/9781108778657.
  • [42] Jacob Lurie. Higher Algebra, 2017. Draft of September 18, 2017. URL: https://www.math.ias.edu/~lurie/papers/HA.pdf.
  • [43] Saunders Mac Lane and Ieke Moerdijk. Sheaves in Geometry and Logic: A First Introduction to Topos Theory. Universitext. Springer New York, 1994. doi:10.1007/978-1-4612-0927-0.
  • [44] M Makkai and G.E Reyes. Completeness results for intuitionistic and modal logic in a categorical setting. Annals of Pure and Applied Logic, 72(1):25–101, 1995. doi:10.1016/0168-0072(93)00085-4.
  • [45] Michael Makkai and Gonzalo E. Reyes. First Order Categorical Logic: Model-Theoretical Methods in the Theory of Topoi and Related Categories, volume 611 of Lecture Notes in Mathematics. Springer Berlin Heidelberg, Berlin, Heidelberg, 1977. URL: https://marieetgonzalo.files.wordpress.com/2018/04/makkai-reyes-book.pdf, doi:10.1007/BFb0066201.
  • [46] Mikkel Nygaard and Glynn Winskel. Domain theory for concurrency. Theoretical Computer Science, 316(1-3):153–190, 2004. doi:10.1016/j.tcs.2004.01.029.
  • [47] Peter W. O’Hearn and David J. Pym. The Logic of Bunched Implications. Bulletin of Symbolic Logic, 5(2):215–244, 1999. doi:10.2307/421090.
  • [48] David J. Pym. The Semantics and Proof Theory of the Logic of Bunched Implications, volume 26 of Applied Logic Series. Springer Netherlands, Dordrecht, 2002. doi:10.1007/978-94-017-0091-7.
  • [49] Dana S. Scott. Relating Theories of the Lambda Calculus. In Jonathan P. Seldin and J. Roger Hindley, editors, To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus, and Formalism. Academic Press, London, 1980.
  • [50] Anne Sjerp Troelstra and Dirk Dalen. Constructivism in mathematics: an introduction, volume 2 of Studies in Logic and the Foundation of Mathematics. Elsevier, 1988.
  • [51] Wim Veldman. An intuitiomstic completeness theorem for intuitionistic predicate logic. The Journal of Symbolic Logic, 41(1):159–166, 1976. doi:10.2307/2272955.
  • [52] Glynn Winskel. Linearity and Nonlinearity in Distributed Computation. In Thomas Ehrhard, Jean-Yves Girard, Paul Ruet, and Philip Scott, editors, Linear Logic in Computer Science, pages 151–188. Cambridge University Press, 2004. doi:10.1017/CBO9780511550850.005.
  • [53] Fan Yang and Jouko Väänänen. Propositional logics of dependence. Annals of Pure and Applied Logic, 167(7):557–589, 2016. doi:10.1016/j.apal.2016.03.003.
  • [54] Fan Yang and Jouko Väänänen. Propositional team logics. Annals of Pure and Applied Logic, 168(7):1406–1441, 2017. doi:10.1016/j.apal.2017.01.007.