1. A computerized apparatus comprising: a processor; an interface for receiving a Boolean function; a non-Boolean abstraction module configured to determine an abstracted function associated with a Boolean function received by said interface, the abstracted function is defined over a non-Boolean domain; and an input controller module configured to limit a number of inputs of the abstracted function that are assigned a Boolean value, the abstracted function is determined by said non-Boolean abstraction module.