Search code examples
boolean-logicboolean-expressionboolean-operations

Boolean algebra simplification to lowest form


I am relearning Boolean algebra for a class, but I cant seem to simplify this expression any further. It is possible that its fully simplified but I wanted a second opinion.

the expression:

(!a*!b*!c)+(!c*(b*a))+(!a*(c*b)) where * is and ; + is or

Solution

  • First:

    (!a * !b * !c) == !(a + b + c)
    

    Second:

    (!c * (b * a)) == (!c * b * a)
    

    Now the second and third ORed sections can be simplified to:

    b * a ^ c
    

    Where ^ is an XOR (exclusive OR: either a or c, but not both). If you take the order of precedence of operators into account, you may be able to discard even more parentheses, but to play it safe:

    !(a + b + c) || (b * a ^ c)