Задача: Дана ДНФ. Необходимо найти ДНФ, получающуюся из исходной применением всех возможных операций обобщенного склеивания.
Насколько я понял, обобщенное склеивание выглядит так:

.
Из исходной ДНФ составим матрицу следующим образом: i-я строка будет соответствовать i-ой элементарной коньюнкции(ЭК); j-й столбец будет соответствовать j-ой переменной; на пересечении i-ой строки и j-го столбца стоит стоит -1, если j-ой переменной нет в i-ой ЭК, 0 если j-ая переменная входит в i-ую ЭК с отрицанием, 1 - если без отрицания. Элементы будем обозначать как в обычной матрице,

Проделаем следующие операции:
Возьмем элемент

(если он равен -1 то переходим к

). Будем искать i-ую строку, где элемент

неравен нашему элементу

и вся остальная строка тоже не совпадает с первой строкой. Тогда, при условии что нет такого k, что

или

, в конец матрицы мы добавляем новую строку по следующему правилу: на k-ом столбце стоит:
-1, если

и

;
0, если

и

или

и

или

и

;
1, если

и

или

и

или

и

;
а на j-ом столбце будет стоять -1.
Так мы переберем все элементы первой строки.
Потом перейдем ко второй строке, и переберем все элементы второй строки. И так далее пока не переберем все строки(включая и те, которые мы в процессе добавляли).
Если переделать получившуюся матрицу в привычную нам ДНФ, будет ли это решением задачи?