Материал: Lecture08-09R-RelationalCalculus

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Глава 5 Реляционные исчисления Глава 5.Реляционные исчисления

5.1.Основные понятия математической логики

Логика – это наука о законах и формах мышления. Математическая логика – это логика, развиваемая с помощью математических методов.

В математической логике имеется несколько самостоятельных направлений, например, нечеткая логика, модальная логика, временная логика, эпистемическая логика и т.д. Однако все эти логики базируются на так называемой классической логике. В классической логике выделяют логику высказываний (исчисление высказываний) и логику предикатов (исчисление предикатов). Здесь мы дадим основные понятия из этих двух логических исчислений.

Примечание. В исчислении высказываний и исчислении предикатов мы осветим кратко только те вопросы, которые относятся к теории их моделей, оставляя в стороне теорию доказательств.

5.1.1.Исчисление высказываний

Высказывание – это некоторое утверждение, относительно которого заключается его истинностное значение, - истина или ложь.

Исчисление высказываний – это совокупность правил построения формул исчисления, правил определения истинностных значений произвольных формул и правил эквивалентных преобразований произвольных формул.

Элементарное высказывание (или элементарная формула) исчисления высказываний – это высказывание, внутренняя структура которого (с точки зрения рассматриваемой логики) не расчленима. Будем обозначать их про­пис­ны­ми буквами конца латинского алфавита: P, Q, R, …, P1, P2, …

Произвольные формулы исчисления высказываний строятся из элементарных с применением следующих логичес­ких (или пропозициональных) связок:

Связка Название Как читается

 отрицание "не", "не верно, что"

 дизъюнкция "или", "… или…", "… или оба"

& конъюнкция "и"

 импликация "влечет", "если…., то…", "только если"

 эквивалентность "эквивалентно", "равносильно", "тогда и только тогда"

( Иногда вместо  употребляют  (черта над формулой, например ), вместо & – , вместо  – , вместо  –  ). В формулах со множеством связок используется следующая упорядоченность логических связок в "порядке старшинства": , , , , . Связка более высокого "ранга" имеет большую область действия. Если эту упорядо­чен­ность следует изменить, то употребляются скобки. Логическая связка, которая выполняется последней в формуле, называется внешней. Так, например, в формуле (P  Q) & (R  ( R  P )) внешней связкой является &.

Логические связки имеют следующие таблицы истинности:

A

B

A  B

A  B

A & B

A  B

A

 A

t

t

t

t

t

t

t

f

t

f

f

f

f

t

f

t

f

t

f

t

f

t

f

f

t

t

f

f

Многократным применением таблиц истинности логических связок можно строить таблицы истинности для произ­во­ль­ной формулы исчисления высказываний. Например, для формулы P  ( Q  R  ( R  P ) ) ниже приведе­ны окончательная таблица распределения ее истинности (слева) и подробности вычисления третьей строки (справа).

P

Q

R

P  ( Q  R  ( R  P ) )

1.

t

t

t

f

2.

t

t

f

t

P

(

Q

R

(

R

P

) )

3.

t

f

t

f

t

(

f

t

(

t

t

) )

4.

t

f

f

t

t

(

t

(

t

f

))

5.

f

t

t

t

t

(

t

f

)

6.

f

t

f

t

t

f

7.

f

f

t

t

f

8.

f

f

f

t

t

f

f

t

t

f

t

f

f

t

Отметим, что если формула содержит N атомарных формул, то ее таблица истинности состоит из 2N строк.

А) Общезначимость

Определение. Формула называется общезначимой (или тождественно истинной или тавтологией), если в таблице истин­нос­ти столбец ее значения содержит только t. Другими словами, это такие формулы, которые принимают только значение t при любых значениях атомарных формул. Общезначимость формулы В обозначается так:╞ В

Вот словесный пример такого высказывания: "Если я пойду слишком быстро, то я пойду слишком быстро" Оно общезначимо в силу исчисления высказываний, ибо имеет вид Р  Р.

Общезначимые формулы (тавтологии) могут показаться на первый взгляд неинтересными, ибо, в некотором смысле, они не несут никакой информации. То, что приведенное выше высказывание является тавтологией, едва ли покажется достаточным поводом для его рассмотрения. Но приводимый далее материал показывает, что общезначимые формулы важны.

Две формулы являются эквивалентными, если при любых значениях их атомарных формул они одновременно принимают истинное или ложное значение. Другими словами, формулы А и В эквивалентны, если формула A  B общезначима, что обозначается как ╞ A  B. Такие тавтологии определяют множества эквивалент­ных формул. Приведем наиболее важные из них, указывая их общепринятые названия.

1. ╞ А & В  В & А; ╞ А  В  В  А – коммутативность конъюнкции и дизъюнкции

2. ╞ (А & В) & С  А & (В & С); ╞ (А  В)  С  А  (В  С) – ассоциативность конъюнкции и дизъюнкции

3. ╞ А & (В  С)  (А & В)  (А & С) – дистрибутивность конъюнкции

4. ╞ А (А & С)  (А  В) & (А  С) – дистрибутивность дизъюнкции

5. ╞ А & А  А; ╞ А  А  А – поглощение в конъюнкции и дизъюнкции.

6. ╞ А & (А  В )  А; ╞ А (А & В )  А – элиминация

7. ╞ А  А – закон двойного отрицания.

8. ╞ (А  В )  А & В; ╞ (А & В )  А  В – законы Де Моргана

9. ╞ А  В  В  А – контрапозиция

Выражение одних связок через другие

10. ╞ А  В  (А & В) ╞ А  В  А  В

11. ╞ А & В  (А  В) ╞ А & В  (А  В)

12. ╞ А  В  (А & В) ╞ А  В  А  В

13. ╞ (A  B)  (А  В) & (B  A)

Если тавтология содержит "" в качестве внешней логической связки, то это свидетельствует о следующем: Если установ­ле­но, что формула, находящаяся слева от "", общезначима, то общезначимой является также формула, находящаяся справа от "". Нап­ри­мер, тавтологией является формула А  (В  А), следовательно, если из контекста известно, что формула А общезначима, то общезначимой является также формула В  А, где В – произвольная подформула. Все это может быть сформулировано в виде следующего утверждения:

Утверждение. Если ╞ А и ╞ А  В, то ╞ В

Рассмотрим такие тавтологии.

Введение и удаление логических символов:

14. ╞ А  (В  А)

15. ╞ А  А  В

16. ╞ А & В  А; ╞ А & В  В

17. ╞ (А  В)  (А  В) ╞ (А  В)  (В  А)

18. ╞ (A  B) & (B  C)  (A  C) - транзитивность эквивалентности

Наконец, тавтологии без эквивалентности и импликации, но с очевидным смыслом:

19. ╞  (A & А) – отрицание противоречия.

20. ╞ A  А – закон исключенного третьего.

Утверждение. Пусть Е – формула, построенная из атомов Р1,…, Рn и их отрицаний Р1,…, Рn и с применением только связок & и . Пусть Е* - формула, полученная из Е заменой & на  и  на & и каждого атома на его отрицание. Тогда ╞ Е  Е*.

В) Следование

Определение. Говорят, что В следует из А или является следствием из А, и пишут А╞ В, если в таблицах истинности формула В имеет значение t на всех тех строках, на которых принимает значение t формула А.

Например, покажем, что P & Q ╞ P  Q.

P

Q

P & Q

P  Q

t

t

t

t

t

f

f

t

f

t

f

t

f

f

f

f

Как видим из таблиц истинности для формул P & Q и P  Q, на той единственной строке (первой), где формула P & Q принимает истину, истинна также формула P  Q. Следова­тель­но необходимое следствие действительно существует. Обратим внимание, что для следствия P  Q из P & Q совершенно неважно, что имеются строки (вторая и третья), где P & Q принимает значение ложь, а P  Q истинна.

Определение (обобщение). Говорят, формула В следует из формул А1, А2,…, Аm, и пишут А1, А2,…, Аm ╞ В, если в таблицах истинности на всех тех строках, где все формулы А1, А2,…, Аm одновременно принимают значение истина, истинным является также и формула В.

Например, покажем, что Р  Q, Q  P ╞ P  Q

P

Q

P  Q

Q  P

P  Q

t

t

t

t

t

t

f

f

t

f

f

t

t

f

f

f

f

t

t

t

Формулы P  Q и Q  P одновременно истинны на первой и четвертой строках. На этих же строках истинна и формула P  Q. Значит формула P  Q следует из формул P  Q и Q  P. Обратите внимание, что формула P  Q не следует отдельно из каждой формулы P  Q или Q  P.

Утверждение. А ╞ В тогда и только тогда, когда ╞ А  В. Более общо, А1, А2,…, Аm-1, Аm ╞ В тогда и только тогда, когда А1, А2,…, Аm-1 ╞ Аm В.

Определение. Формула являющаяся дизъюнкцией конъюнкций атомарных формул или их отрицаний называется дизъюнктивной нормальной формой. Формула являющаяся конъюнкцией дизъюнкций атомарных формул или их отрицаний называется конъюнктивной нормальной формой.

Утверждение. Любая формула может быть представлена в виде дизъюнктивной или конъюнктивной нормальной формы.

5.1.2.Исчисление предикатов

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

Итак, можно сказать, что предикат – это (пропозициональная) функция, областью определения которой может быть любое множество, а областью значений – логические значения true, false. Предикат – это функция, которая становится высказыванием при подстановке значений вместо переменных.

Для обозначения предикатов будем использовать большие буквы конца латинского алфавита: P, Q, R,…,P1, P2,…

Элементарной (атомарной) формулой исчисления предикатов называется выражение Р(x1, x2, …, xn), где Р – предикатный символ, а x1, x2, …, xn – индивидные переменные. Если формула содержит n переменных, то она называется n-местной.

Произвольная формула определяется следующим образом:

  • Атомарная формула является формулой.

  • Если А и В являются формулами, то формулами являются: А  В, А  В, А  В, А  В, А

  • Если А формула, а х – переменная, то хА (читается "при всяком х имеет место А") и хА (читается "хотя бы при одном значении х имеет место А" или "существует такое значение х, что имеет место А") также являются формулами. х называется квантором (все)общности, а х – квантором существования.

Связывание переменных. Кванторы связывают переменные в формулах в том смысле, что после применения квантора результирующая формула становится независимой от связанной переменной. Так, например, если в формуле А(х, y, z) три свобод­ных переменных и она зависит от них, то формула хА(x, y, z) зависит только от переменных y и z, то есть она является двуместным предикатом. Формула yхА(x, y, z) уже зависит только от одной переменной z и является одноместным предикатом. Наконец, zyхА(x, y, z) является формулой, не зависящей от каких-либо переменных, 0-местный предикат, и становится высказыванием (истинным или ложным).

Существует другой способ связывания переменной в формуле – замена ее константой. Например, если в формуле А(х, y, z) три свобод­ных переменных и она зависит от них, то в формуле А(х, d, z) – уже две – x и z; переменной y присвоено значение d и результирующая формула уже от нее не зависит.

Область интерпретации переменных. Для определения интерпретации формул исчисления предикатов необхо­ди­мо указать, какие объекты являются значениями их переменных, то есть, говоря математическим языком, надо указать область значений этих перемен­ных (и, тем самым, задать область определения предикатов). Если в конкретной прикладной теории, которая использует логику, суть такой области является существенной (например, в теории чисел такой областью является множест­во всех чисел), то в логике предикатов смысл этого множества не существенен, так как задача логики предикатов – изучение свойств предикатов, а не каких-либо других объектов. Главное – постулируется существо­ва­ние некоторого непустого множества D, из которого принимают значения свободные переменные предикатов. Такая область называется областью значений переменных или областью интерпретации переменных.

Таблицы истинности. Пусть задан n-местный предикат Р(x1, x2,…, xn), со свободными переменными x1, x2,…, xn. Если вместо свободных переменных подставить значения из области определения, например, di1, di2,…, din, то полученная формула Р(di1, di2,…, din) становится высказыванием, то есть принимает истинное или ложное значение. С каждой формулой можно связать таблицу истинности, которая сопоставляет любому возможному набору свободных переменных истинностное значение предиката.