There are algorithms to convert truth table with multiple variable to a DNF (Disjunctive normal form). Is there a similar concept which can be generalized for variables taking a limited set of values?
For example, from this truth table we can compose DNF:
(¬A∧¬B∧¬D) ∨ (¬A∧B∧C) ∨ (A∧B∧D) ∨ (A∧¬B∧¬C)

Is there any automatic tools or algorithms which might help me to convert tables like this:
into the list of predicates composed of OR, AND, = ?
Result:
- (a = A2) -> 1
- ((a = A3) AND (b = B2)) -> 1
- otherwise -> 0
Each variable have a limited set of possible values. In my case I have 3 variable, each of them can take up to 30 different values.
