[TYPES] ordering lemmas about powerdomain operations
Brian Huffman
brianh at cs.pdx.edu
Thu Jul 24 21:23:10 EDT 2008
Quoting Thomas Streicher <streicher at mathematik.tu-darmstadt.de>:
> The lemma you mention is obvious from the way how the Smyth (i.e.
> upper) powerdomin
> is constructed, namely as nonempty compact upward closed subsets of
> the domain
> ordered by \supseteq. From this it is trivial.
> Moreover one has in the Smyth powerdomain x \sqsubseteq y if x \cup y = x.
>
> Information about powerdomains can be found in the respective papers
> by Plotkin
> and Smyth from the 70ies.
> You might want to have a look at
>
> http://homepages.inf.ed.ac.uk/gdp/publications/Domains.ps
>
> for example.
>
> Thomas
I'm not sure that I am familiar with the construction of the upper
powerdomain that you describe, unless you are referring to the
construction of Smyth powerdomains over flat element types from the
linked paper. I failed to specify in my original question, but I am
interested in element types that are arbitrary omega-bifinite domains.
In my formalization I construct three varieties of powerdomains using
ideal completion, with a basis Pfin(K(a)) consisting of nonempty
finite sets of compact elements, as described in Abramsky and Jung
(1994) and elsewhere.
For the upper powerdomain, the preorder relation is
xs << ys == forall y in ys, exists x in xs, such that x << y.
That is, everything in ys is above something in xs. From this
definition it is indeed obvious that the following property holds for
elements of the *basis*,
where (+) is ordinary set-union and {-} is the singleton set:
xs + ys << {z} if and only if xs << {z} or ys << {z}
However, I am more interested in the version of this lemma for the
completed powerdomain, where (+) and {-} refer to the continuous
extensions of the union and singleton operations on the basis.
Some properties (like xs + ys << xs, or xs + ys = ys + xs) are easy to
transfer from the basis to the ideal completion, since they are
admissible predicates in either variable. However, a property like (xs
+ ys << {z} --> xs << {z} or ys << {z}) is not an admissible
predicate, because it has an implication. The only proof I could find
is rather tricky, and relies on the underlying element type being
bifinite.
Here is the full list of other (seemingly-obvious) lemmas that
required a similar trick to prove:
{x} << ys + zs iff {x} << ys or {x} << zs (lower)
{x} << ys + zs iff {x} << ys and {x} << zs (convex)
xs + ys << {z} iff xs << {z} and ys << {z} (convex)
{x} << {y} iff x << y (upper, lower, and convex)
Of course, it is entirely possible that these have much easier proofs
that I just failed to find. Alternatively, using a different
construction besides ideal completion might yield easier proofs of
these properties, but I have only seen such an alternative
construction for the lower powerdomain (described in the Plotkin notes
you linked, as well as the Wikipedia "Power domains" article).
- Brian
More information about the Types-list
mailing list