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, wherein the non-Boolean domain is a three-valued 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, wherein said input controller module comprises: a control variable definer for defining a control variable associated with an input of the abstracted function; and a cardinality constraint module for defining a cardinality constraint associated with values of one or more control variables.