dpll_filter_deterministic_clauses(executor, constraints, assignments)[source]#
Filter out Boolean constraints that have been determined. For example, AND(x, y, z) == true, then

x == true, y == true, z == true. This function will remove the AND(x, y, z) constraint.

There is another case that this function handles: for Boolean constraints, if everything on the LHS is determined, then we can determine the RHS.


a tuple of (whether we have made progress, the list of constraints that have not been satisfied).

Return type:

Tuple[bool, List[Constraint | GroupConstraint | None]]