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
are equally correct input strings (they are even the same
since (a AND b AND c) OR (b AND NOT a AND c)
same as (c AND b AND NOT a) OR (b AND c AND a)
But the output of the first reduction would be
and of the second reduction
Of course there can be many negated variables like this:
which would result in