Tool/Calculator to simplify or minify Boolean expressions (Boolean algebra) containing logical expressions with AND, OR, NOT, XOR.

Boolean Expressions Calculator - dCode

Tag(s) : Symbolic Computation, Electronics

dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!

A suggestion ? a feedback ? a bug ? an idea ? *Write to dCode*!

The simplification of Boolean Equations can use different methods: besides the classical development via associativity, commutativity, distributivity, etc., Truth tables or Venn diagrams provide a good overview of the expressions.

__Example:__ Original expression (LaTeX) $$ \overline{a \land b \land (c \lor \bar{d})} \lor \bar{b} $$

dCode allows several syntaxes:

**Algebraic notation**

__Example:__ !(ab(c+!d))+!b with implicit multiplication ab = a AND b and ! (exclamation) for the *bar*: logical NOT.

**Logic/Computer notation**

__Example:__ !(a&&b&&(c||!d))||!b with double character & (ampersand) for AND and the double character | (pipe, vertical bar) for logical OR.

**Literal notation**

__Example:__ NOT (a AND b AND (c OR NOT d)) OR NOT b

There may be several minimal representations for the same expression, dCode provides a solution and output an algebraic notation.

Some notations are ambiguous, avoid the functional notation 'XOR(a,b)' to write a XOR b, also avoid the suffixed prime/apostrophe to `a' and prefer !a.

**Boolean algebra** has many properties (boolen laws):

1 - Identity element : $ 0 $ is neutral for logical OR while $ 1 $ is neutral for logical AND

$$ a + 0 = a \\ a.1 = a $$

2 - Absorption : $ 1 $ is absorbing for logical OR while $ 0 $ is absorbing for logical AND

$$ a + 1 = 1 \\ a.0 = 0 $$

3 - Idempotence : applying multiple times the same operation does not change the value

$$ a + a = a + a + \cdots + a = a \\ a . a = a . a . \cdots . a = a $$

4 - Involution or double complement : the opposite of the opposite of $ a $ est $ a $

$$ a = \overline{\overline{a}} = !(!a) $$

5 - Complementarity by Contradiction : $ a $ AND $ \text{not}(a) $ is impossible, so is false and is $ 0 $

$$ a . \overline{a} = 0 $$

6 - Complementarity by excluded third : $ a $ OR $ \text{not}(a) $ is always true, so is $ 1 $

$$ a + \overline{a} = 1 $$

7 - Associativity law : parenthesis are useless between same operators

$$ a.(b.c) = (a.b).c = a.b.c \\ a+(b+c) = (a+b)+c = a+b+c $$

8 - Commutativity law : the order does not matter

$$ a.b = b.a \\ a+b = b+a $$

9 - Distributivity law : AND is distributed over OR but also OR is distributed over AND

$$ a.(b+c) = a.b + a.c \\ a+(b.c) = (a+b).(a+c) $$

10 - De Morgan laws (see below for more details)

$$ \overline{a+b} = \overline{a}.\overline{b} \\ \overline{a.b} = \overline{a}+\overline{b} $$

11 - Other simplifications by combinations of the above ones

$$ a.(a+b) = a \\ a+(a.b) = a \\ (a.b) + (a.!b) = a \\ (a+b).(a+!b) = a \\ a + (!a.b) = a + b \\ a.(!a + b) = a.b \\ a.b + \overline{a}.c = a.b + \overline{a}.c + b.c $$

Method 1: **simplify them** until you get the same writing in **boolean algebra**.

Method 2: ** by calculating their truth table ** which should be identical.

De Morgan's laws are often used to rewrite logical expressions. They are generally stated: not (a and b) = (not a) or (not b) and not (a or b) = (not a) and (not b). Here are the equivalent logical entries:

$$ \overline{(a \land b)} \leftrightarrow (\overline{a})\lor (\overline{b}) \iff \bar{AB} = \bar{a} + \bar{b} $$

$$ \overline{(a \lor b)} \leftrightarrow (\overline{a}) \land (\overline{b}) \iff \bar{a+b} = \bar{a} . \bar{b} $$

In logic, it is possible to use different formats to ensure better readability or usability.

The normal disjunctive form (DNF) uses a sum of products (SOP):

__Example:__ (a&&c)||b

The normal conjunctive form (CNF) or clausal form uses a product of sums (POS):

__Example:__ (a+b).(b+c)

The calculation steps, such as a human imagines them, do not exist for the solver. The operations performed are binary bit-by-bit and do not correspond to those performed during a resolution with a pencil and paper.

dCode retains ownership of the online 'Boolean Expressions Calculator' tool source code. Except explicit open source licence (indicated CC / Creative Commons / free), any 'Boolean Expressions Calculator' algorithm, applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or any 'Boolean Expressions Calculator' function (calculate, convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (Python, Java, PHP, C#, Javascript, Matlab, etc.) and no data download, script, copy-paste, or API access for 'Boolean Expressions Calculator' will be for free, same for offline use on PC, tablet, iPhone or Android ! dCode is free and online.

Please, check our dCode Discord community for help requests!

NB: for encrypted messages, test our automatic cipher identifier!

bool,boole,boolean,expression,algebra,logic,logical,simplify,simplification,and,or,not,xor,ampersand,pipe,exclamation,morgan

Source : https://www.dcode.fr/boolean-expressions-calculator

© 2021 dCode — The ultimate 'toolkit' to solve every games / riddles / geocaching / CTF.

Feedback

▲
Thanks to your feedback and relevant comments, dCode has developed the best 'Boolean Expressions Calculator' tool, so feel free to write! Thank you!