Constraints in non-boolean contexts

Leslie De Koninck, Sebastian Brand, Peter J. Stuckey

Research output: Chapter in Book/Report/Conference proceedingConference PaperResearchpeer-review

2 Citations (Scopus)

Abstract

In high-level constraint modelling languages, constraints can occur in non-Boolean contexts: implicitly, in the form of partial functions, or more explicitly, in the form of constraints on local variables in non-Boolean expressions. Specifications using these facilities are often more succinct. However, these specifications are typically executed on solvers that only support questions of the form of existentially quantified conjunctions of constraints. We show how we can translate expressions with constraints appearing in non-Boolean contexts into conjunctions of ordinary constraints. The translation is clearly structured into constrained type elimination, local variable lifting and partial function elimination. We explain our approach in the context of the modelling language Zinc. An implementation of it is an integral part of our Zinc compiler.

Original languageEnglish
Title of host publicationTechnical Communications of the 27th International Conference on Logic Programming, ICLP 2011
Pages117-127
Number of pages11
Publication statusPublished - 1 Dec 2011
Externally publishedYes
EventInternational Conference on Logic Programming 2011 - Lexington, United States of America
Duration: 6 Jul 201110 Jul 2011
Conference number: 27th

Publication series

NameLeibniz International Proceedings in Informatics, LIPIcs
Volume11
ISSN (Print)1868-8969

Conference

ConferenceInternational Conference on Logic Programming 2011
Abbreviated titleICLP 2011
CountryUnited States of America
CityLexington
Period6/07/1110/07/11

Keywords

  • Constraint modelling languages
  • Model transformation
  • Partial functions

Cite this

De Koninck, L., Brand, S., & Stuckey, P. J. (2011). Constraints in non-boolean contexts. In Technical Communications of the 27th International Conference on Logic Programming, ICLP 2011 (pp. 117-127). (Leibniz International Proceedings in Informatics, LIPIcs; Vol. 11).