Дискуссионный математический форумМатематический форум

Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 4 часа [ Летнее время ]
MathHelpPlanet.com RSS-лента Математического форума

Часовой пояс: UTC + 4 часа [ Летнее время ]


Проблемы разрешения для общезначимости и выполнимости формул

Проблемы разрешения для общезначимости и выполнимости формул


Содержание

Постановка проблемы и ее неразрешимость в общем виде


В алгебре высказываний было установлено, что существует четкий алгоритм, позволяющий для каждой формулы алгебры высказываний ответить на вопрос, будет ли данная формула выполнима, тождественно истинна или тождественно ложна. Для этого нужно составить таблицу истинности формулы и посмотреть на распределение нулей и единиц в ее последнем столбце. Аналогичная проблема возникает и для формул логики предикатов: существует ли единый алгоритм, позволяющий для каждой формулы логики предикатов определить, будет ли она выполнимой или общезначимой? Ответ отрицательный: общего такого алгоритма не существует. Это было доказано в 1936 г. американским математиком А. Чёрчем. Тем не менее для некоторых частных видов формул данная проблема допускает решение. В настоящем параграфе покажем, как решается проблема разрешения для некоторых типов формул.


Решение проблемы для формул на конечных множествах


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


Продемонстрируем идею действия этого алгоритма на конкретном примере. Рассмотрим формулу логики предикатов [math](\forall y)(\exists x)\bigl(\lnot P(x,y)\land P(y,y)\bigr)[/math] и выясним, будет ли она выполнима или общезначима на двухэлементном множестве [math]\{a;b\}[/math]. Напомним, что поскольку на этом множестве высказывание [math](\forall x)(R(x))[/math] эквивалентно конъюнкции [math]R(a)\land R(b)[/math], а высказывание [math](\exists x)(R(x))[/math] — дизъюнкции [math]R(a)\lor R(b)[/math], то данная формула равносильна формуле


[math](\exists x)\bigl(\lnot P(x,a)\land P(a,a)\bigr)\land (\exists x)\bigl(\lnot P(x,b)\land P(b,b)\bigr),[/math]

которая, в свою очередь, равносильна формуле


[math]\begin{aligned}&\bigl[\bigl(\lnot P(a,a)\land P(a,a)\bigr)\lor \bigl(\lnot P(b,a)\land P(a,a)\bigr)\bigr]\,\land\\ &\land \bigl[\bigl(\lnot P(a,b)\land P(b,b)\bigr)\lor \bigl(\lnot P(b,b)\land P(b,b)\bigr)\bigr]\,.\end{aligned}[/math]

Одна двухместная предикатная переменная [math]P(x,y)[/math] исходной формулы как бы распалась на четыре пропозициональных переменных [math]P(a,a),~ P(a,b),[/math] [math]P(b,a),~ P(b.b)[/math] последней формулы, потому что при подстановке в исходную формулу вместо [math]P(x,y)[/math] двухместного предиката, определенного на множестве [math]\{a,b\}[/math], указанные четыре переменные превратятся в конкретные высказывания (вообще говоря, различные). Так что последняя формула есть по сути дела формула алгебры высказываний. Чтобы это увидеть совсем отчетливо, обозначим указанные четыре пропозициональные переменные буквами [math]P,R,Q,S[/math] соответственно. Тогда полученная формула примет вид:


[math]\bigl[(\lnot P\land P)\lor (\lnot Q\land P)\bigr]\land \bigl[(\lnot R\land S)\lor (\lnot S\land S)\bigr].[/math]

Составив таблицу истинности данной формулы алгебры высказываний (или каким-либо другим способом, как это делалось в алгебре высказываний), легко установить, что формула не является тавтологией, но выполнима: она превратится в истинное высказывание, если вместо [math]P[/math] и [math]S[/math] подставить истинные высказывания, а вместо [math]Q[/math] и [math]R[/math] — ложные. Применительно к исходной формуле логики предикатов это означает, что она не общезначима на двухэлементном множестве, но выполнима в нем: она превратится в выполнимый предикат, если вместо предикатной переменной [math]P(x,y)[/math] подставить в формулу такой конкретный двухместный предикат, который при одинаковых значениях его предметных переменных [math]x[/math] и [math]y[/math] превращается в истинные высказывания, а при разных — в ложные.




Пример формулы, выполнимой на бесконечном множестве и невыполнимой ни на каком конечном


Наличие такой формулы позволит сделать, в частности, следующий вывод относительно проблемы разрешения для выполнимости формул логики предикатов: по выполнимости формулы на некотором множестве нельзя судить о выполнимости этой формулы на его подмножествах.


Вот пример такой формулы:


[math]\begin{aligned}&(\forall x)(\exists y)\bigl(P(x,y)\bigr)\land (\forall x)\bigl(\lnot P(x,y)\bigr)\,\land\\ &\land (\forall x)(\forall y)(\forall z)\bigl[\bigl(P(x,y)\land P(y,z)\bigr)\to P(x,z)\bigr].\end{aligned}[/math]

Можно сказать, что она характеризует нерефлексивность (второй член конъюнкции) и транзитивность (третий член конъюнкции) некоего двухместного предиката [math]P(x,y)[/math]. Эта замкнутая формула превращается в истинное высказывание, если в нее вместо предикатной переменной [math]P(x,y)[/math] подставить, например, двухместный предикат "[math]x<y[/math]", определенный на [math]\mathbb{N}\times \mathbb{N}[/math], где [math]\mathbb{N}[/math]— множество всех натуральных чисел, т.е.


[math](\forall x)(\exists y)(x<y)\land (\forall x)\bigl(\lnot (x<x)\bigr)\land (\forall x)(\forall y)(\forall z)\bigl[(x<y\land y<z)\to x<z\bigr].[/math]

Покажем, что эта формула не выполнима ни на каком конечном множестве. Допустим противное, т.е. предположим, что существует конкретный предикат [math]A(x,y)[/math], определенный на конечном множестве [math]M[/math], такой, что высказывание


[math]\begin{aligned}&(\forall x)(\exists y)\bigl(A(x,y)\bigr)\land (\forall x)\bigl(\lnot A(x,y)\bigr)\,\land\\ &\land (\forall x)(\forall y)(\forall z)\bigl[\bigl(A(x,y)\land A(y,z)\bigr)\to A(x,z)\bigr].\end{aligned}[/math]
(1)

истинно. Тогда истинным высказыванием будет и каждый член конъюнкции (1). В частности, истинно высказывание [math](\forall x)(\exists y)(A(x,y))[/math]. Возьмем элемент [math]a_1\in M[/math]. Тогда из истинности последнего высказывания следует вывод: существует такой элемент [math]a_2\in M[/math], что высказывание [math]A(a_1,a_2)[/math] истинно. Далее, аналогично существует такой [math]a_3\in M[/math], что истинно высказывание [math]A(a_2,a_3)[/math], и т.д. Поскольку множество [math]M[/math] конечно, то не все элементы [math]a_1,a_2, a_3, \ldots[/math] попарно различны. Пусть [math]a_p=a_{p+q}~(q>0)[/math]. Тогда из истинности высказываний


[math]A(a_p,a_{p+1}),\quad A(a_{p+1}, a_{p+2}),\quad \ldots,\quad A(a_{p+q-1}, a_{p+q})[/math]

в силу истинности высказывания (третий член истинной конъюнкции (1))


[math](\forall x)(\forall y)(\forall z)\bigl[\bigl(A(x,y)\land A(y,z)\bigr)\to A(x,z)\bigr][/math]

заключаем, что истинно высказывание [math]A(a_p,a_{p+q})[/math], т.е. высказывание [math]A(a_p,a_p)[/math]. Но это противоречит истинности высказывания (второй член истинной конъюнкции (1)) [math](\forall x)(\lnot A(x,x))[/math]. Полученное противоречие доказывает, что никакой конкретный предикат, определенный на конечном множестве, не может превратить данную формулу в истинное высказывание, т.е. данная формула невыполнима ни на каком конечном множестве.




Проблема разрешения выполнимости: влияние мощности множества и структуры формулы


Во-первых, нетрудно понять, что если некоторая формула выполнима или тождественно истинна на некотором множестве, то тоже самое будет иметь место и на любом другом множестве с тем же самым числом элементов, т.е. на любом другом множестве, равномощном с исходным (это следует из наличия взаимно-однозначного отображения этих множеств одного на другое). Поэтому проблема разрешимости выполнимости и общезначимости формул логики предикатов состоит фактически в том, чтобы ответить на вопрос, для каких множеств данная формула выполнима (соответственно общезначима), а для каких — нет.


В дополнение к уже установленным результатам укажем еще ряд результатов в этом направлении. Так, теорема Лёвенгейма утверждает, что если формула выполнима на каком-нибудь бесконечном множестве, то она выполнима и на счетно-бесконечном множестве (доказательство можно найти, например, в книге П.С.Новикова). Дальнейшее сведение проблемы разрешимости со счетно-бесконечных множеств на конечные, для которых проблемы разрешимости решаются, невозможно. Примером формулы, выполнимой на бесконечном множестве и не выполнимой ни на каком конечном множестве, может служить формула (1), рассмотренная в предыдущем пункте.


Далее, примеры формул Задачника показывают, что положительное решение проблемы выполнимости формулы на некотором конечном множестве не влечет ее положительного решения для этой формулы на множествах с меньшим числом элементов. Так, в Задачнике подробно анализируется формула


[math](\exists x,y,z)\bigl[R(x,y)\land R(x,z)\land R(y,z)\land (\forall t)\bigl(\lnot R(t,t)\bigr)\bigr][/math]

относительно которой доказывается, что она будет выполнима на множестве из трех элементов (выполняющий предикат "[math]x\ne y[/math]") и не выполнима на множестве из двух элементов.


В задачнике предлагается привести пример формулы, выполнимой на множестве из четырех элементов и не выполнимой ни на каком множестве из трех элементов. Ясно, что она строится по образу и подобию предыдущей формулы:


[math](\exists x,y,z,u)\bigl[R(x,y)\land R(x,z)\land R(x,u)\land R(y,z)\land R(y,u)\land R(z,u)\land (\forall t)\bigl(\lnot R(t,t)\bigr)\bigr][/math]

Тем не менее проблема выполнимости обладает одним общим свойством.


Теорема 23.1. Если некоторая формула логики предикатов выполнима в каком-нибудь множестве, то она выполнима также и в каждом множестве с большим числом элементов.


▼ Доказательство

Не нарушая общности, можно считать, что множество [math]M'[/math] с числом элементов большим, чем число элементов в [math]M[/math], содержит [math]M[/math] в качестве подмножества: достаточно установить взаимно-однозначное соответствие между элементами множества [math]M[/math] и элементами подмножества [math]M_0[/math] множества [math]M'[/math], равномощного [math]M[/math]. Пусть теперь формула [math]F(P_1,\ldots,P_m)[/math] выполнима в множестве [math]M[/math] и [math]M \subset M'[/math]. Это означает, что некоторые конкретные предикаты [math]A_1,\ldots,A_m[/math], заданные над множеством [math]M[/math], превращают формулу [math]F(P_1,\ldots,P_m)[/math] в выполнимый предикат [math]F(A_1,\ldots,A_m)[/math] над [math]M[/math]. Увидим, что определения этих предикатов можно так расширить до предикатов [math]A'_1,\ldots,A'_m[/math], заданных уже на [math]M'[/math], что они также будут превращать формулу [math]F(P_1,\ldots,P_m)[/math] в выполнимый предикат [math]F(A'_1,\ldots,A'_m)[/math] над [math]M'[/math]. Для этого выбирается элемент [math]a\in M[/math], и предикат [math]A'_i(x_1,\ldots,x_n)[/math] задается так. Логические значения высказывания [math]A'_i(a_1,\ldots,a_n)[/math] на кортеже [math]a_1,\ldots,a_n[/math] элементов из [math]M'[/math] вычисляются по следующему правилу:


[math]\lambda\bigl[A'_i(a_1,\ldots,a_n)\bigr]= \lambda \bigl[A_i(\overline{a}_1, \ldots, \overline{a}_n) \bigr],[/math] где [math]\overline{a}_k= \begin{cases} a_k,& \text{if}\quad a_k\in M,\\ a,& \text{if}\quad a_k\in M'\setminus M. \end{cases}[/math]

Тогда ясно, что предикат [math]F(A'_1,\ldots,A'_m)[/math] будет превращаться в истинное высказывание на тех же самых предметах из [math]M \subset M'[/math], что и предикат [math]F(A'_1,\ldots,A'_m)[/math].




В заключение укажем ряд результатов, которые сводят (редуцируют) проблему разрешимости для произвольных формул логики предикатов к проблеме разрешимости формул некоторых специальных видов. Будем считать, не нарушая общности, что все формулы, о которых идет речь, не имеют свободных предметных переменных, т.е. являются замкнутыми.


Во-первых, мы уже отмечали (см. теорему 21.5), что для всякой формулы логики предикатов существует равносильная ей формула в предваренной нормальной форме. Более того, еще в 1930-е гг. Сколем доказал, что для каждой формулы логики предикатов можно указать формулу в предваренной нормальной форме, кванторная приставка которой имеет вид


[math](\forall x_1) (\forall x_2)\ldots (\forall x_m)\, (\exists y_1)(\exists y_2)\ldots (\exists y_n)[/math]

(так называемая нормальная форма Сколема), которая относительно выполнимости равнозначна первой. Это означает, что при решении проблемы выполнимости, не уменьшая общности, можно ограничиться рассмотрением лишь формул, имеющих кванторные приставки указанного вида.

Далее, для каждой формулы можно указать равнозначную ей в отношении выполнимости формулу, в которой имеются только одноместные и двухместные предикатные переменные (Лё-венгейм, 1915). Можно, далее, ограничиться даже такими формулами, в которых встречается только один-единственный двухместный предикатный символ и, кроме того, приставка имеет вид (Кальмар, 1936):


[math](\exists x_1)(\exists x_2)\ldots (\exists x_m) (\forall y_1) (\forall y_2)~ (\forall u_1) (\forall u_2)\ldots (\forall u_n)[/math]

При решении проблемы выполнимости можно также ограничиться формулами, приставки которых имеют форму (Гёдель, 1933)


[math](\forall x_1) (\forall x_2) (\forall x_3) (\exists y_1)(\exists y_2)\ldots (\exists y_n)[/math]

или же форму [math](\exists x)(\forall y)(\exists z)(\forall u_1)(\forall u_2)\ldots (\forall u_n)[/math] (Аккерман, 1936).


Имеются и другие предложения редукции рассматриваемой проблемы либо к формулам с кванторными приставками специфических видов, либо к формулам, содержащим предикатные переменные от определенного числа переменных.




Решение проблемы для формул, содержащих только одноместные предикатные переменные


В этом случае проблема сводится к проблеме разрешения выполнимости и общезначимости формулы на некотором конечном множестве, которая, как установлено выше, имеет эффективное решение. Такое сведение осуществляется на основе следующей теоремы и следствия из нее.


Теорема 23.2. Если формула логики предикатов, содержащая только одноместные предикатные переменные, выполнима, то она выполнима на конечном множестве, содержащем не более [math]2^n[/math] элементов, где [math]n[/math] — число различных предикатных переменных, входящих в рассматриваемую формулу.


▼ Доказательство

Заметим сначала, что если [math]G(x_1,\ldots,x_k)[/math] — открытая формула логики предикатов, в которой [math]x_1,\ldots,x_k[/math] — все ее свободные предметные переменные, то выполнимость такой формулы равносильна выполнимости следующей замкнутой формулы: [math](\exists x_1)\ldots (\exists x_k)\bigl(G(x_1,\ldots,x_k)\bigr)[/math]. (Продумайте это утверждение.) Поэтому доказательство теоремы достаточно провести для замкнутой формулы в предваренной нормальной форме. Пусть


[math]F\equiv (K_1x_1)(K_2x_2)\ldots (K_nx_n) \bigl(H(P_1(x_1),P_2(x_2),\ldots, P_n(x_n))\bigr)[/math]
(1)

такая формула, где каждый [math]K_i[/math] есть один из кванторов [math]\forall[/math] или [math]\exists[/math] [math]i=1,\ldots,n[/math], [math]P_i(x_i)[/math] — одноместные предикатные переменные, а формула [math]H[/math] не содержит кванторов. Предположим, что формула [math]F[/math] выполняется на некотором множестве [math]M[/math]. Это означает, что существуют конкретные одноместные предикаты [math]A_1(x_1),\ldots,A_n(x_n)[/math], определенные на [math]M[/math], такие, что высказывание истинно


[math]F\bigl(A_1(x_1),\ldots,A_n(x_n)\bigr)= (K_1x_1)\ldots (K_nx_n) \bigl(H(A_1(x_1),\ldots, A_n(x_n))\bigr)[/math]
(2)

Рассмотрим конечную последовательность [math]\xi_1,\xi_2, \ldots, \xi_n[/math], в которой каждое [math]\xi_i[/math] есть 0 или 1, и выберем все такие элементы а из множества [math]M[/math], для которых


[math]\lambda(A_1(a))= \xi_1,\quad \lambda(A_2(a))= \xi_2,\quad \ldots,\quad \lambda(A_n(a))=xi_n\,.[/math]

Подмножество множества [math]M[/math], составленное из всех таких элементов, обозначим [math]M_{\alpha}[/math] (где [math]\alpha[/math] — десятичная запись двоичного числа [math]\overline{\xi_1,\xi_2,\ldots,\xi_n}[/math]). Итак,


[math]M_{\alpha}= \bigl\{a\in M\colon\, \lambda(A_1(a))= \xi_1,\quad \lambda(A_2(a))= \xi_2,\quad \ldots,\quad \lambda(A_n(a))=xi_n \bigr\}.[/math]

В частности, для некоторой последовательности [math]\xi_1,\xi_2, \ldots,\xi_n[/math] требуемых элементов а в множестве [math]M[/math] может не найтись. Тогда такое [math]M_{\alpha}=\varnothing[/math]. Но ясно, что [math]M_{\alpha}\ne M_{\beta}\ne \varnothing[/math], если [math]\alpha\ne\beta[/math]. Сколько же всего образуется подмножеств [math]M_{\alpha}[/math]? Ровно столько, сколько существует конечных последовательностей длины [math]n[/math], составленных из нулей и единиц, т.е. [math]2^n[/math] (см. доказательство теоремы 10.3). Но некоторые подмножества, как было отмечено, могут быть пустыми. Поэтому число т непустых подмножеств [math]M_{\alpha}[/math] не превосходит числа [math]2^n[/math]. Другими словами, набор непустых подмножеств [math]M_{\alpha}[/math] образует разбиение множества [math]M[/math] на непересекающиеся подмножества. Обозначим через [math]\mathbf{M}[/math] множество, элементами которого являются все непустые подмножества [math]M_{\alpha}^[/math]


[math]\mathbf{M}= \bigl\{M_{\alpha}\colon\, M_{\alpha}\ne \varnothing,~ \alpha=1,\ldots,m;~ m \leqslant 2^n\bigr\}[/math] (число элементов в [math]\mathbf{M}[/math] равно [math]m \leqslant 2^n[/math]).

Определим на множестве [math]\mathbf{M}~n[/math] одноместных предикатов [math]A'_1(x_1),\ldots,A'_n(x_n)[/math] по следующему правилу: каждый предикат [math]A'_i(x_i)[/math] таков, что логическое значение [math]\lambda(A'_i(M_{\alpha}))[/math] высказывания [math]A'_i(M_{\alpha})[/math], получающегося из этого предиката в результате подстановки вместо предметной переменной [math]x_i[/math] элемента [math]M_{\alpha}[/math] множества [math]\mathbf{M}[/math], совпадает с логическим значением [math]\lambda(A_1(a))[/math] высказывания [math]A_1(a)[/math], получающегося из предиката [math]A_i(x_i)[/math] подстановкой элемента а вместо переменной [math]x_i[/math], где [math]a\in M_{\alpha}[/math]. (Отметим, что определение корректно, т.е. не зависит от выбора [math]a[/math] в множестве [math]M_{\alpha}[/math], потому что для всех [math]a[/math] из [math]M_{\alpha}~ \lambda(A_i(a))=\xi_i[/math]. Итак, по определению имеем для [math]a\in M_{\alpha}[/math]


[math]\lambda\bigl(A'_i(M_{\alpha})\bigr)= \lambda\bigl(A_i(a)\bigr)\quad (i=1,2,\ldots,n)[/math]
(3)

Докажем теперь, что формула [math]F(P_1,\ldots,P_n)[/math] выполнима на m-элементном множестве [math]\mathbf{M}[/math], а именно, что она превращается при подстановке в нее вместо предикатных переменных [math]P_1(x_1),\ldots,P_n(x_n)[/math] конкретных предикатов [math]A'_1(x_1),\ldots, A'_n(x_n)[/math] соответственно в выполнимый предикат [math]F\bigl(A'_1(x_1),\ldots, A'_n(x_n)\bigr)[/math] (фактически истинное высказывание). Доказательство этого утверждения проведем индукцией по числу кванторов в предваренной нормальной форме формулы [math]F[/math]. Сформулируем еще раз полностью то утверждение, которое будем доказывать по индукции: если некоторая формула [math]F(P_1,\ldots,P_n)[/math] выполняется на множестве [math]M[/math] для предикатов [math]A_1(x_1),\ldots, A_n(x_n)[/math] и предметов [math]a_1,\ldots,a_n\in M[/math], то она выполняется и на m-элементном множестве [math]\mathbf{M}[/math] для предикатов [math]A'_1(x_1),\ldots, A'_n(x_n)[/math] и предметов [math]M_{\alpha_1},\ldots,M_{\alpha_n}[/math], таких, что [math]a_1\in M_{\alpha_1}, \ldots, a_n\in M_{\alpha_n}[/math] (эти предикаты определены в предыдущем абзаце). Причем некоторые (или все) предметы могут отсутствовать, если соответствующие переменные связаны.


Пусть сначала формула [math]F(P_1,\ldots,P_n)[/math] не имеет кванторов вовсе, то есть


[math]F(P_1,\ldots,P_n)\equiv H\bigl(P_1(x_1),\ldots,P_n(x_n)\bigr).[/math]

Тогда выполнимость ее на множестве [math]M[/math] для предикатов [math]A_1(x_1),\ldots, A_n(x_n)[/math] и предметов [math]a_1,\ldots,a_n\in M[/math] означает, что предикат [math]H\bigl(P_1(x_1),\ldots,P_n(x_n)\bigr)[/math] выполним, причем


[math]\lambda\bigl[H\bigl(A_1(x_1),\ldots,A_n(x_n)\bigr)\bigr]=1.[/math]

Формула [math]H[/math] не содержит кванторов и, следовательно, является формулой алгебры высказываний. Поэтому логическое значение составного высказывания [math]H\bigl(A_1(x_1), \ldots, A_n(x_n)\bigr)[/math] может быть найдено на основании теоремы 2.2, в результате чего последнее равенство примет вид


[math]H\bigl(\lambda(A_1(x_1)),\ldots, \lambda(A_n(x_n))\bigr)=1.[/math]
(4)

Для элементов [math]a_1,\ldots,a_n\in M[/math] множества [math]M[/math] выберем такие подмножества [math]M_{\alpha_1},\ldots,M_{\alpha_n}[/math] этого множества, что [math]a_1\in M_{\alpha_1}, \ldots, a_n\in M_{\alpha_n}[/math]. Тогда, по определению предикатов [math]A'_i(x_i)[/math] (см. (3)), имеем


[math]\lambda\bigl(A_i(a_i)\bigr)= \lambda\bigl(A'_i(M_{\alpha_1})\bigr),\quad i=1,\ldots,n.[/math]

Подставим эти значения в (4). Получим


[math]H\bigl(\lambda(A'_1(M_{\alpha_1})),\ldots, \lambda(A'_n (M_{\alpha_n})) \bigr)=1,[/math]

откуда, на основании теоремы 2.2, заключаем, что [math]\lambda \bigl[H\bigl( A'_1(M_{\alpha_1}), \ldots, A'_n(M_{\alpha_n})\bigr)\bigr]=1[/math].


Последнее означает выполнимость предиката [math]H\bigl(A'_1(x_1),\ldots, A'_n(x_n)\bigr)[/math] на m-элементном множестве [math]\mathbf{M}[/math] для предметов [math]M_{\alpha_1}, \ldots, M_{\alpha_n}[/math] и, значит, выполнимость формулы [math]H\bigl(P_1(x_1),\ldots, P_n(x_n)\bigr)[/math], т.е. формулы [math]F(P_1,\ldots,P_n)[/math] на этом же множестве для тех же предметов.


Предположим теперь, что для всякой формулы [math]F(P_1,\ldots,P_n)[/math] с числом кванторов [math]<k[/math] из выполнимости ее на множестве [math]M[/math] для предикатов [math]A_1(x_1),\ldots, A_n(x_n)[/math] и предметов [math]a_1,\ldots,a_n\in M[/math] следует выполнимость ее на множестве [math]\mathbf{M}[/math] для предикатов [math]A'_1(x_1),\ldots, A'_n(x_n)[/math] и предметов [math]M_{\alpha_1},\ldots, M_{\alpha_n}[/math], таких, что [math]a_1\in M_{\alpha_1},\ldots, a_n\in M_{\alpha_n}[/math].


Наконец рассмотрим произвольную формулу [math]F(P_1,\ldots,P_n)[/math] с числом кванторов [math]k \leqslant n[/math], то есть


[math]F(P_1,\ldots,P_n)\equiv (K_1x_1)\ldots (K_kx_k)\bigl(H(P_1,\ldots,P_n)\bigr).[/math]
(5)

Допустим, что формула (5) выполняется на множестве [math]M[/math] для предикатов [math]A_1(x_1),\ldots, A_n(x_n)[/math] и предметов [math]a_{k+1},\ldots,a_n\in M[/math]. Учитывая предположение индукции, покажем, что она выполняется на m-элементном множестве [math]\mathbf{M}[/math] для предикатов [math]A'_1(x_1),\ldots, A'_n(x_n)[/math] и предметов [math]M_{\alpha_1},\ldots, M_{\alpha_n}[/math], таких, что [math]a_1\in M_{\alpha_1},\ldots, a_n\in M_{\alpha_n}[/math]. Здесь нужно рассмотреть две возможности для квантора [math]K_1x_1[/math].


а) Квантор [math]K_1x_1[/math] есть [math]\forall x_1[/math]. Тогда выполнимость формулы (5) для предикатов [math]A_1(x_1),\ldots, A_n(x_n)[/math] и предметов [math]a_{k+1},\ldots,a_n\in M[/math] означает, что при соответствующей подстановке она превращается в выполнимый предикат


[math](\forall x_1)(K_2x_2)\ldots (K_kx_k)\bigl(H(A_1(x_1),\ldots, A_n(x_n))\bigr),[/math]
причем
[math]\lambda\Bigl[(\forall x_1)(K_2x_2)\ldots (K_kx_k)\bigl(H(A_1(x_1),\ldots, A_n(x_n),\, A_{k+1}(a_{k+1}), \ldots, A_n(a_n))\bigr)\Bigr]=1.[/math]

Далее, по определению 20.1 квантора общности, из последнего соотношения следует, что для любого [math]a\in M[/math]


[math]\lambda\Bigl[(K_2x_2)\ldots (K_kx_k)\bigl(H(A_1(a_1), A_2(x_2),\ldots, A_n(x_n),\, A_{k+1}(a_{k+1}), \ldots, A_n(a_n))\bigr)\Bigr]=1.[/math]
(6)

Равенство (6) означает, что формула


[math](K_2x_2)\ldots (K_kx_k)\bigl(H(P_1,P_2,\ldots,P_n)\bigr)[/math]
(7)

выполнима на множестве [math]M[/math] для предикатов [math]A_1(x_1),A_2(x_2),\ldots, A_n(x_n)[/math] и предметов [math]a,a_{k+1},\ldots,a_n\in M[/math]. Но формула (7) имеет [math]k-1[/math] кванторов. Поэтому на основании предположения индукции заключаем, что она выполняется на множестве [math]\mathbf{M}[/math]для предикатов [math]A'_1(x_1), A'_2(x_2), \ldots, A'_n(x_n)[/math] и предметов [math]M_{\alpha}, M_{\alpha_{k+1}}, \ldots, M_{\alpha_n}[/math], таких, что [math]a\in M_{\alpha}, a_{k+1}\in M_{\alpha_{k+1}}, \ldots, a_{n}\in M_{\alpha_n}[/math], то есть


[math]\lambda\Bigl[(K_2x_2)\ldots (K_kx_k) \bigl(H(A'_1(M_{\alpha}), A'_2(x_2), \ldots, A'_k(x_k), A'_{k+1}(M_{\alpha_{k+1}}),\ldots, A'_n(M_{\alpha_n})) \bigr)\Bigr]=1.[/math]
(8)

Соотношение (6) выполняется для любого [math]a\in M[/math], поэтому соотношение (8) будет выполняться для любого [math]M_{\alpha}\in \mathbf{M}[/math]. Последнее означает, по определению квантора общности, что


[math]\lambda\Bigl[(\forall x_1)(K_2x_2)\ldots (K_kx_k) \bigl(H(A'_1(x_1), A'_2(x_2), \ldots, A'_k(x_k), A'_{k+1}(M_{\alpha_{k+1}}),\ldots, A'_n(M_{\alpha_n})) \bigr)\Bigr]=1[/math]

Это равенство говорит о том, что формула [math](\forall x_1)(K_2x_2)\ldots (K_kx_k) \bigl(H(P_1,\ldots, P_n)\bigr)[/math] выполнима на множестве [math]\mathbf{M}[/math] для предикатов [math]A'_1(x_1), \ldots, A'_k(x_k)[/math] и предметов [math]M_{\alpha_{k+1}},\ldots, M_{\alpha_n}\in \mathbf{M}[/math].


б) Квантор [math]K_1x_1[/math] есть [math]\exists x_1[/math]. Тогда выполнимость формулы (5) для предикатов [math]A_1(x_1), \ldots, A_k(x_k)[/math] и предметов [math]a_{k+1},\ldots,a_n\in M[/math] означает, что при соответствующей подстановке она превращается в выполнимый предикат


[math](\exists x_1)(K_2x_2)\ldots (K_kx_k)\bigl(H(A_1(x_1), A_2(x_2), \ldots, A_n(x_n))\bigr)[/math]
причём
[math]\lambda\Bigl[(\exists x_1)(K_2x_2)\ldots (K_kx_k)\bigl(H(A_1(x_1), A_2(x_2), \ldots, A_k(x_k),\, A_{k+1}(a_{k+1}), \ldots, A_n(a_n))\bigr)\Bigr]=1.[/math]

Далее, по определению 20.3 квантора существования, из последнего соотношения получим, что


[math]\lambda\Bigl[(K_2x_2)\ldots (K_kx_k)\bigl(H(A_1(a_1), A_2(x_2), \ldots, A_k(x_k),\, A_{k+1}(a_{k+1}), \ldots, A_n(a_n))\bigr)\Bigr]=1[/math]

для некоторого [math]a\in M[/math]. Полученное равенство означает, что формула (7) выполнима на множестве [math]M[/math] для предикатов [math]A_1(x_1), A_2(x_2), \ldots, A_n(x_n)[/math] и предметов [math]a,a_{k+1},\ldots,a_n\in M[/math]. Но формула (7) имеет [math]k-1[/math] кванторов, поэтому на основании предположения индукции заключаем, что она выполняется на множестве [math]\mathbf{M}[/math] для предикатов [math]A'_1(x_1), A'_2(x_2), \ldots, A'_n(x_n)[/math] и предметов [math]M_{\alpha},M_{\alpha_{k+1}},\ldots,M_{\alpha_n}\in \mathbf{M}[/math], таких, что


[math]a\in M_{\alpha},a_{k+1}\in M_{\alpha_{k+1}},\ldots,a_n\in M_{\alpha_n}\in \mathbf{M}\,,[/math]

т.е. справедливо соотношение (8). По определению квантора существования, оно приводит к равенству


[math]\lambda\Bigl[(\exists x_1)(K_2x_2)\ldots (K_kx_k)\bigl(H(A'_1(x_1), \ldots, A'_k(x_k),\, A'_{k+1}(M_{\alpha_{k+1}}), \ldots, A'_n(M_{\alpha_n}))\bigr)\Bigr]=1,[/math]

показывающему, что формула [math](\exists x_1)(K_2x_2)\ldots (K_kx_k) \bigl(H(P_1, \ldots, P_n)\bigr)[/math] выполнима на множестве [math]\mathbf{M}[/math] для предикатов [math]A'_1(x_1), A'_2(x_2), \ldots, A'_n(x_n)[/math] и предметов [math]M_{\alpha}, M_{\alpha_{k+1}}, \ldots, M_{\alpha_n}\in \mathbf{M}[/math], таких, что


[math]a\in M_{\alpha}, a_{k+1}\in M_{\alpha_{k+1}}, \ldots, a_n\in M_{\alpha_n}\,.[/math]

Итак, какое бы количество кванторов ни имела формула [math]F[/math], она будет выполняться на m-элементном множестве [math]\mathbf{M}[/math], где [math]m \leqslant 2^n[/math]. Теорема доказана.


Следствие 23.3. Если замкнутая формула [math]F(P_1,P_2,\ldots,P_n)[/math], в которую входят только одноместные предикатные переменные [math]P_1,P_2,\ldots,P_n[/math], тождественно истинна на множестве из [math]2^{n}[/math] элементов, то она общезначима.


Доказательство. Допустим, что рассматриваемая формула [math]F(P_1,P_2,\ldots,P_n)[/math] не общезначима. Тогда ее отрицание [math]\lnot F(P_1,P_2,\ldots,P_n)[/math] есть выполнимая формула. Следовательно, по доказанной теореме, эта формула выполнима на конечном множестве из т элементов, причем [math]m \leqslant 2^n[/math]. Отсюда, на основании теоремы 23.1, заключаем, что она выполнима на множестве из [math]2^n[/math] элементов. Значит, на таком множестве исходная формула [math]F(P_1,P_2,\ldots,P_n)[/math] не тождественно истинна, что противоречит условию. Следствие доказано.


Таким образом, задача об общезначимости формулы, содержащей лишь одноместные предикатные переменные, сводится к задаче о тождественной истинности этой формулы на конечном множестве. В свою очередь, во втором пункте настоящего параграфа показано, как последняя задача решается путем сведения ее к задаче о тождественной истинности некоторой формулы алгебры высказываний, т. е. к задаче, имеющей алгоритмическое решение. Следовательно, и наша исходная проблема разрешения общезначимости для класса формул логики предикатов, содержащих только одноместные предикаты, разрешима.




Проблема разрешения общезначимости и мощность множества, на котором рассматривается формула


Обратимся к проблеме общезначимости. Теорема Лёвенгейма, отмеченная выше, применительно к проблеме разрешения общезначимости звучит так: если формула тождественно истинна в счетно-бесконечной области, то она общезначима. Но снова, как и для проблемы выполнимости формул, переход от (счетно) бесконечных множеств к конечным или обратно является качественным. Следующий пример показывает, что, в отличие от проблемы выполнимости, разрешимость проблемы общезначимости на некотором множестве не влечет ее разрешимости на множестве, объемлющем данное.


Пример 23.4. Докажем, что следующая формула тождественно истинна на любом конечном множестве, но не является таковой на бесконечном множестве:


[math](\forall x,y,z)\bigl[R(x,x)\land \bigl(R(x,z)\to (R(x,y)\lor R(y,z))\bigr)\bigr]\to (\exists x)(\forall y)\bigl(R(x,y)\bigr).[/math]

▼ Решение

Во-первых, отметим, что предикат "[math]x\leqslant y[/math]", заданный на бесконечном множестве комплексных чисел [math]\mathbb{Z}[/math], превращает данную формулу в ложное высказывание:


[math](\forall x,y,z)\Bigl[x \leqslant x \land \bigl(x \leqslant z\to (x \leqslant y\lor y \leqslant z)\bigr)\Bigr]\to (\exists x)(\forall y)(x \leqslant y)[/math]

ибо посылка этой импликации истинна, а следствие ложно.


Во-вторых, докажем, что данная формула тождественно истинна на любом конечном множестве. Доказательство будем вести индукцией по числу элементов в множестве. Для [math]M=\{a_1\}[/math] это очевидно (убедитесь самостоятельно). Если [math]M=\{a_1,a_2\}[/math], то истинными будут утверждения [math]R(a_1,a_1),~ R(a_2,a_2)[/math] и


[math]R(a_1,a_1)\to \bigl(R(a_1,a_2)\lor R(a_2,a_1)\bigr),[/math]

а значит, и дизъюнкция [math]R(a_1,a_2)\lor R(a_2,a_1)[/math]. Если при этом истинно [math]R(a_1,a_2)[/math], то истинно [math](\forall y)(R(a_1,y))[/math], т.е. истинны заключение [math](\exists x)(\forall y)(R(x,y))[/math] импликации данной формулы и вся данная формула. Аналогично, если истинно [math]R(a_2,a_1)[/math], то истинно [math](\forall y)(R(a_2,y))[/math] и снова истинна вся данная формула.


Предположим теперь, что данная формула тождественно истинна на всяком конечном множестве, содержащем не больше, чем п элементов. Покажем тогда, что она будет тождественно истинна и на любом (n+1)-элементном множестве. Пусть [math]M=\{a_1,\ldots,a_n,a_{n+1}\}[/math]. В силу тождественной истинности данной формулы на n-элементном подмножестве [math]M'=\{a_1, \ldots, a_n\}[/math] и предположения истинности на [math]M'[/math] посылки данной формулы, имеем истинные высказывания:


[math](\forall x)(R(x,x))[/math] и [math](\forall x)\bigl(R(x,x)\to (\forall y)(R(x,y)\lor R(y,x))\bigr)[/math].

Тогда истинно заключение [math](\exists x)(\forall y)(R(x,y))[/math]. Не нарушая общности, можно считать, что таким [math]x[/math] будет элемент [math]a_1[/math], т.е. [math](\forall y)(R(a_1,y))[/math], т.е. истинны все утверждения [math]R(a_1,\ldots,a_2),\ldots,R(a_1,a_n)[/math].


Мы хотим доказать, что данная формула истинна на (n+1)-элементном множестве [math]M=\{a_1,\ldots,a_{n},a_{n+1}\}[/math]. Для этого нужно показать, что на нем в предположении истинности посылки данной формулы верно ее заключение [math](\exists x)(\forall y)(R(x,y))[/math]. Если верно [math]R(a_1,a_{n+1})[/math] то утверждение доказано. Если же [math]R(a_1,a_{n+1})[/math] неверно, то, в силу истинности дизъюнкции [math]R(a_1,a_{n+1})\lor R(a_{n+1},a_1)[/math], заключаем, что истинно [math]R(a_{n+1},a_1)[/math].


Далее, в силу истинности в [math]M[/math] посылки [math](\forall x,y,z)\bigl(R(x,z)\to (R(x,y)\lor R(y,z))\bigr)[/math] и утверждений [math]R(a_1,a_2),\ldots, R(a_1,a_n)[/math], приходим к истинности всех следующих дизъюнкций:


[math]R(a_1,a_{n+1})\lor R(a_{n+1},a_2),~\ldots,~ R(a_1,a_{n+1})\lor R(a_{n+1},a_n).[/math]

Поскольку первый член каждой дизъюнкции ложен, то истинны все вторые члены [math]R(a_{n+1},a_2),\ldots,R(a_{n+1},a_n)[/math]. Учитывая еще и истинность [math]R(a_{n+1},a_1)[/math] и, кроме того, [math]R(a_{n+1},a_{n+1})[/math], приходим к истинности утверждения [math](\forall y)(R(a_{n+1},y))[/math] на [math]M[/math]. Это означает истинность на [math]M[/math] заключения данной формулы [math](\exists x)(\forall y)(R(x,y))[/math] и всей данной формулы.


Ситуация с проблемой разрешимости общезначимости, отмеченная в рассмотренном примере, имеет место не только при переходе от конечного множества к бесконечному, но и при переходе от одного конечного к другому конечному, содержащему большее количество элементов.




Решение проблемы для ∀-формул и ∃-формул


В заключение покажем, как решается проблема разрешения общезначимости еще для двух классов формул логики предикатов — -формул и -формул: и в этих случаях она сводится к тождественной истинности формул на конечных множествах. Под -формулой понимается формула


[math](\forall x_1)(\forall x_2)\ldots (\forall x_n)\bigl(F(P_1,P_2,\ldots,P_k)\bigr),[/math]

у которой в предваренной нормальной форме кванторная часть содержит только кванторы общности, а под -формулой понимается формула


[math](\exists x_1)(\exists x_2)\ldots (\exists x_n)\bigl(F(P_1,P_2,\ldots,P_k)\bigr),[/math]

у которой в предваренной нормальной форме кванторная часть содержит только кванторы существования, причем


[math]P_1= P_i(x_1,x_2,\ldots,x_n),\quad i=1,2,\ldots,k\,.[/math]

Теорема 23.5. -формула [math](\forall x_1)\ldots (\forall x_n)\bigl(F(P_1, \ldots, P_k)\bigr)[/math] общезначима тогда и только тогда, когда она тождественно истинна на n-элементном множестве.


Доказательство.В самом деле, пусть данная формула тождественно истинна на некотором n-элементном множестве. Тогда ясно, что она тождественно истинна на любом n-элементном множестве (это следует из наличия взаимно-однозначного отображения этих множеств друг на друга). Тогда на всяком n-элементном множестве будет тождественно истинна и формула [math]F(P_1, \ldots, P_k)[/math]. Рассмотрим теперь интерпретацию на произвольном множестве: [math]P_1=A_1, \ldots, P_k=A_k[/math]. Получим конкретный предикат [math]F(A_1, \ldots, A_k)[/math], зависящий от [math]n[/math] переменных. Подставляя вместо них конкретные предметы, мы фактически имеем дело с n-элементным множеством, на котором этот предикат тождественно истинен. Значит, он будет тождественно истинен и на всем данном множестве. Значит, формула [math]F(P_1, \ldots, P_k)[/math] тождественно истинна на любом множестве, а вместе с ней тождественно истинна на любом множестве, т. е. общезначима, и формула [math](\forall x_1)\ldots (\forall x_n)\bigl(F(P_1, \ldots, P_k)\bigr)[/math].


Теорема 23.6. -формула [math](\exists x_1)\ldots (\exists x_n)\bigl(F(P_1, \ldots, P_k)\bigr)[/math] общезначима тогда и только тогда, когда она тождественно истинна на одноэлементном множестве.


Доказательство этой теоремы аналогично доказательству предыдущей теоремы. Проведите его самостоятельно.


Итак, рассмотрения настоящего параграфа красноречиво демонстрируют, что в то время как в алгебре высказываний проблемы разрешимости выполнимости и общезначимости формул решались сравнительно легко, в логике предикатов они представляют собой весьма трудные и, в целом, отнюдь не решенные до конца проблемы.


Часовой пояс: UTC + 4 часа [ Летнее время ]


Яндекс.Метрика

Copyright © 2010-2016 MathHelpPlanet.com. All rights reserved