Change search
ReferencesLink to record
Permanent link

Direct link
Boolean constraints in SICStus Prolog
Number of Authors: 1
1991 (English)Report (Refereed)
Abstract [en]

This report documents the implementation of a Boolean constraint solver and its integration with a Prolog engine. The solver comprises built-in predicates for checking consistency and entailment of a new constraint w.r.t. accumulated constraints and for generating particular solutions to a set of constraints, and extensions to the Prolog top-level for displaying answer constraints. Boolean unification was chosen as the strategy for the consistency check. Boolean unification fits well with the Prolog execution model, and allows the accumulated constraints to be associated in a natural way with the variables being eliminated. The answer constraints are computed by existentially quantifying in the accumulated set of constraints all variables not occurring in the user query. The simplified set of constraints constitutes the answer constraints. Boolean formulas are internally represented as DAGs. Details are provided on this representation and the support for it provides by Prolog Engine. We have investigated various optimizations of the Boolean unification algorithm, and a preliminary performance evaluation is included.

Place, publisher, year, edition, pages
Swedish Institute of Computer Science , 1991, 1. , 21 p.
SICS Technical Report, ISSN 1100-3154 ; T91:09
National Category
Computer and Information Science
URN: urn:nbn:se:ri:diva-22148OAI: diva2:1041691
Available from: 2016-10-31 Created: 2016-10-31

Open Access in DiVA

fulltext(2083 kB)3 downloads
File information
File name FULLTEXT01.pdfFile size 2083 kBChecksum SHA-512
Type fulltextMimetype application/pdf

Computer and Information Science

Search outside of DiVA

GoogleGoogle Scholar
Total: 3 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

ReferencesLink to record
Permanent link

Direct link