Рассмотрим язык [math]L \in \mathrm{\Pi_2}[/math], [math]L = \{x \bigm| \forall y \ \exists z \ \phi(x, y, z)\}[/math].
[math]\phi[/math] можно рассмтривать как функцию с [math]n[/math] битовыми переменныии, где [math]n[/math] — полином от длины входа (из-за ограничений накладываемых по определению класса [math]\mathrm{\Pi_2}[/math] на [math]|y|, |z|)[/math].
Для заданных [math]x[/math] и [math]y[/math] научимся находить такой [math]z[/math], что [math]\phi(x,y,z)=1[/math], если это возможно. Подставим значения [math]x[/math] и [math]y[/math] в функцию [math]\phi[/math]. Теперь [math]\phi[/math] зависит только от [math]z[/math]: [math]\phi_{xy}(z)[/math].
Из предыдущей леммы мы получили семейство схем полиномиального размера [math]C_1, \ldots, C_n, \ldots [/math] Запустим схему [math]C_m[/math] на [math]\phi_{xy}[/math], где [math]m=n-|x|-|y|[/math]. Эта схема вернет нам такое значение [math]z[/math], что [math]\phi(x,y,z)=1[/math], если [math]\phi(x,y,z)[/math] удовлетворима для заданных [math]x[/math] и [math]y[/math], или же последовательность нулей.
Тогда определение языка [math]L[/math] можно переписать: [math]L = \{x \bigm| \forall y \ \phi(x, y, C_m(\phi_{xy}))\}[/math].
Рассмотрим язык [math]L_1 = \{x\bigm|\exists G \ \forall y \ \phi(x, y, G(x, y , \phi_{xy}))\}[/math].
Покажем, что [math]L=L_1[/math]:
- [math] L \subset L_1[/math]
Очевидно. Можно за [math]G[/math] взять [math]C_m[/math].
- [math]L_1 \subset L[/math]
Мы докажем это утверждение, если покажем, что если какое-то слово не принадлежит [math]L[/math], то оно не принадлежит и [math]L_1[/math].
Пусть [math]\exists y \ \forall z \ \phi(x,y,z)=0 \Rightarrow \nexists G \ \forall y \ \phi(x, y, G(\phi_{xy}))=1[/math] — очевидно.
Таким образом [math]L =\{x\bigm|\exists G, |G| \lt p(|x|) \ \forall y, |y|\lt p(|x|) \ \phi(x, y, G(x, y , \phi_{xy}))\}[/math]. Следовательно, [math]L \in \Sigma_2[/math]. |