SYNOPSIS

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

DESCRIPTION

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

LICENSE

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

AUTHOR

See the boolstuff(3) manual page.

BUGS

See the boolstuff(3) manual page.