Хорошо бы еще построить схему, инвертирующую

входов.
Для начала, построим схему, которая выдает 1, если для заданного

включено не менее

входов. Возьмем все возможные комбинации из

входов, каждую комбинацию соединим в один элемент И, а выходы всех элементов И соединим в одно ИЛИ. Обозначим такую схему как

(greater or equal).
Из рассуждения в предыдущем посте и из того, что мы могли включать входы в любом порядке, следует, что значения на выходах инверторов полностью определяются количеством включенных входов. А именно, на входе

-го инвертора должна быть единичка, если количество включенных входов в двоичном представлении имеет

-ый бит, равный единичке, считая от старшего бита к младшему. На выходе

-го инвертора должен быть, соответственно, инвертированный

-ый бит.
Теперь укажем схему, как должны быть эти инверторы соединены, чтобы они действительно вычисляли соответствующие биты двоичного представления количества включенных входов. Строить будем по индукции. Пусть у нас уже

инверторов, которые вычисляют первые

инвертированных бит. Эти инверторы позволяют построить схемы, выдающие 1 в случае, если первые

бит числа включенных входов имеют произвольные заданные значения, а именно, берем элемент И с

входами, на которые подаем сигналы либо со входов, либо с выходов этих инверторов. Построим

таких схем для всех возможных значений

бит, они нам все понадобятся. Обозначим эти схемы как

, где

.

выдает 1, если первые

бит числа включенных входов образуют число

. Соединим каждую из

со схемой

элементом И, а потом все эти элементы И, в количестве

штук, соединим элементом ИЛИ. На выходе ИЛИ будет 1, если

-ый бит равен 1, иначе 0. Выход ИЛИ воткнем в

-ый инвертор. Конец шага индукции.
Теперь мы можем вычислять каждый бит числа включенных входов, а это позволяет построить схемы, выдающие 1 в том случае, если количество включенных входов в точности равно заданному (в отличие от упоминавшихся в начале схем GE). Обозначим такие схемы как

.
Всё, теперь можно инвертировать входы, например, первый вход. Делать будем так: рассмотрим все возможные наборы значений остальных

входов. Таких наборов будет

штук. Для каждого набора возьмем элемент И, на который подадим тех входы, значение которых равно 1 в этом наборе и схему, выдающую 1, если количество всех включенных входов равно количеству входов, принимающих значение 1 в этом наборе, а потом все эти элементы И соединим в одно ИЛИ. Например, для

будет так:

. На выходе будет инвертированный первый бит.