Игошин Математическая логика и теория алгоритмов (1019110), страница 45
Текст из файла (страница 45)
Последняя задача, как мы знаем, эффективно разрешима. Продемонстрируем идею действия этого алгоритма на конкретном примере. Рассмотрим формулу логики предикатов Фу)(Лх) Р(х, у) л Р(у, у)) и выясним, будет ли она выполнима или общезначима на двухэлементном множестве [а, Ь). Напомним (см. 5 20), что поскольку на этом множестве высказывание ('Фх)(Я(х)) эквивалентно конъюнкции Я(а) л Я(Ь), а высказывание (Зх)(Я(х))— дизъюнкции Я(а) ~ Я(Ь), то данная формула равносильна формуле (Эх)(- Р(х, а) л Р(а, а)) л (Вх)(-Р(х, Ь) л Р(Ь, Ь)), которая, в свою очередь, равносильна формуле [(-Р(а, а) л Р(а, а)) г (- Р(Ь, а) л Р(а, а))[ л л [( Р(а, Ь) л Р(Ь, Ь)) ч ( Р(Ь, Ь) л Р(Ь, Ь))).
Одна двухместная предикатная переменная Р(х, у) исходной формулы как бы распалась на четыре пропозициональных переменных Р(а, а), Р(а, Ь), Р(Ь„а), Р(Ь, Ь) последней формулы, потому что при подстановке в исходную формулу вместо Р(х, у) 184 двухместного предиката, определенного на (а, Ь), указанные четыре переменные превратятся в конкретные высказывания (вообще говоря, различные). Так что последняя формула есть по сути дела формула алгебры высказываний. Чтобы это увидеть совсем отчетливо, обозначим указанные четыре пропозициональные переменные буквами Р, Я, Ц, 5 соответственно. Тогда полученная формула примет вид: [(- Р л Р) «( Д л Р)) л [( Я л Ю)» ( Я л Ю)1. Составив таблицу истинности данной формулы алгебры высказываний (или каким-либо другим способом, как это делалось в алгебре высказываний), легко установить, что формула не является тавтологией, но выполнима: она превратится в истинное высказывание, если вместо Р и э' подставить истинные высказывания, а вместо Ц и Я вЂ” ложные.
Применительно к исходной формуле логики предикатов это означает, что она не общезначима на двухэлементном множестве, но выполнима в нем: она превратится в выполнимый предикат, если вместо предикатной переменной Р(х, у) подставить в формулу такой конкретный двухместный предикат, который при одинаковых значениях его предметных переменных х и у превращается в истинные высказывания, а при разных — в ложные. Пример формулы, выполнимой на бесконечном множестве и невыполнимой ни на каком конечном множестве. Наличие такой формулы позволит сделать, в частности, следующий вывод относительно проблемы разрешения для выполнимости формул логики предикатов: по выполнимости формулы на некотором множестве нельзя судить о выполнимости этой формулы на его подмножествах. Вот п р и м е р такой формулы: (тх)(Бу)(Р(х, у)) л (Чх)(-Р(х, х)) л л («х)('Фу)(«г)[(Р(х„у) л Р(у, г)) -» Р(х, г)].
Можно сказать, что она характеризует нерефлексивность (второй член конъюнкции) и транзитивность (третий член конъюнкции) некоего двухместного предиката Р(х, у). Эта замкнутая формула превращается в истинное высказывание, если в нее вместо предикатной переменной Р(х, у) подставить, например, двухместный предикат «х < у», определенный на Фх Ф, где Ф вЂ” множество всех натуральных чисел, т.е.
(т'х)(Лу)(х<у) л ('с~х)(-(х<х)) л л ('Фх) ('Фу) (~е) [(х < у л у < 2) -+ х < х1. Покажем, что эта формула не выполнима ни на каком конечном множестве. Допустим противное, т.е. предположим, что существует конкретный предикат А(х, у), определенный на конечном множестве М, такой, что высказывание 185 (чх)(Зу)(А(х, у)) л ('Фх)( А(х, х)) л л (~гх)(~Уу)('с'г)[(А(х, у) л А(у, г)) -э А(х, г)) истинно.
Тогда исгинным высказыванием будет и каждый член коньюнкции (1). В частности, истинно высказывание ('Фх)(Зу)(А(х, у)). Возьмем элемент а, е М. Тогда из истинности последнего высказывания следует вывод: существует такой элемент аз е М, что высказывание А(ан аз) истинно. Далее, аналогично существует такой а, е М, что истинно высказывание А(аз, а,), и т.д. Поскольку множество М конечно, то не все элементы а„ап ап ... попарно различны. Пусть ал = а „(д > О).
Тогда из истинности высказываний А(ар, ар,,), А(ар,, ар,з), ..., А(ал„н а,„,) в силу истинности высказывания (третий член истйнной конъюнкции (1)) (чх)(Ъу)(Чг)[(А(х, у) л А(у, г)) -+ А(х, г)[ заключаем, что истинно высказывание А(ар, а, ), т,е. высказывание А(ар, ар). Но это противоречит истийности высказывания (второй член истинной конъюнкции (1)) ('Фх)(- А(х, х)). Полученное противоречие доказывает, что никакой конкретный предикат, определенный на конечном множестве, не может превратить данную формулу в истинное высказывание, т.е.
данная формула невыполнима ни на каком конечном множестве. Проблема разрешения выполнимости: влияние мощности множества н структуры формулы. Во-первых, нетрудно понять, что если некоторая формула выполнима или тождественно истинна на некотором множестве, то то же самое будет иметь место и на любом другом множестве с тем же самым числом элементов, т.е. на любом другом множестве, равномощном с исходным (это следует из наличия взаимно-однозначного отображения этих множеств одною на другое). Поэтому проблема разрешимости выполнимости и общезначимости формул логики предикатов состоит фактически в том, чтобы ответить на вопрос, для каких множеств данная формула выполнима (соответственно общезначима), а для каких — нет.
В дополнение к уже установленным результатам укажем еще ряд результатов в этом направлении. Так, теорема Левенгейма утверждает, что если формула выполнима на каком-нибудь бесконечном множестве, то она выполнима и на счетно-бесконечном множестве (доказательство можно найти, например, в книге П. С.
Новикова [5.18! ). Дальнейшее сведение проблемы разрешимости со счетно-бесконечных множеств на конечные, для которых проблемы разрешимости решаются, невозможно. Примером формулы, выполнимой на бесконечном множестве и не выполнимой ни на каком конечном множестве, может служить формула (1), рассмотренная в предыдущем пункте (см.
также Задачник, формулы в задаче Мо 9.56). !86 Далее, примеры формул из задач Х«9.54 и 9.55 Задачника показывают, что положительное решение проблемы выполнимости формулы на некотором конечном множестве не влечет ее положительного решения для этой формулы на множествах с меньшим числом элементов. Так, в задаче Хв 9.54 Задачника подробно анализируется формула (Зх, у, г)[А(х, у) п А(х, г) л А(у, г) л (чг)( — А(г, г))[ относительно которой доказывается, что она будет выполнима на множестве из трех элементов (выполняющий предикат «х в у») и не выполнима на множестве из двух элементов.
В задаче Хв 9.55 Задачника предлагается привести пример формулы, выполнимой на множестве из четырех элементов и не выполнимой ни на каком множестве из трех элементов. Ясно, что она строится по образу и подобию предыдущей формулы: (Зх, у, г, и)[Я(х, у) л А(х, г) л А(х, и) п А(у, г) п п А(у, и) п А(г, и) л(чг)( — А(г, г))). Тем не менее проблема выполнимости обладает одним общим свойством.
Теорема 23.1. Если некоторая 4юрмула логики предикатов выполнима в каком-нибудь множестве, то она выполнима также и в каждом множестве с большим числам элементов. Доказательство. Не нарушая общности, можно считать, что множество М' с числом элементов большим, чем число элементов в М, содержит М в качестве подмножества: достаточно установить взаимно-однозначное соответствие между элементами множества Ми элементами подмножества Мь множества М', равномощного М.
Пусть теперь формула Р(Р„...„Р„) выполнима в множестве М и М ~ М'. Это означает, что некоторые конкретные предикаты А„..., А, заданные над множеством М, превращают формулу Г(Рь ..., Р ) в выполнимый предикат Г(Аь ..., А ) над М. Увидим, что определения этих предикатов можно так расширить до предикатов А;, ..., А', заданных уже на М', что они также будут превращать формулу Р(Рь ..., Р ') в выполнимый предикат Р(А;, ..., А') над М'. Для этого выбирается элемент а в М, и предикат А;(хь ..., х„) задается так. Логические значения высказывания А;(а„..., а„) на кортеже а„..., а„элементов из М' вычисляют- сЯ по следУющемУ пРавилУ: ).[А;(а„..., а„)] = ЦА;(аь ..., а„)1, где а„= аы если а„и М, и а = а, если а„в М'',М. Тогда ясно, что предикат Г(А;, ..., А') будет превращаться в истинное высказывание на тех же самых предметах из М ~ М', что и предикат Р(А;, ..., А'). С) В заключение укажем ряд результатов, которые сводят (редупируют) проблему разрешимости для произвольных формул ло- 187 гики предикатов к проблеме разрешимости формул некоторых специальных видов.
Будем считать, не нарушая общности, что все формулы, о которых идет речь, не имеют свободных предметных переменных, т.е. являются замкнутыми. Во-первых, мы уже отмечали (см. теорему 21.5), что для всякой формулы логики предикатов существует равносильная ей формула в предваренной нормальной форме. Более того, еще в 1930-е гг, Сколем доказал, что для каждой формулы логики предикатов можно указать формулу в предваренной нормальной форме, кванторная приставка которой имеет вид (Чх,) ... ('ох )(Зу,) ... (Зу„) (так называемая нормальная форма Сколема), которая относительно выполнимости равнозначна первой.
Это означает, что при решении проблемы выполнимости, не уменьшая общности, можно ограничиться рассмотрением лишь формул, имеющих кванторные приставки указанного вида. Далее, для каждой формулы можно указать равнозначную ей в отношении выполнимости формулу, в которой имеются только одноместные и двухместные предикатные переменные (Левенгейм, 19!5).
Можно, далее, ограничиться даже такими формулами, в которых встречается только один-единственный двухместный предикатный символ и, кроме того, приставка имеет вид: (Зх,) ... (Зх )(Чу,)(Чуг) (Зг)(~уи,) ... (чи„) (Кальмар, 1936). При решении проблемы выполнимости можно также ограничиться формулами, приставки которых имеют форму (Фх~)(ухг)Сухз)(ЗУ~) " (Зуч) (Гедель, 1933) или же форму (Зх)(чу)(Зг)(яи~)" (~уи,) (Аккерман, 1936). Имеются и другие предложения редукции рассматриваемой проблемы либо к формулам с кванторными приставками специфических видов, либо к формулам, содержащим предикатные переменные от определенного числа переменных. Решение проблемы для формул, содержащих только одноместные предикатпые переменные. В этом случае проблема сводится к проблеме разрешения выполнимости и общезначимости формулы на некотором конечном множестве, которая, как установлено выше, имеет эффективное решение.