dnf ( expr -- dnf ) (original) (raw)

Vocabulary
boolean-expr

Inputs

expr a

Outputs

dnf an array

Word description
Convert the expr to Disjunctive Normal Form (DNF), i.e. an array of subexpressions, each not containing disjunctions. See https://en.wikipedia.org/wiki/Disjunctive_normal_form.

Examples

USING: boolean-expr prettyprint ; X Y Z ⋀ ⋀ dnf .
{ { X Y Z } }

USING: boolean-expr prettyprint ; X Y Z ⋁ ⋁ dnf .
{ { X } { Y } { Z } }

Definition

USING: multi-methods ;

IN: boolean-expr

GENERIC: dnf ( expr -- dnf )