dpll_apply_assignments(executor, constraints, assignments)[source]#

Apply the assignments to the constraints. Essentially, it replaces all variables that have been determined in the assignment dictionary with the value.

This function will also check all the constraints to make sure that the assignments are valid. When a constraint is invalid, this function will raises CSPNotSolvable. Otherwise, constraints that have been satisfied will be removed from the list.


the list of constraints that have not been satisfied.

Return type:

List[Constraint | GroupConstraint | None]