Simplifier l'algorithme d'expression booléenne

Quelqu'un sait d'un algorithme afin de simplifier des expressions booléennes?

Je me souviens de l'algèbre booléenne et Karnaught cartes, mais c'est prévu pour le matériel numérique où EVERITHING est un booléen. Je voudrais quelque chose qui prend en compte le fait que certains sous-expressions ne sont pas de type boolean.

Par exemple:

a == 1 && a == 3

cela pourrait être traduite en une pure expression booléenne:

a1 && a3 

mais c'est l'expression est irréductible, alors qu'avec un peu de connaissance de l'arithmétique everibody peut déterminer que l'expression est juste:

false

Certains corps connaît quelques liens?

source d'informationauteur Olmo