Теорема Кука
Определение
Проблема — проблема выполнимости булевых формул.
Докажем, что эта проблема -полна.
Формулировка
Теорема Кука гласит, что
Доказательство
, если
Прежде всего докажем, что
Так как , то достаточно показать, что
В качестве сертификата берём набор нулей и единиц в количестве штук, соответствующих значениям аргументов функции . Длина этого сертификата явно будет меньше или равна, чем полином от длины строки, кодирующей формулу .
Верификатор просто подставит эти значения в формулу и выдаст значение формулы на данном входе. Таким образом, если формула действительно удовлетворима, то для неё найдётся такой сертификат, на котором она, и, соответственно, верификатор, выдадут единицу.
Если же у нас существует такой сертификат , на котором верификатор выдаёт единицу, то, значит, и формула является удовлетворимой.