Maybe I wasn't clear.
- The order of variables in the output string had to be the same as the input string.
This means that
(abc)(b-ac)
and
(cb-a)(bca)
are equally correct input strings (they are even the same
expression
since
(a AND b AND c) OR (b AND NOT a AND c) is the
same as
(c AND b AND NOT a) OR (b AND c AND a)).
But the output of the first reduction would be
(bc)
and of the second reduction
(cb)
Of course there can be many negated variables like this:
(-a-b-c-d)(-c-da-b)
which would result in
(-b-c-d)