-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is the distribution rule not applied? #101
Comments
@HA6Bots Thanks! Would you care for a PR or for some pointers where you think this would be applied? |
Hi @pombredanne. To be honest I'm not entirely sure where it should be applied because on its own the distribution law not would be enough to simplify the above expression. See the screenshot below from this online boolean expression simplifier Their expression simplifier uses the distribution law, and then it's inverse, to manipulate the expression into a format where the absorption law can be used - allowing for the minimisation to continue till it gets the final result of I attempted to recreate this library in C++ but I ran into the same roadblock as boolean.py (in terms of full minimisation). I've yet to find an open source boolean expression simplifier that fully minimises an expression fully. I wonder how they manage to achieve this on the website? Maybe via brute forcing different combinations of rules? Seems unlikely. I would love to figure this out though. It would be great to have an full open source boolean expression simplifier. |
@HA6Bots a true boolean minimizer may not be possible ... or can take a lot of time! |
Thanks for the amazing library. However I had a query in regards to the simplification of the following expression:
(a and not (b and c)) or (a and (b and c))
The expected output would be:
a
Looking through the code during the simplification process the distributive function doesn't appear to be called.
The text was updated successfully, but these errors were encountered: