booldnf (1) - Linux Manuals

booldnf: converts a boolean expression to the DNF


booldnf - converts a boolean expression to the DNF


echo 'a&(!b|c&!d)' | booldnf > result.txt


booldnf is a program that reads boolean expressions from its standard input and rewrites them in Disjunctive Normal Form on its standard output. It uses the BoolStuff library.

The Disjunctive Normal Form is an ORing of ANDed terms. In other words, if the OR is considered an additive operation and the AND a multiplicative operation, then the DNF is a sum of products.

Each expression must be on its own text line. Variable names must be composed only of ASCII letters and digits.

The AND operator is &, the OR operator is |, and the NOT operator is !. Parentheses are allowed.

The command flushes its output buffer after each result or error message, to make sure that it can be used with bidirectional pipes. Results and error messages always take exactly one text line.


The command
echo 'a&(!b|c&!d)' | booldnf

should display



This program is free software; you may redistribute it under the terms of the GNU General Public License. This program has absolutely no warranty.


See the boolstuff(3) manual page.


See the boolstuff(3) manual page.