Describing semantic domains with sprouts

SummaryIn denotational semantics the meaning of a construct of a programming language is modelled by an element of a (semantic) domain. Domains are essentially ordered sets, in which every element may be approximated by a directed set of compact elements. We propose a new approach to domain construction using directed systems of certain finite subsets of a domain called sprouts. Every element of the domain can be considered as growing out from the sprouts, i.e., it can be uniquely approximated by an element of any given sprout. Sprouts consist only of compact elements and every compact element is contained in some of the sprouts. The directed system of sprouts fits neatly to the usual domain constructions, so we are able to describe the approximations of an element of a composed domain by the corresponding approximations in the component domains very exactly. Furthermore, we get a constructive and less abstract description of profinite domains than given by C. Gunter with one added feature: Given a domain functional τ, the inverse limit of the retraction sequence1, τ[1,], τ2[1,], ... is indeed the least of a certain subset of fixed points of τ, namely of those being the vertex of a cone that is “definable” in some sense.