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!
A Boolean expression (or Logical expression) is a mathematical expression using Boolean algebra and which uses Boolean values (0 or 1, true or false) as variables and which has Boolean values as result/simplification. The expression can contain operators such as conjunction (AND), disjunction (OR) and negation (NOT).
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) ¯a∧b∧(c∨ˉd)∨ˉ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 outputs an algebraic notation.
Boolean algebra has many properties (boolean laws):
1 - Identity element: 0 is neutral for logical OR while 1 is neutral for logical AND
a+0=aa.1=a
2 - Absorption: 1 is absorbing for logical OR while 0 is absorbing for logical AND
a+1=1a.0=0
3 - Idempotence: applying multiple times the same operation does not change the value
a+a=a+a+⋯+a=aa.a=a.a.⋯.a=a
4 - Involution or double complement: the opposite of the opposite of a est a
a=¯¯a=!(!a)
5 - Complementarity by Contradiction: a AND not(a) is impossible, so is false and is 0
a.¯a=0
6 - Complementarity by excluded third: a OR not(a) is always true, so is 1
a+¯a=1
7 - Associativity law: parenthesis are useless between same operators
a.(b.c)=(a.b).c=a.b.ca+(b+c)=(a+b)+c=a+b+c
8 - Commutativity law: the order does not matter
a.b=b.aa+b=b+a
9 - Distributivity law: AND is distributed over OR but also OR is distributed over AND
a.(b+c)=a.b+a.ca+(b.c)=(a+b).(a+c)
10 - De Morgan laws (see below for more details)
¯a+b=¯a.¯b¯a.b=¯a+¯b
11 - Other simplifications by combinations of the above ones
a.(a+b)=aa+(a.b)=a(a.b)+(a.!b)=a(a+b).(a+!b)=aa+(!a.b)=a+ba.(!a+b)=a.ba.b+¯a.c=a.b+¯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:
¯(a∧b)↔(¯a)∨(¯b)⟺¯AB=¯a+¯b
¯(a∨b)↔(¯a)∧(¯b)⟺¯a+b=¯a.¯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 can imagine 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.
Part of the results come from a database containing all 2^26 combinations of the 26 letters of the alphabet for each binary value 0 or 1.
dCode retains ownership of the "Boolean Expressions Calculator" source code. Except explicit open source licence (indicated Creative Commons / free), the "Boolean Expressions Calculator" algorithm, the applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, breaker, translator), or the "Boolean Expressions Calculator" functions (calculate, convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (Python, Java, PHP, C#, Javascript, Matlab, etc.) and all data download, script, or API access for "Boolean Expressions Calculator" are not public, same for offline use on PC, mobile, tablet, iPhone or Android app!
Reminder : dCode is free to use.
The copy-paste of the page "Boolean Expressions Calculator" or any of its results, is allowed (even for commercial purposes) as long as you credit dCode!
Exporting results as a .csv or .txt file is free by clicking on the export icon
Cite as source (bibliography):
Boolean Expressions Calculator on dCode.fr [online website], retrieved on 2025-03-26,