17. The method of claim 13 further comprises providing all satisfactory assignments of the abstracted function.
13. A method comprising: obtaining a Boolean function; constructing an abstracted function associated with the Boolean function, the abstracted function is defined over a non-Boolean domain; adding a limitation on a number of inputs of the abstracted function which are assigned a Boolean value, said adding the limitation is performed using a processor, the limitation comprising: defining a control variable associated with an input; and defining a cardinality constraint over a value of one or more control variables; whereby the Boolean function is transformed to the abstracted function, the abstracted function is configured to be satisfied by a partial assignment; and utilizing a SAT solver to determine a partial assignment that satisfies the abstracted function.