Abstract
Languages based on logical variables can regard finite domains, finite exclusions, and, generally, types as values. Like a variable can be bound to a non-ground structure which can be later specialized through in-place assignment of some inner variables, it can also be bound to, say, a domain structure which can be specialized later through ‘in-place deletion’ of some of its elements (e.g. by intersection with other domain structures). While finite domains prescribe the elements of a disjunctive structure, the complementary finite exclusions forbid the elements of a conjunctive structure. Domains and exclusions can be values of variables or occur inside clauses as/in terms or within an occurrence-binding construct (useful to name arbitrary terms). In a relational-functional language (e.g., RELFUN) they can also be returned as values of functions. Altogether, domains and exclusions become first-class citizens. Because they are completely handled by an extended unification routine, they do not require delay techniques needed in (more expressive) constraint systems. Still, their backtracking-superseding ‘closed’ representation leads to smaller proof trees (efficiency), and abstracted, intensional answers (readability). Anti-unification (for generalization) exchanges the roles of domains and exclusions. The operational semantics of domains, exclusions, and occurrence bindings is specified by a RELFUN meta-unify function (and implemented in pure LISP).
Preview
Unable to display preview. Download preview PDF.
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
(1999). Finite domains and exclusions as first-class citizens. In: A Tight, Practical Integration of Relations and Functions. Lecture Notes in Computer Science, vol 1712. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0103295
Download citation
DOI: https://doi.org/10.1007/BFb0103295
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66644-8
Online ISBN: 978-3-540-48064-8
eBook Packages: Springer Book Archive