Question

How could I go about simplifying an arbitrarily complex boolean expression?

For example:

!(!a && !b || !a && b || a && !b) && !(!a && !b || !a && b || a && !b) ||
!(!a && !b || !a && b || a && !b) && (!a && !b || !a && b || a && !b) ||
(!a && !b || !a && b || a && !b) && !(!a && !b || !a && b || a && !b)

Is an extremely verbose way of saying:

a && b

I could just about do this manually by using boolean laws intuitively. Is there a programmatic approach?

How does Wolfram Alpha do it?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top