Hello forum! I have a computer science background, but my understanding of boolean expressions probably needs a refresher. I'm trying to write a program that takes a boolean expression and finds the minimal CNF or DNF for it.
Is there a general solution to this problem? I tried writing something that applied the boolean simplification rules, but it didn't work for all cases. Here is that attempt: https://github.com/tuzz/boolean_simplifier
How would such an algorithm work over something like this:
(a v b) ^ (-a v -(a ^ -a)) ^ a
Is there a general solution to this problem? I tried writing something that applied the boolean simplification rules, but it didn't work for all cases. Here is that attempt: https://github.com/tuzz/boolean_simplifier
How would such an algorithm work over something like this:
(a v b) ^ (-a v -(a ^ -a)) ^ a