ブール式をリファクタリングするツールを探しています。のような表現があります。
a1 => (b1 <=> c or d) AND
a2 => (b2 <=> c or d) AND
a2 => (b2 <=> c or d)
ツールは、式を単純化できる必要があります。たとえば、上記の例のサブ式「c または d」を抽出します。これを行うことができる無料のコンピューター代数システムはありますか?
現在、式を手動でリファクタリングして、小さな haskell クイックチェック スクリプトで同等性を証明することを考えています。