# Computing the Heyting operation on the frame of nuclei

(The following definitions are meant to be standard and are reproduced for completeness of the question.) A frame is a partially ordered set in which every finite subset has a greatest lower bound (“meet”, denoted $$x_1\wedge\cdots\wedge x_n$$, or $$\top$$ for the empty meet) and every subset has a least upper bound (“join”, denoted $$\bigvee\{x_i : i\in I\}$$), and such that the latter distributes over the former, which amounts to demanding $$z \wedge \bigvee \{x_i : i \in I\} = \bigvee\{(z\wedge x_i) : i \in I\}$$ (in fact, arbitrary meets exist in a frame, but they generally fail to distribute over joins). (An important source of examples of frames are the lattice of open sets on a topological space, in which case finite meets and arbitrary joins are simply finite intersections and arbitrary unions.) The Heyting operation on a frame $$L$$, denoted $$\Rightarrow$$, is defined as $$(x\Rightarrow z) := \bigvee\{y : x\wedge y \leq z\}$$ (this sup is, in fact, a max). A nucleus on a frame $$L$$ is a map $$j\colon L\to L$$ such that ① $$j(x\wedge y) = j(x)\wedge j(y)$$ (from which it follows that $$j$$ is order-preserving), ② $$x \leq j(x)$$, and ③ $$j(j(x)) = j(x)$$ (these three conditions are understood universally quantified over free variables in $$L$$). The set of nuclei on $$L$$, with the pointwise order (viꝫ., $$j_1\leq j_2$$ when $$j_1(x)\leq j_2(x)$$ for all $$x\in L$$) is itself a frame, denoted $$N(L)$$; its top element is $$x \mapsto \top_L$$ and bottom $$x \mapsto x$$. Meet of nuclei can be defined pointwise: $$(j_1\wedge j_2)(x) = j_1(x) \wedge j_2(x)$$ (in fact, the same holds for arbitrary meets). Joins of nuclei, however, are more difficult to compute in general, although it is true that the fixset $$L_j := \operatorname{im} j = \{x\in L : j(x)=x\}$$ of $$j := \bigvee\{j_i : i\in I\}$$ is $$\bigcap_{i\in I} L_{j_i}$$ (so $$j(x)$$ can be expressed as the smallest element $$\geq x$$ of $$L$$ which is fixed by every $$j_i$$). See Escardó, “Joins in the Frame of Nuclei” (2003) for details and references about nuclei in general and how to compute their join.

My question concerns the computation of the Heyting operation in the frame $$N(L)$$ of nuclei over a frame $$L$$. So $$j_1\Rightarrow j_2$$ is defined as the largest nucleus $$k$$ such that $$j_1(x) \wedge k(x) \leq j_2(x)$$ for all $$x$$ (in particular, we have $$(j_1\Rightarrow j_2)(x) \leq (j_1(x) \Rightarrow j_2(x))$$). But this is not an equality in general.

To provide at least one interesting example of this, for an arbitrary element $$a\in L$$ we two naturally occurring nuclei, $$j_a\colon x\mapsto a\vee x$$ (the “complementary closed sublocale” nucleus associated to $$a$$) and $$j^a\colon x\mapsto (a\Rightarrow x)$$. They turn out to be complementary in $$N(L)$$ (see, e.g., Fourman & Scott, “Sheaves in Logic”, p. 302–401 in Fourman, Mulvey & Scott, Applications of Sheaves (Durham 1977), Springer LNM 753 (1979), §2.18), in the sense that $$j_a \vee j^a = \top_{N(L)}$$ and $$j_a \wedge j^a = \bot_{N(L)}$$; in particular, we have $$j^a = (j_a \Rightarrow \bot_{N(L)})$$, which is unsurprising, but also $$j_a = (j^a \Rightarrow \bot_{N(L)})$$, which is more surprising as the inequality $$a\vee x \leq ((a\Rightarrow x) \Rightarrow x)$$ is generally not an equality (the RHS here is not a nucleus in $$x$$, although it is a nucleus in $$a$$ which caused me some level of confusion).

Question: How can we compute the value $$(j_1\Rightarrow j_2)(x)$$ of the Heyting operation for $$j_1,j_2 \in N(L)$$ two nuclei (and $$x\in L$$)? Or how can we, at least, say something beyond the inequality $$(j_1\Rightarrow j_2)(x) \leq (j_1(x) \Rightarrow j_2(x))$$ remarked above? Pretty much anything that can be said about $$(j_1\Rightarrow j_2)(x)$$ interests me, including the special cases $$j_2 = \bot_{N(L)}$$, and/or when $$L$$ is the lattice of open sets on a topological space $$X$$ and $$j_1,j_2$$ are defined by reflecting to open subsets of subspaces $$E_1,E_2 \subseteq X$$.

First, every nucleus is the join of those of the form $$j^x\land j_y$$. Namely, $$j=\bigvee_xj^x\land j_{jx}$$ Hm, this is too confusing. Let me change notation and write: $$u_a$$ instead of $$j^a$$; $$v_a$$ instead of $$j_a$$. Thus, $$j=\bigvee_xu_x\land v_{jx}.$$

It then follows $$j_1\Rightarrow j_2=\bigwedge_x[(u_x\land v_{j_1x})\Rightarrow j_2].$$ Next, since $$u_x$$ and $$v_x$$ are complements of each other, $$u_x\Rightarrow j=v_x\lor j$$ and $$v_x\Rightarrow j=u_x\lor j$$. Thus $$[u_x\Rightarrow j]a=j(a\lor x)$$ and $$[v_x\Rightarrow j]a=x\Rightarrow ja$$ for every $$a$$, $$x$$ and every nucleus $$j$$.

To show that $$j(x\lor-)$$ is a nucleus, $$j(x\lor j(x\lor a))=jj(x\lor a)=j(x\lor a)$$ since $$x\leqslant jx\leqslant j(x\lor a)$$.

And, to show that $$x\Rightarrow j-$$ is a nucleus, $$x\Rightarrow j(x\Rightarrow ja)=x\Rightarrow(x\Rightarrow ja)=x\Rightarrow ja$$ since $$L_j$$ is an exponential ideal, i. e. $$b\in L_j$$ implies $$x\Rightarrow b\in L_j$$ for any $$x$$.

This gives $$[j_1\Rightarrow j_2]a=\bigwedge_x j_1x\Rightarrow j_2(a\lor x),$$ which can be also replaced by $$\tag{*} [j_1\Rightarrow j_2]a=\bigwedge_{x\geqslant a}j_1x\Rightarrow j_2x,$$ as well as $$[j_1\Rightarrow j_2]a=\bigwedge_x(a\Rightarrow x)\Rightarrow(j_1x\Rightarrow j_2x).$$

One can also use that every nucleus is a meet of nuclei of the form $$w_x$$, where $$w_x(a)=(a\Rightarrow x)\Rightarrow x$$. Namely, $$j=\bigwedge_{x\in L_j}w_x.$$ Using this, we can further replace $$(*)$$ with $$[j_1\Rightarrow j_2]a=\bigwedge_{x\geqslant a,y\in L_{j_2}}j_1x\Rightarrow((a\Rightarrow y)\Rightarrow y)$$ or as well with $$[j_1\Rightarrow j_2]a=\bigwedge_{x\geqslant a,y\in L}j_1x\Rightarrow((a\Rightarrow j_2y)\Rightarrow j_2y).$$

The version $$(*)$$ is the most concise but sometimes other versions might be more useful.

For references - all this must be in the book by Picado and Pultr, for example.

• I have been unable to find this in the book “Frames and Locales” by Picado & Pultr: they mention that every nucleus is a join of $u_a\wedge v_b$ (though they don't even seem to mention the more precise form $j = \bigvee_x u_x\wedge v_{j(x)}$ which you point out), but they don't seem to discuss computing the Heyting operation on nuclei, despite a lengthy discussion of the corresponding (“co-Heyting”, or “pseudodifference”) operation on sublocales in §VI.4.5ss. Maybe I missed this. Anyway, your answer is entirely satisfactory. Apr 18 at 15:15
• (For full completeness, I would just like to add the clarification, because you used this implicitly, that $y\mapsto j(x\vee y)$ and $y\mapsto (x\Rightarrow j(y))$ are nuclei — not merely prenuclei — whenever $j$ is a nucleus and $x\in L$. This is not hard to check, and explains why $v_x \vee j$ and $u_x \vee j$ are given by the formulæ in question.) Apr 18 at 15:19
• Added that. As for the co-Heyting structure on sublocales - the lattice of sublocales is opposite of the lattice of nuclei. I did not remember whether they have the direct version or not. Where I have seen all this (and much more) for sure is Todd Wilson's thesis. It is on researchgate, for example. Apr 18 at 16:00
• For completeness of references, (*) is theorem 23.4(2) in chapter 6 in Todd Wilson's thesis (page 95). The proof there is a bit less self-contained than that in the answer above. Apr 27 at 15:30