Основы алгебры логики
Критерий полноты [формулировка]. Лемма о немонотонной функции
Критерий полноты утверждает, что система булевых функций является полной, если она не сохраняет ни один из пяти классов Поста: константы, монотонность, линейность, самодвойственность, сохранение множества. Лемма о немонотонной функции позволяет установить, что любая такая функция может быть использована для построения полной системы. Приводятся примеры применения в задачах логического синтеза.
Формулировка. Система булевых функций является полной тогда и только тогда, когда она целиком не принадлежит ни одному из замкнутых классов .
монотонные функции { функция монотонно не убывает по каждому из своих аргументов } ;
функции, сохраняющие нуль { функция от нуля даёт ноль } ;
функции, сохраняющие единицу { функция от единицы даёт единицу } ;
линейные функции { функция представима многочленом, в котором каждый член состоит из одной переменной } ;
самодвойственные функции { функция двойственна сама себе } .
Лемма: Суперпозицией нелинейной функции, отрицания и константы можно получить конъюнкцию.
Доказательство: Пусть — нелинейная функция, тогда полином Жигалкина для нее содержит слагаемое, в котором присутствует произведение каких-то переменных $x\_i\*x\_j$. Пусть для простоты это будет произведение . Произведя группировку слагаемых в полиноме Жегалкина для относительно , функцию представим в виде $f(x\_1,..., x\_n)=x\_1\*x\_2\*h\_0(x\_3,...,x\_n)+$ { собрали все слагаемые с $x\_1\*x\_2$ и вынесли $x\_1\*x\_2$ за скобки. В скобках осталась сумма , в которой переменных нет }
Функция , в противном случае многочлен Жигалкина слагаемых с произведением не имеет, тогда существует набор из и , для которого . Пусть на этом наборе . Тогда функция $g(x\_1,x\_2)= f(x\_1,x\_2,a\_3,..., a\_n)=x\_1\*x\_2+a\*x\_1+b\*x\_2+c$. Построим функцию $(x\_2+a)+a(x\_1+b)+b(x\_2+a)+c = x\_1\*x\_2+a\*x\_1+b\*x\_2+a\*b+a\*x\_1+a\*b+b\*x\_2+a\*b+c$ $=\_1\*x\_2+a\*b+c=x\_1\*x\_2+d, d=a\*b+c$
Если , то $h(x\_1,x\_2)=x\_1\*x\_2$, конъюнкция получена. Если , то $h(x\_1,x\_2)=x\_1\*x\_2+1 \Rightarrow x\_1\*x\_2=\bar { h } (x\_1,x\_2)$, что и требовалось доказать.
Другие статьи из категории
Похожие статьи
Все статьи →Основы алгебры логики
Теорема об аналоге СДНФ в Pk
Аналог СДНФ в Pk позволяет однозначно представлять любую функцию k-значной логики через комбинации значений переменных и их отрицаний.…
Основы алгебры логики
Теорема о заведомо полныx системаx
Заведомо полная система функций гарантирует возможность реализации всех возможных отображений в рамках k-значной логики. Для проверки…
Основы алгебры логики
Класс Te . Теорема о замкнутости Te
Класс Te включает все функции, для которых выполнено условие сохранения константы e. Замкнутость класса означает, что любая суперпозиция…
Основы алгебры логики
Лемма о построении множества F[x1,x2]
Множество F[x1,x2] представляет собой набор всех возможных отображений пар значений [x1,x2] в множество значений k-значной логики. Лемма…
Основы алгебры логики
Теорема об алгоритме распознавания полноты
Алгоритм распознавания полноты позволяет определить, можно ли с помощью заданной системы функций выразить любую функцию из Pk. Для этого…
Нужен расчёт?
Пришлите исходные данные — уточним состав работы и ответим по срокам.