Лемма о соотношении coNP и IP
| НЕТ ВОЙНЕ |
|
24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян. Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием. Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей. Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить. Антивоенный комитет России |
| Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению. |
| meduza.io, Популярная политика, Новая газета, zona.media, Майкл Наки. |
| Определение: |
| имеет ровно удовлетворяющих наборов . |
| Лемма (1): |
. |
| Доказательство: |
| Следует из леммы (1). |
| Лемма (2): |
. |
| Доказательство: |
|
Для доказательства леммы построим программы Verifier и Prover из определения класса . Сперва арифметизуем формулу . Пусть полученный полином имеет степень . По лемме (1) вместо условия , можно проверять условие . Приступим к описанию Verifier'а. Шаг 0 Если или , то Verifier может проверить указанное выше условие сам и вернуть соответствующий результат. Иначе запросим у Prover'а такое простое число , что (такое существует в силу постулата Бертрана). Проверим на простоту и на принадлежность заданному промежутку. Как мы знаем, , следовательно на эти операции у Verifier'а уйдёт полиномиальное от размера входа время. Далее будем проводить все вычисления модулю . Попросим Prover 'а прислать Verifier 'у формулу . Заметим, что размер формулы будет полином от длины входа Verifier 'а, так как — полином степени не выше, чем , от одной переменной, а значит его можно представить в виде . Проверим следующее утверждение: (*) (здесь и далее под словом «проверим» будем подразумевать следующее: если утверждение верно, Verifier продолжает свою работу, иначе он прекращает свою работу и возвращет false). Шаг i Пусть . Отправим программе Prover. Попросим Prover 'а прислать Verifier 'у формулу . Проверим следующее утверждение: (*). Шаг m Пусть . Отправим программе Prover. Попросим программу Prover прислать Verifier 'у значение . Проверим следующее утверждение: (*). А также сами подставим в и проверим правильность присланного значения . Возвращаем true. Докажем теперь, что построенный таким образом Verifier — корректный. Для этого нужно доказать следующие утверждения:
Докажем эти утверждения.
|
| Лемма (3): |
. |
| Доказательство: |
|
Сведём язык к языку следующим образом: , где — количество различных переменных в формуле . Очевидно, что . По лемме (2) . Тогда . Так как , то . |