![A,B] = ([!A,B] + [A,!B] + [!A,!B]) This is wrong: !(D1+D2) = !D1 + !D2 !(D1+D2) = !D1 * !D2 Add: !D1*D2 = !D1 + !D2 !(D1.D2) = !D1 . D2 + D1 . !D2 // not correct The following not correct either: !(D1.D2) = !D1 . D2 + D1 . !D2 + [Source(D1),!Target(D1)].[!Target(D1),Target(D2)] !([A,B].[B,C]) = ![A,B].[B,C] + [A,B].![B,C] = ([!A,B] + [A,!B] + [!A,!B]).[B,C] + [A,B].([!B,C] + [B,!C] + [!B,!C]) = [!A,B].[B,C] + [A,B].[B,!C] // miss: + [A,!B].[!B,C] = [!A,B].[B,C] + [A,B].[B,!C] + [A,!B].[!B,C] = negation of negation: !![A,B] = !([!A,B] + [A,!B] + [!A,!B]) = ![!A,B] + ![A,!B] + ![!A,!B] = [A,!B] + [!A,B] + [A,B] // something wrong with union? Recheck: !![A,B] = !((([!A,B] + [A,!B]) + [!A,!B])) = !([!A,B] + [A,!B]) * ! [!A,!B] = ![!A,B] * ![A,!B] * ! [!A,!B] = ([A,B] +[!A,!B] [A,!B]) * ([!A,!B]+[A,B]+[!A,B])*([A,!B]+[!A,B]+[A,B]) = (... + [A,B] + ...) * (... + [A,B] + ...) * (... + [A,B] + ...) = [A,B] =