Abstract
We develop a denotational, fully abstract semantics for constraint logic programming (clp) with respect to successful and failed observables. The denotational approach turns out very useful for the definition of new operators on the language as the counterpart of some abstract operations on the denotational domain. In particular, by defining our domain as a cylindric Heyting algebra, we can exploit, to this aim, operations of both cylindric algebras (such as cylindrification), and Heyting algebras (such as implication and negation). The former allows us to generalize the clp language by introducing an explicit hiding operator; the latter allows us to define a notion of negation which extends the classical negation used in logic programming. In particular, we show that our notion subsumes both negation as failure and negation as instantiation.
| Original language | English |
|---|---|
| Pages (from-to) | 1-38 |
| Number of pages | 38 |
| Journal | Journal of Logic and Computation |
| Volume | 7 |
| Issue number | 1 |
| DOIs | |
| Publication status | Published - 1 Jan 1997 |
| Externally published | Yes |
Keywords
- Constraint logic programming
- Cylindric algebras
- Distributive lattices
- Heyting negation
- Negation as instantiation
Fingerprint
Dive into the research topics of 'An algebraic perspective of constraint logic programming'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver