1. A computer readable medium having instructions stored thereon that, when executed by a processor, causes the processor to solve a constraint satisfaction problem (CSP), the CSP comprising a network of variables and constraints, the instructions comprising: receiving a sub-expression; determining if the sub-expression is an internal constraint of the CSP, the internal constraint having a supporting operator expression; and determining one or more top constraint expressions associated with the supporting operator expression if the sub-expression is an internal constraint.