[aus.wanted] Boolean expression mimimalisation.

davidd@bruce.OZ (David Duke) (07/20/89)

Does anyone know of a software routine, preferably public domain with source
code, that can minimise boolean expressions.

From a given boolean expression I want to be able to do the following;
        1. optionally invert the expression and then
        2. find a minimised expression and
        3. express the result as Sum Of Products (Disjunctive Normal Form).

As an example.
The original expression,
busLAST := !datatime*singleRead
        +datatime*last*busIRead
        +datatime*last*!repeatWrite*!busIRead;

after inversion and simplifying into SOP form,
notBusLAST := !datatime*!singleRead
        +datatime*!last
        +datatime*last*!busIRead*repeatWrite;

where and = *, or = +, not = !.

As there may be a number of simplified solutions, one with a minimum number
of product lines is required.