max planck institut
informatik

# MPI-I-91-227

## Logic programming with pseudo-Boolean constraints

### Bockmayr, Alexander

MPI-I-91-227. December 1991, 20 pages. | Status: available - back from printing | Next --> Entry | Previous <-- Entry

Abstract in LaTeX format:
Boolean constraints play an important role in various constraint logic programming languages. In this paper we consider pseudo-Boolean constraints, that is equations and inequalities between pseudo-Boolean functions. A pseudo-Boolean function is an integer-valued function of Boolean variables and thus a generalization of a Boolean function. Pseudo-Boolean functions occur in many application areas, in particular in problems from operations research. An interesting connection to logic is that inference problems in propositional logic can be translated into linear pseudo-Boolean optimization problems. More generally, pseudo-Boolean constraints can be seen as a particular way of combining two of the most important domains in constraint logic programming:
arithmetic and Boolean algebra.

In this paper we define a new constraint logic programming language {\em CLP(PB)} for logic progamming with pseudo-Boolean constraints. The language is an instance of the general constraint logic programming language scheme {\em CLP(X)} and inherits all the typical semantic properties. We show that any pseudo-Boolean constraint has a most general solution and give variable elimination algorithms for pseudo-Boolean unification and unconstrained pseudo-Boolean optimization. Both algorithms subsume the well-known Boolean unification algorithm of B\"uttner and Simonis.
Acknowledgement:
References to related material:

MPI-I-91-227.pdf82 KBytes; 132 KBytes
Please note: If you don't have a viewer for PostScript on your platform, try to install GhostScript and GhostView
URL to this document: http://domino.mpi-inf.mpg.de/internet/reports.nsf/NumberView/1991-227
BibTeX
@TECHREPORT{Bockmayr91,
AUTHOR = {Bockmayr, Alexander},
TITLE = {Logic programming with pseudo-Boolean constraints},
TYPE = {Research Report},
INSTITUTION = {Max-Planck-Institut f{\"u}r Informatik},