SYNOPSIS
echo 'a&(!b|c&!d)' | booldnf > result.txtDESCRIPTION
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.
EXAMPLES
The command- echo 'a&(!b|c&!d)' | booldnf
should display
- a&c&!d|a&!b