Определение: |
В игре участвуют два игрока — «для всех» и «существует». Есть утверждение [math]\exists x_1 \forall x_2 \exists x_3 \dots Q x_n \Psi(x_1,\dots ,x_n)\,[/math]. Игроки поочередно выбирают значения параметров. Каждый игрок выбирает значение в зависимости от предыдущих ходов. Цель игрока «существует» делать такие ходы, чтобы утверждение [math]\exists x_1 \forall x_2 \exists x_3 \dots Q x_n \Psi(x_1,\dots ,x_n)\,[/math] получилось истинным. А цель игрока «для всех» делать такие ходы, чтобы итоговое выражение получилась ложным. |
Интерпретация булевых формул с кванторами как игр для двух игроков
Теорема: |
Дано утверждение: [math]P_1 = P_1(Q_1, \ldots, Q_n, \Psi(x_1,\dots ,x_n)) = Q_1 x_1 Q_2 x_2 \ldots Q_n x_n \Psi(x_1,\dots ,x_n),[/math] где [math]\{Q_i\}_{i=1}^{n} [/math] является чередующейся последовательностью кванторов [math]\forall[/math] и [math]\exists[/math].
- Если утверждение [math]P_1[/math] истинно, то у игрока «существует» есть набор ходов, используя который, он может победить.
- Если же утверждение [math]P_1[/math] ложно, то у игрока «для всех» есть набор ходов, используя который, он может победить.
|
Доказательство: |
[math]\triangleright[/math] |
- Выражение [math]P[/math] истинно. Провернём доказательство по индукции.
- База: в [math]P_1[/math] один квантор.
- Если единственный квантор — «любой», то какой бы параметр не поставил игрок «для всех» утверждение будет истинно по условию теоремы.
- Если единственный квантор — «существует», то, по условию, есть такой параметр, что утверждение будет истинно. Его и подставит игрок «существует», после чего сразу победит.
- Переход: теорема верна, когда утверждение [math]P_1[/math] содержит не более [math]n-1[/math] квантора, докажем, что она верна и для утверждений, содержащих [math]n[/math] кванторов.
- Пусть первый квантор «существует», тогда [math]P_1 = \exists x_1 P_2[/math], где [math]P_2 = P_2(Q_2, \ldots, Q_n, \Psi(x_1,\dots ,x_n)_{x_1=const})\,[/math]. По условию теоремы найдётся такой параметр [math]x_1 = x_{1_0}[/math], что [math]P_1[/math] истинно. Но выражение [math]P_2[/math] истинно и содержит [math]n-1[/math] квантор, значит, для [math]P_2[/math] есть набор ходов игрока «существует», при котором он выигрывает. С выбранным [math]x_1 = x_{1_0}[/math] и полученным набором ходов мы получаем выигрышную стратегию.
- Пусть теперь первый квантор «для всех», тогда [math]P_1 = \forall x_1 \exists x_2 P_3[/math], где [math]P_3 = P_3(Q_3, \ldots, Q_n, \Psi(x_1, x_2,\dots ,x_n)_{x_1=const, x_2=const})\,[/math]. По условию теоремы для любого параметра [math]x_1[/math] найдётся такой параметр [math]x_2 = x_{2_0}[/math], что [math]P_1[/math] истинно. Но утверждение [math]P_3[/math] истинно и содержит [math]n-2[/math] квантора, значит, для [math]P_3[/math] есть набор ходов игрока «существует», при котором он выигрывает. С выбранным [math]x_2 = x_{2_0}[/math] и полученным набором ходов мы получим выигрышную стратегию.
- Доказательство существования выигрышной стратегии игрока «для всех» при ложном выражении [math]\Psi[/math] аналогично.
|
[math]\triangleleft[/math] |
См. также
Источники информации
Wikipedia — True quantified Boolean formula