33
правки
Изменения
Нет описания правки
<tex>L=\{x|\exists{C1,C2,..,Cn} \forall{y} C_n(f(<x,y>))=1\}</tex>,
где - <tex>C1,C2,..,Cn</tex> набор логических схем для <tex>SAT</tex>.
Внутри будем проверять используемый набор
<tex>\forall{\varphi{}} (C_{|\varphi{}|}(\varphi{})=0 \Rightarrow \forall{x} \varphi(x)=0) (C_{|\varphi{}|}(\varphi{})=1 \Rightarrow \varphi{}|_{x_1=0} \in SAT или \varphi{}|_{x_1=1} \in SAT)</tex>
Если <tex>C</tex> решает <tex>SAT</tex> то все хорошо. Если нет, если нет то зафиксируем формулу которую он не решает. Если на этой формуле выдаст 0 , а должна выдать 1 , то вот эту получается что не удовлетворяет первую часть не удолветворяет и тут не будет работать, если наоборот выдаст 1 а на самом деле формула не удавлетворима то ни эта ни эта обе скобки работать не будет работатьбудут.
Рассмотрим минимальную схему которая неправильна, тогда на той формуле, на которой эта схема неправильна по . По предположению , что все более короткие формулы правильны,эта формула распознается схемами с меньшим числом входов, поэтому и . Поэтому эта и эта будут 0 и мы не узнаем набор схем. Можно попробовать развернуть формулу до конца. Видимо это будет выглядеть так
<tex> \forall{\varphi{}}: |\varphi{}|=m \forall{x_1}..\forall{x_m} если C_m(\varphi{})=0 \Rightarrow \varphi{(x_1)}=0 иначе C_{m-1}(\varphi|_{x_1=0})=0 \Rightarrow \varphi|_{x_1=0}(x_2)=0</tex>