Boolean Refactoring Tool

I am looking for a tool for refactoring a logical expression. I have expressions like

a1 => (b1 <=> c or d) AND a2 => (b2 <=> c or d) AND a2 => (b2 <=> c or d) 

The tool should be able to simplify expressions, for example. retrieving the sub-expression "c" or "d" in the above example. Is there a free computer algebra system that can do this?

I am currently thinking that refactoring expressions manually proves equivalence with a few haskell script checks.

+6
boolean-logic refactoring boolean-expression
source share
2 answers

I'm not sure about the tool, but I'll see Boolean algebra

you can draw a grid of all the inputs and outputs to try to find the minimum boolean expression

+1
source share

DMS Software Reengineering Tookit can do this.

This is a generic compiler technology for parsing languages ​​(including Java) in AST and character tables. DMS also provides source-to-source conversion, as well as associative and commutative law processing.

Your logical expressions will appear as Java AST expression trees. By providing a set of rules about Boolean algebra, you can manipulate these expression trees.

In the past, we have done this to simplify and transform Boolean expressions for C, RLL, and the system of diagnostic equations for both large-scale expressions and many medium-term expressions (like your example).

EDIT 5/19/2010: see an example of conventional algebra transformations using DMS. Its trivial is to construct a variant that instead performs Boolean algebra.

+1
source share

All Articles