A constraint-satisfaction framework gathers variables, domains, and constraints into a reusable CSP type. Generic variable and domain types let the same structure represent different problems. section 3.1
The framework separates representation from search:
- Variables form an array, while domains map each variable to possible values. section 3.1
- Constraints identify the variables they affect and override isSatisfied to test assignments. section 3.1
