Проверьте, пожалуйста.
9. Легко понять, что любая формула, составленная только с помощью связок
и
, задаёт монотонную булеву функцию (в том смысле, что от увеличения значения любого из аргументов значение функции может только возрасти или остаться прежним). Покажите, что любая монотонная булева функция может быть выражена формулой, содержащей только
и
.
(Маленький вопрос)
Почему авторы называют неубывающие функции ("от увеличения значения любого...") монотонными? Ведь бывают ещё, например, убывающие монотонные.
То же в критерии Поста: говорят "монотонные", а по тексту везде подразумевают "неубывающие".
Также меня весьма смутил термин "линейная функция" (которая представляется полиномом 1-й степени). К обычной линейной функции (как в линейной алгебре) это мало отношения имеет, как я понял. Зачем тогда из бесконечного числа возможных слов выбирать то, которое уже занято?
Первую часть (которую "легко понять") я доказал по индукции.
Лемма. Функции
и
неубывающие (проверить можно в лоб).
База индукции.
и
, где
-- пропозициональные переменные, задают неубывающие функции (по лемме).
Индукционный шаг. Из известных формул
(задающих неубывающие функции) можно получить новые
или
. Пусть мы меняем аргумент, входящий в
с нуля на единицу, тогда
может либо не измениться, либо стать единицей. По лемме вся формула может только возрасти.
В обратную сторону. Пусть существует неуб. функция
, не выражающаяся через
. Напишем её ДНФ. По предположению, в ней есть переменная
, входящая с отрицанием. Пусть она входит в конъюнкт
. Существует такой набор
значений переменных, что
, причём это значение полностью определяется конъюнктом
, т. е. все остальные конъюнкты равны нулю.
Иначе зачем бы тогда был нужен? Если при любом наборе значений переменных равен единице, только если есть другой конъюнкт, равный единице, то можно было бы убрать из ДНФ -- функция бы осталась та же. Предположим, мы убрали все такие лишние конъюнкты и опять нашли , в котором некоторая переменная (пусть ) входит с отрицанием (если такого конъюнкта нет, то функция выражается через ).
Возьмём этот набор
и увеличим
(с нуля на единицу), тогда
, весь конъюнкт
и вся функция
станут равными нулю. Итого: мы увеличили значение переменной, а функция уменьшилась.