重构布尔表达式的工具

ord*_*rig 6 refactoring boolean-logic boolean-expression

我正在寻找一个重构布尔表达式的工具.我有像这样的表情

a1 => (b1 <=> c or d) AND 
a2 => (b2 <=> c or d) AND
a2 => (b2 <=> c or d) 
Run Code Online (Sandbox Code Playgroud)

该工具应该能够简化表达式,例如在上面的例子中提取子表达式"c或d".是否有免费的计算机代数系统可以做到这一点?

目前我想手动重构表达式,用一点haskell quickcheck脚本证明等价.

Sco*_*wan 1

我不确定有什么工具,但看看布尔代数

您可以绘制所有输入和输出的网格来尝试找到最小布尔表达式