Let us continue last month’s story. We had define various structures of convergence spaces on a dcpo, which were all admissible in the sense that their topological modification is the Scott topology.

Amongst those, *Heckmann convergence* is defined by lim_{H }*F* = cl (∪ {*A*^{↓} | *A* ∈ *F*}), for every filter *F* of subsets of a dcpo *X*, where cl is Scott closure. We had seen that *Scott convergence* was instead defined by lim_{S} *F *= adh (∪ {*A*^{↓} | *A* ∈ *F*}), where adh(*B*) is the set of elements below suprema of directed families included in the downwards-closed subset *B*—in general closure is obtained by iterating adh transfinitely.

## The case of products

There is a very nasty pitfall concerning products in domain theory: in general, the product of two dcpos as posets is different from their product as topological spaces. Explicitly, let us write *Z*_{σ} for a poset *Z* seen as a topological space with the Scott topology. The pitfall is that if you take two dcpos *X* and *Y*, build their product *X* x *Y* as dcpos, and then take the Scott topology (*X* x *Y*)_{σ, }then what you will get will of course have the same points as the topological product *X*_{σ} x *Y*_{σ}, but the topology will in general be different (see Exercise 5.2.16 in the book).

This has apparently caught a few people, including myself—and despite me knowing of the problem.

That problem does not occur with continuous dcpos, or even continuous posets.

One nice observation due to Reinhold Heckmann [1] is that the problem disappears completely once you see dcpos as convergence spaces, using Heckmann convergence, instead of topological spaces.

Let us investigate that. Let us write *Z*_{H} for a dcpo *Z* equipped with its Heckmann convergence lim_{H}. Then:

**Proposition.** For all dcpos *X*, *Y*, (*X* x *Y*)_{H}=*X*_{H} x *Y*_{H}.

The product on the right is product of convergence spaces. Explicitly, for a filter *F* of subsets of *X*_{H} x *Y*_{H}, the convergence on the right is given by lim *F* = lim_{H }π_{1} [*F*] x lim_{H }π_{2} [*F*]. (The direct image *f*[*F*] of a filter *F* denotes the filter {*A* | *f*^{-1}(*A*) ∈ *F*}.) Equivalently, the proposition means that lim_{H }π_{1} [*F*] x lim_{H }π_{2} [*F*] = lim_{H }*F*.

Proof. We recall from last time that ∪ {*A*^{↓} | *A* ∈ *F*} is also the union of all ideals *I* such that for every element *z* of *I*, ↑*z* is in *F*. Hence lim_{H }*F* = cl (∪ {*I* ideal of *X* x *Y *| for every *z* ∈ *I*, ↑*z* ∈ *F*}).

When *F* is a filter of subsets of *X* x *Y*, we must therefore examine the ideals *I* of *X* x *Y* such that for every (*x*,*y*) in *I*, ↑(*x*,*y*) is in *F*. It is an easy exercise to show that the ideals of *X* x *Y* are exactly the products of two ideals, one in *X*, the other one in *Y*. (Or use Proposition 8.4.7 of the book, which says that the irreducible closed subsets of a product of spaces are the products of irreducible closed subsets; Fact 8.2.49, which implies that the irreducible closed subsets of a poset in its Alexandroff topology are exactly its ideals; and Exercise 4.5.19, which says that products of posets, seen with their Alexandroff topologies, is exactly the topological product.)

Therefore lim_{H }*F* = cl (∪ {*I* x *J* | *I* ideal of *X*, *J* ideal of *Y*, and for all *x* ∈ *I*, *y* ∈ *J*, ↑(*x*,*y*) ∈ *F*}).

For every pair (*x*,*y*) in the union inside the closure, there is an ideal *I* of *X* containing *x*, an ideal *J* of *Y* containing *y* such that for all *x’* ∈ *I*, *y’* ∈ *J*, ↑(*x’*,*y’*) ∈ *F*. Now ↑(*x’*,*y’*) = ↑*x’* x ↑*y’* is included in ↑*x’* x *Y* = π_{1}^{-1}(↑*x’*), so the latter is in *F*. In turn, that means that ↑*x’* is in π_{1} [*F*]. Similarly, ↑*y’* is in π_{2} [*F*]. We obtain that *I* is an ideal containing *x* such that every *x’* in *I* satisfies ↑*x’* ∈ π_{1} [*F*], so *x* is in lim_{H }π_{1} [*F*]. Similarly *y* is in lim_{H }π_{2} [*F*]. Hence lim_{H }*F* is included in lim_{H }π_{1} [*F*] x lim_{H }π_{2} [*F*].

In the converse direction, we first notice that cl(*A*) x cl(*B*) = cl (*A* x *B*), for all subsets *A* and *B*. Indeed, cl(*A*) x cl(*B*) is closed and contains *A* x* B*, hence cl (*A* x *B*). If the inclusion were strict, there would be a point (*x*,*y*) in cl(*A*) x cl(*B*) but not in cl (*A* x *B*). Since the latter is closed, there would be an open rectangle *U* x* V* containing (*x*,*y*) and which does not intersect cl (*A* x *B*). But *U* intersects cl(*A*) at *x*, hence *U* intersects *A*, and similarly *V* intersects *B*, leading to a contradiction.

Letting *A* be the union of all ideals *I* of *X* such that for every element *x* of *I*, ↑*x* is in π_{1} [*F*], and *B* be the union of all ideals *J* of *Y* such that for every element *y* of *J*, ↑*y* is in π_{2} [*F*], lim_{H }π_{1} [*F*] x lim_{H }π_{2} [*F*] is then equal to cl (*A* x *B*). In order to show that lim_{H }π_{1} [*F*] x lim_{H }π_{2} [*F*] is included in lim_{H }*F*, we only have to show that *A* x *B* is included in lim_{H}* _{ }F*.

Let (*x*,*y*) in *A* x *B*. There is an ideal *I* of *X* such that for every element *x’* of *I*, ↑*x’* is in π_{1} [*F*]. There is also an ideal *J* of *Y* such that for every element *y**‘* of *J*, ↑*y**‘* is in π_{2} [*F*]. Then, for every (*x’*, *y’*) in *I *x *J*, ↑*x’* x *Y* is in *F* and *X* x ↑*y**‘* is in *F*. Their intersection ↑*x’* x ↑*y**‘* = ↑(*x’*,*y**‘*) is then also in *F*. Since *I* x *J* is an ideal, (*x*,*y*) is in ∪ {*I* x *J* | *I* ideal of *X*, *J* ideal of *Y*, and for all *x’* ∈ *I*, *y’* ∈ *J*, ↑(*x’*,*y’*) ∈ *F*}, hence in its closure lim_{H }*F*. ☐

I will let you check that this works equally well with Scott convergence, namely: not only do we have lim_{H}* _{ }F* = lim

_{H }π

_{1}[

*F*] x lim

_{H }π

_{2}[

*F*], but lim

_{S}

*= lim*

_{ }F_{S }π

_{1}[

*F*] x lim

_{S }π

_{2}[

*F*] is true as well. The proof is the same, except that we must show that adh(

*A*) x adh(

*B*) = adh (

*A*x

*B*), for all downwards-closed subsets

*A*and

*B*(exercise).

The previous proposition also entails that the topological modification of a product of convergence spaces is in general different from the topological product of the topological modifications: otherwise dcpo product would coincide with topological product as well.

A categorical reading of the previous proposition is that:

**Proposition [1].** The functor __{H}, which maps every dcpo *X* to *X*_{H}, also preserves products.

Proof. The only thing that we have not proved here is that __{H} is indeed a functor. For that, we should specify its action on morphisms: for every Scott-continuous map *f* from a dcpo *X* to a dcpo *Y*, we let *f*_{H} be *f* itself, seen as a continuous map between convergence spaces. Of course, we need to check that *f* is continuous in the sense of convergence spaces! I will let you do the exercise. This rests on elementary reasoning with ideals and filters of subsets, plus the easily proved inclusion *f*[cl(*A*)] ⊆ cl(*f*[*A*]). ☐

Similarly, there is a functor __{S}, and it too preserves products, because *f*[adh(*A*)] ⊆ adh(*f*[*A*]).

## Function spaces

Both the category **Dcpo** of dcpos and the category **Conv** of convergence spaces are Cartesian-closed, and one may therefore wonder whether the functor __{H }also preserves exponential objects (function spaces, either with the pointwise ordering in **Dcpo**, or with the continuous convergence in **Conv**).

I do not know whether this is true or not. (I hope I have not missed anything in [1].) For the moment, let us see what we can say.

Consider two dcpos *X* and *Y*. Write [*X* → *Y*] for the dcpo of Scott-continuous maps from *X* to *Y*, and [*X*_{H }*→ Y*_{H}] for the convergence space of all continuous map from the convergence space *X*_{H} to *Y*_{H}. The former yields a convergence space [*X* → *Y*]_{H}. Writing App for the application morphism (App sends (*f*,*x*) to *f*(*x*)) and Λ for currying (“evaluation”: Λ(*f*)(*x*) is the map *f*(*x*,_)), in any of our two Cartesian-closed categories—this is made possible by the fact that, set-theoretically, those acts on elements in exactly the same way, and will allow us a benign form of cheating below—, we have that:

- App is a Scott-continuous map from [
*X*→*Y*] x*X*to*Y*; - Hence App is a continuous map from ([
*X*→*Y*] x*X*)_{H}to;*Y*_{H} - Since _
_{H }preserves product, App is continuous from [*X*→*Y*]_{H}x*X*_{H}to;*Y*_{H} - So Λ(App), which is just the identity map, is continuous from [
*X*→*Y*]_{H}to [*X*_{H }*→ Y*_{H}].

We can say a bit more:

**Lemma.** For any two dcpos *X* and *Y*, every continuous map *f* from *X*_{H }to* Y*_{H }is Scott-continuous from *X* to *Y*. (We already know the converse.)

Proof. The map *f* defines a continuous map from the topological modification of *X*_{H }to the topological modification of* Y*_{H}. Indeed, one checks easily that every continuous map in the sense of convergence spaces is also continuous in the topological sense, on the topological modifications. So *f* is continuous from *X* with its Scott topology to *Y* with its Scott topology. That implies that *f* is Scott-continuous (see Proposition 4.3.5 in the book, for example). ☐

Hence [*X* → *Y*]_{H} and [*X*_{H }*→ Y*_{H}] have exactly the same elements, and since the identity map is continuous from [*X* → *Y*]_{H} to [*X*_{H }*→ Y*_{H}], the Heckmann convergence on [*X* → *Y*]_{H }is *finer* than the continuous convergence on [*X*_{H }*→ Y*_{H}].

The same can be said for the Scott convergence. But this is a consequence of what we have just discovered about the Heckmann convergence. Indeed, last time, we have seen that lim_{S}*F *⊆ lim_{H}*F* for every filter *F*, and that means that Scott convergence is finer than Heckmann convergence. Since Heckmann convergence is finer than the continuous convergence, certainly the same holds for Scott convergence.

Although I do not know whether Heckmann convergence coincides with continuous convergence on function spaces, we *do* know that Scott convergence does not coincide with continuous convergence in general. Indeed, if it did, then it would also coincide with Heckmann convergence, and we have seen last time that this implies that [*X* → *Y*] is a continuous dcpo. That fails in general even if we assume that *X* and *Y* are continuous dcpos. (The canonical counterexample, which I would say is due to Achim Jung, is given by taking both *X* and *Y* equal to the dcpo of negative integers with the usual ordering.)

## Conclusion

There is plenty of additional material in [1]. Notably, Heckmann convergence, which is called the *cotopological* convergence structure on a dcpo by Heckmann, is shown to have a number of intriguing duality properties with respect to the *topological* view of dcpos *X* as the topological space *X*_{σ} (with the Scott topology).

For example, he shows that for every dcpo *X*, and every topological space *Y*, [*X*_{H }*→ Y*] (as formed in **Conv**, and writing *Y* for its topological modification) is topological, and that continuous convergence coincides with pointwise convergence, namely that the convergence on [*X*_{H }*→ Y*] is convergence for the topology of pointwise convergence, which Heckmann calls the point-open topology: the coarsest topology such that *f* ↦ *f*(*x*) is continuous for every *x* in *X* [1, Corollary 43].

He also shows that for every topological space *X*, and every complete lattice *Y* (not just dcpo), [*X*_{ }*→ Y*_{H}] is itself a complete lattice, and continuous convergence is Heckmann convergence [1, Theorem 33].

Finally, he shows that, for every complete lattice *Y*, *Y*_{H} is injective in **Conv**, generalizing the fact that the injective topological spaces are the continuous complete lattices.

- Reinhold Heckmann. A Non-Topological View of Dcpos as Convergence Spaces.

Theoretical Computer ScienceVolume 305, Issues 1–3, 18 August 2003, Pages 159-186.