domain theory
domain theory
[dō′mān ‚thē·ə·rē]domain theory
(theory)In denotational semantics of programming languages, themeaning of a program is taken to be an element of a domain. Adomain is a mathematical structure consisting of a set ofvalues (or "points") and an ordering relation, <= on thosevalues. Domain theory is the study of such structures.
("<=" is written in LaTeX as \\subseteq)
Different domains correspond to the different types of objectwith which a program deals. In a language containingfunctions, we might have a domain X -> Y which is the set offunctions from domain X to domain Y with the ordering f <= giff for all x in X, f x <= g x. In the pure lambda-calculusall objects are functions or applications of functions toother functions. To represent the meaning of such programs,we must solve the recursive equation over domains,
D = D -> D
which states that domain D is (isomorphic to) some function space from D to itself. I.e. it is a fixed point D = F(D)for some operator F that takes a domain D to D -> D. Theequivalent equation has no non-trivial solution in set theory.
There are many definitions of domains, with differentproperties and suitable for different purposes. One commonlyused definition is that of Scott domains, often simply calleddomains, which are omega-algebraic, consistently completeCPOs.
There are domain-theoretic computational models in otherbranches of mathematics including dynamical systems,fractals, measure theory, integration theory,probability theory, and stochastic processes.
See also abstract interpretation, bottom, pointed domain.