Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Математическая логика и теория алгоритмов. Логика предикатов

.pdf
Скачиваний:
1
Добавлен:
12.11.2023
Размер:
3.59 Mб
Скачать

2.4. Операции над множествами

Каждый предикат определяет множество. Выясним, какие множе­ ства определяются предикатами, в определении которых участвуют ло­ гические связки. Напомним, что множество [ Р(х)} мы полагаем со­ стоящим из всех таких элементов ж, что Р{х) = И (и только из них). При этом х может быть кортежем длины п — в таком случае пре­ дикат Р является n-местным. В частности, {(x i, ...,x n) | И} = Un,

{(хи ... ,хп) \ Л } = 0.

П ример 2.9. Пусть Р — одноместный предикат и р — высказыва­ ние. Тогда:

если р = И; если р = Л; если р = И; если р = Л;

{х I р} =

С/,

если р = И;

0 ,

если р = Л;

 

У праж нение 2 .6 . Докажите, что

если р = И; если р = Л;

если р = И; если р = Л.

Каждая операция над предикатами определяет равносильную опе­ рацию над множествами. Как и для логических операций, для каж­ дой операции над множествами вводится специальный символ. Прежде чем приводить определения, заметим, что принадлежность множеству Л можно рассматривать как характеристическое свойство элементов мно­ жества А. Иначе говоря, А = { х \ х е А),

Определение 2 .1. Объединением множеств Ап В называется мно­ жество

Al) В = {х \ х е AV х € В}.

Определение 2.2. Пересечением множеств Л и В называется мно­ жество

А П В = { х \ х е А Л х € В } .

Определение 2.3. Разностью множеств А и В называется множе­

ство

А \ В = { х \ х е А Л х $ В}.

Определение 2.4. Симметрической разностью множеств А и В называется множество

А Д В = ( А \ В ) и ( В \ А ) .

Определение 2.5. Дополнением множества А называется множе­

ство

А = { х \ ^ ( х е А)} = и \ А .

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

Введённые операции над множествами обладают следующими свой­ ствами.

1. Z = A n A = A u A = A \Â = A.

2. А ПА = А \ А = 0 .

3 . A U A = U.

4.А \ В = А ПВ .

5.Коммутативность операций объединения и пересечения:

A u B = B ü A ,

АГ\В = В П А .

6. Ассоциативность операций объединения и пересечения:

(A U В) U <7 = Л U (В U £7),

( Л П В ) П С = А п ( В п С ) .

7. Дистрибутивность операций объединения и пересечения:

А и { В п С ) = ( л и в ) п ( л и с ) ,

АП {В U С) = (Л П Б) U {А ПС).

8. Законы двойственности^ или законы де Моргана: л С П в ^ л п в , Х п я = л и в .

Приведем для примера доказательство свойства 4. Чтобы множества были равны, необходимо и достаточно, чтобы они были подмножества­ ми друг друга. Значит, нам нужно доказать справедливость соотношений А \В С АП В и АП В Ç Л \ В. Пусть х £ Л \ В, тогда по определению разности х G Л и х £ В, следовательно, х £ Л и х £ В, то есть по опреде­ лению пересечения х £ ЛПВ. Таким образом, любой элемент множества Л \ В является элементом множества Л П В, и значит, А \ В Ç А п В . Первое соотношение доказано. Проведем обратные рассуждения. Если х £ Л П В, то по определению пересечения х £ Л и х ^ В, то есть х £ Л \ В, значит, Л П В Ç Л \ В. Итак, множества Л \ В и Л П В являются подмножествами друг друга, следовательно, они равны.

Упражнение 2.7. Рассуждениями, аналогичными приведенным выше, докажите по одному свойству из пунктов 5-8.

Нетрудно заметить, что свойства 1-8 записываются весьма похоже на свойства логических связок, приведённые в конце подраздела 2.2. Что­ бы сформулировать, в чём именно заключается это сходство, заметим следующее. Рассмотрим равенства множеств, выраженные через опера­ ции объединения, пересечения и дополнения. Если заменить в них мно­ жества Л, В и С высказываниями a, bи с, множество 0 — ложным выска­ зыванием, множество U — истинным высказыванием, а знаки операций объединения, пересечения и дополнения — соответственно дизъюнкцией, конъюнкцией и отрицанием, — получим верные равенства логики выска­ зываний. Наоборот, любое равенство высказываний, выраженное через операции дизъюнкции, конъюнкции и отрицания, обратной заменой об­ ращается в равенство множеств.

Пример 2.10. Пусть Л, В, С — произвольные множества и

S = ( A \ B ) \ C \ A \ ( B \ C ) .

Попробуем упростить это выражение множества S через множества А, В и С. К решению этой задачи можно подойти по-разному. Используем сначала свойства операций над множествами:

S = ( А П В ) Г \ С п А п В п С =

= 1 п ( в п с ) п ( т в п с ) =

= ( l u ( в п с ) ) п (л П (В UÜ)) =

= ( l u ( Б и с ) ) n ( in (SUC)) =

= ( ( lu (в и с)) n i) n ( s u c ) =

=( ( ln l) U ( ( S U C ) n l) ) n ( S U C ) =

=((S UC) n 1 ) n (B U C) =

=((B U C )n ((B U C )n !) =

=( ( B u c ) n ( s u c ) ) n i =

=( ( B n B ) U C ) n l= ( 0 U C ) n l = C n l .

A теперь воспользуемся описанным выше соответствием между опе­ рациями над множествами и логическими связками. Множеству

S = ( A n B ) r \ C n A r \ B n C

ставится в соответствие высказывание

s = *i((a Л -ib) П “>с) Л

Л *ч(Ь Л -пс)).

С помощью таблицы истинности (см. подраздел 2.2) установим, что зна­ чение высказывания s не зависит от значения Ь} а от значений а и с зависит следующим образом:

а

С

S

и

и

и

и

л

л

ли л

лл л

Отсюда ясно, что s = а Л с. А значит, S = А П С.

U

У каждого из приведённых способов упрощения исходного выраже­ ния есть преимущества. Построение таблицы истинности проще с точ­ ки зрения алгоритма решения задачи — не требуется проявлять изоб­ ретательность при использовании свойств операций. С другой стороны, чтобы заполнить таблицу истинности, необходимо было рассмотреть все различные комбинации значений высказываний a, bи с: 1) а = b = с = И; 2) а = b = И, с = Л; Кроме того, полученная таблица не дает одно­ значного ответа на исходный вопрос — нужно ещё понять, какое именно выражение алгебры логики соответствует полученному набору значений И и Л.

У праж нение 2.8. Сколько комбинаций значений высказываний a, b и с необходимо рассмотреть, чтобы построить таблицу истинности из примера 2.10? А если высказывание s выражается не через три вы­ сказывания, а через п?

Понятия подмножество и декартово произведение также можно ввести с помощью логических операций.

Определение 2.6. Множество А является подмножеством мно­ жества В ) если | х е А х € В} = U.

Определение 2.7. Декартовым произведением множеств А и В называется множество

А х В = {(х, у) | х € А А у В}.

Пример 2.11. Справедливо следующее свойство:

{ж I Р(ж)} х {ж I <Э(ж)} = {(ж, у) I Р(х) А <Э(у)}.

Действительно,

оно следует из определения 2.7 с учётом того, что

ж 6 {z | P(z)}

Р(х) = И и у 6 | Q{z)}

Q(y) = И.

Задачи

2.1. Докажите справедливость логических законов:

-i(oiV Von) = (-«Oi)A...A(->an);

->{oi A ... A dn) = (->ai) V V (->a„).

Используйте законы де Моргана и метод математической индукции.

2.2. Дайте определение множества

{(я, у) | х е А V у е В}

через множества А х В и U,

2.3.Докажите, что любое сложное высказываниер, составленное из дан­ ных простых высказываний a i, ... , an, логических связок и скобок, можно представить в дизъюнктивной норамальной форме: в виде дизъюнкции

р = ргУ Vрт,

высказываний pi,... ,рШ| каждое из которых является конъюнкцией

Pi = (&1п Л ... Л bin),

где для любой пары (ij) е {1, ... , т} х {1, .. . ,п} либо Ъу = а; , либо bij = ->aj.

2.4.Докажите, что любое сложное высказываниер, составленное из дан­ ных простых высказываний a i , ... , an, логических связок и скобок,

можно представить в конъюнктивной норамальной форме: в виде конъюнкции

p = P i A . . . A p m,

высказываний p i, ... ,pm, каждое из которых является дизъюнкцией

Pi = (Ьа V V bin),

где для любой пары (г, j) е {1,... ,m} х {1, . . . , п} либо by = <ij, либо bij = -«aj.

2.5.Каким может быть число т в задачах 2.4 и 2.3 (все высказывания Pi предполагаются различными)?

Глава III. Язык логики предикатов

Когда-то Аристотель привел следующий простой пример логическо­ го рассуждения: «Все люди смертны. Сократ — человек. Следовательно, Сократ смертен». С тех пор прошло более двух тысячелетий, но пример Аристотеля продолжает кочевать по учебникам логики и философии. Мы тоже не можем устоять перед искушением использовать его в нашей книге.

Итак, из двух посылок: «все люди смертны» и «Сократ — человек», делается вывод, что Сократ смертен. И справедливость этого вывода не вызывает у нас сомнения. Видимо, здесь работает некоторый логический закон.

Можно представить рассуждение следующим образом. Перепишем посылки так: «если х — человек, то х смертен»; «если х — Сократ, то

х— человек». Поскольку их значение зависит от переменной х, они яв­ ляются предикатами, но мы зафиксируем значение переменной, положив

х= Сократ. Получаем высказывания: «если Сократ — человек, то Со­ крат смертен»; «если Сократ есть Сократ, то Сократ — человек». Будем считать эти высказывания истинными. Высказывание «Сократ есть Со­ крат», естественно, тоже истинно. Теперь, дважды применяя правило modus ропепа, получаем: всё в порядке, Сократ смертен.

Рассмотрим другое рассуждение: «Все люди смертны. Все греки — люди. Следовательно, все греки смертны». Вроде бы, все аналогично, но теперь нас интересует не один из греков, а все греки сразу, иначе говоря, множество греков. А чтобы формально рассуждать о множествах, без предикатов и переменных не обойтись. Значит, требуются также прин­ ципиально новые логические операции.

Такие операции, а также символы, которыми они обозначаются в формальных языках, называются квйнторами1*. В отличие от логи­ ческих связок, которые позволяют получать высказывания только со­ единяя между собой более простые высказывания, кванторы позволяют строить новые высказывания используя предикаты ненулевой местности. Для удобной формальной записи рассуждений классической математики оказывается достаточно двух кванторов. К их изучению мы и приступим.15

15От лат. quantum — сколько.

3.1. Кванторы

Символ V называется квантором всеобщности16. Используется он следующим образом. Пусть Р — предикат и х — переменная. Тогда вы­ ражение Vx Р(х) читается «для всех х (имеет место) Р от х» и означает, что свойством Р обладают все предметы из универсального множества.

Второй квантор имеет вид 3 и называется квантором существова­ ния17. Выражение ЗхР(х), где Р — предикат, х — переменная, чита­ ется «существует такое х, что (имеет место) Р от х» и означает, что по меньшей мере один предмет из универсального множества обладает свойством Р.

П ример 3.1. Чтобы записать на формальном языке утверждение «Не все числа делятся на 2», можно использовать квантор всеобщности V и предикат, утверждающий делимость на 2. Введём предикат Р:

Р(х) х делится на 2,

Теперь нужно перевести на формальный язык предложение: «Неверно, что для всех х имеет место свойство: х делится на 2». Используя кван­ тор V и логическую связку получаем: ->VxP(x).

Замечательно, что то же самое утверждение можно записать, ис­ пользуя не квантор всеобщности, а квантор существования. Действи­ тельно, исходное утверждение «Неверно, что все числа делятся на 2» можно переформулировать следующим образом: «Существует число, для которого неверно, что оно делится на 2*. Переводя на формальный язык, получаем: Зх-«Р(х).

Обратим внимание на важное свойство кванторов, которое в рас­ смотренном примере проявилось в следующем. Несмотря на то что вы­ ражения ->VxP(x) и Зх-»Р(х) содержат переменную х, они являются высказываниями — хотя бы потому, что они являются переводами на формальный язык высказывания «Не все числа делятся на 2». А каждое высказывание является либо истинным, либо ложным, что определяется однозначно и от значений каких бы то ни было переменных не зависит. При этом записанное без кванторов утверждение Р(х) высказыванием

1вЭто перевернутый символ А — первая буква немецкого слова aile — всё.

17Это перевернутый символ Б — первая буква немецкого слова existerez. суще­ ствовать.

не является и может быть истинным для одних х и ложным для других. Это явление, называемое связыванием переменной, имеет место в любых выражениях видаVxP(x) и ЭхР(х), где х — переменная и Р предикат. Переменная в таких случаях называется связанной.

Пример 3.2. Запишем на формальном языке утверждение «Все числа, делящиеся на 6, делятся и на 3». Оно равносильно следующе­ му: «Для всех х, если х делится на б, то х делится на 3». Определим предикаты Q и R следующим образом:

Q(x) ^ х делится на 5;

R(x) ч=± х делится на 6.

Получаем:

Vx(iï(x) -> Q(x)).

Запишем также утверждение «Не все числа, делящиеся на 3, делятся на 6»:

-»Vx(Q(x) Д(®)).

Оба рассмотренных утверждения можно записать на формальном языке с помощью квантора существования. Действительно, утверждение «Все числа, делящиеся на 6, делятся и на 3» можно переформулировать следующим образом: «Не существует такого числа х, что х не делится на 3 и х делится на б». На формальном языке получаем:

-»3x(-iQ(x) Л R(x)).

Утверждение «Не все числа, делящиеся на 3, делятся на б» можно сфор­ мулировать так: «Существует такое число х, что х делится на 3 и х не делится на 6». На формальном языке получаем:

3x(Q(x) ЛчД(х)).

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

Заметим сначала, что законы де Моргана, которые мы сформулиро­ вали для двух высказываний, согласно задаче 2.1 обобщаются на любое

конечное их число. А именно, если a i, ... , ап — произвольные высказы­ вания, то

"4*1 V V ап) = (-.ai) Л ... А (-•On);

-•(ai Л ... А ап) = (—iai) V V (->Оп).

Действительно, обе части первого равенства истинны, если и только если все высказывания a i , ... ,Оя ложны; обе части второго — если и только если хотя бы одно из высказываний ai,. . . , ап ложно.

Теперь допустим, что универсальное множество содержит конечное число элементов, а именно га. Обозначим их ... ,гап. Тогда, исходя из естественного смысла логических связок Л, V, V, 3, имеем:

VxP(s) = Р(щ) Л ... Л P(un);

3хР(х) я= P(ui) V ... V P(un).

В таком случае каждый из кванторов выражается через другой с помо­ щью законов де Моргана:

VxP(x) = Р(иi) Л ... Л P(un) =

=V V (-yP{un))) = - 1(За:(->Р(а:)).

3хР{х) = Р{щ) V V P(Un) =

= ~'(hp (ui)) Л ... Л ЬР(ип))) = -i(Vx(-nP(a:)).

Полученные равенства естественно использовать и в тех случаях, ко­ гда количество элементов универсального множества бесконечно. А зна­ чит, для произвольных одноместного предиката Р и переменной х имеют место следующие обобщенные законы де Моргана:

-*УхР(х) = 3x-*P(x)i -*3хР(х) = Væ-iP(x).

Проводя в примерах 3.1 и 3.2 преобразования формальных выра­ жений, мы исходили из естественного понимания их смысла. Сейчас мы видим, что эти примеры демонстрировали действие обобщенных законов де Моргана. Причём в примере 3.2 работали также другие уже известные нам свойства логических связок. Эти логические законы можно приме­ нять для преобразования формальных выражений «автоматически», без рассмотрения содержания.

Соседние файлы в папке книги