CSPs consist of: variables, domains, constraint matrices.
Assign a domain value to each variable such that constraints are satisfied.