Domain Theory
Domain Theory is a branch of order theory that can be used to provide semantics for programming languages with recursion.
Domain theory is primarily about two things:
- defining mathematical objects by recursion, approximation, etc.
- constructing mathematical spaces that can be used to interpret data types
Many open problems in domain-theoretic modelling of programming languages are given in Jung et al. 1996.
Which of these have been resolved since?
Basics
Those two areas are sometimes known by the two slogans domains individually, and domains collectively.
Domains individually
Partial orders and information
Let
Completeness
To develop an understanding of recursion, domain theory requires a partial order to be complete. This completeness is used to define elements of "(co)limits" of finite processes.
The most common kind of completeness is directed completeness: a dcpo is a partial order that has suprema of directed subsets.
However, directed completeness is overkill for defining functions by recursion. For that it suffices to have
Continuity
Please expand
Other topics
Please expand: approximation, compact elements, algebraic cpos, ...
Domains collectively
Please expand: solving domain equations
References
- The standard reference article for domain theory is
@incollection{abramsky_domain_1994,
title = {Domain {Theory}},
volume = {3},
url = {https://www.cs.bham.ac.uk/~axj/pub/papers/handy1.pdf},
booktitle = {Handbook of {Logic} in {Computer} {Science}},
publisher = {Oxford University Press},
author = {Abramsky, Samson and Jung, Achim},
editor = {Abramsky, Samson and Gabbay, Dov M. and Maibaum, Thomas S. E.},
year = {1994},
pages = {1--168}
}
- There is a book-length account here:
@book{stoltenberg-hansen_1994,
title = {Mathematical {Theory} of {Domains}},
isbn = {978-1-139-16638-6},
publisher = {Cambridge University Press},
author = {Stoltenberg-Hansen, V. and Lindstr\"{o}m, I. and Griffor, E. R.},
year = {1994},
doi = {10.1017/CBO9781139166386}
}
- The following are books on denotational semantics of programming languages, but also contain material on various domain-theoretic constructions.
- Many open problems in modelling the semantics of programming languages using domain theory as of 1996 are given in
@article{jung_1996,
title = {Domains and {Denotational} {Semantics}: {History}, {Accomplishments} and {Open} {Problems}},
volume = {59},
journal = {Bulletin of the European Association for Theoretical Computer Science},
author = {Jung, A. and Fiore, M. P. and Moggi, E. and O'Hearn, P. and Riecke, J. and Rosolini, G. and Stark, I.},
year = {1996},
pages = {227--256}
}