We can break down a Constraint Satisfaction Problem (CSP) into:

  • a finite set of variables defines all elements that need to be given a value in the problem
  • a set of domains defines what possible values can be assigned to each variable
  • a set of constraints rules that dictate a relation between variables in each constraint is a pairing of scope and relation

A CSP solution is an instance of all variables in using vales in that satisfies all constraints in .