This chapter presents the heart of the XDG development kit, viz. the XDK solver, a solver for specialized constraint satisfaction problems (CSPs). These CSPs are defined by:
The CSP is split up into a set of dimensions, each of which uses a set of principles.
The principles are either taken from a predefined principle library, or can be conveniently written in a First-Order Logic using the principle compiler PrincipleWriter.
A principle definition includes:
We give an overview of the library in Principle overview (Principles overview). In Principle list (Principles list), we explain the whole range of principles in the current library.
Developers only: The node record is the internal representation of a node in a solution. We explicate it in Node record. In Writing new principles we explain how to write new principles.
-- developers only --