Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Бази даних-20210115T104840Z-001 / Lecture08-09R-RelationalCalculus.doc
Скачиваний:
3
Добавлен:
15.01.2021
Размер:
248.83 Кб
Скачать

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) становится высказыванием, то есть принимает истинное или ложное значение. С каждой формулой можно связать таблицу истинности, которая сопоставляет любому возможному набору свободных переменных истинностное значение предиката.

Таблицы истинности логических связок. Итак, с любой предикатной формулой связывается таблица истиннос­ти. Рассмотрим, как эти таблицы получаются. Для атомарных формул мы предполагаем существование таких таблиц априори, либо предполагаем существование алгоритма построения таких таблиц. Например, для предиката Студент(х) предполагается существования списка тех индивидов, которые являются студентами, а для предиката >(x, y) предполагается существование алгоритма, который для каждой пары (x, y) устанавливает истинностное значение этого предиката.

Истинностные значения формул строящихся с помощью логических связок, определяется следующим образом. Пусть для формул A(x1,…, xn) и B(y1,…,ym) истинностные значения уже определены. Тогда имеем следующее.

C(x1,…, xn) = = A(x1,…, xn)

Истинна на тех наборах значений переменных x1,…, xn,, на которых ложна формула A.

C(x1,…, xn, y1,…,ym ) = A(x1,…, xn)  B(y1,…,ym)

Истинна на тех наборах значений переменных x1,…, xn, y1,…,ym, на которых истинна либо формула A, либо формула B.

C(x1,…, xn,y1,…,ym ) = A(x1,…, xn) & B(y1,…,ym)

Истинна на тех наборах значений переменных x1,…, xn, 1,…,ym, на которых истинны обе формулы A и B.

C(x1,…, xn,y1,…,ym ) = A(x1,…, xn)  B(y1,…,ym)

Истинна на тех наборах значений переменных x1,…, xn, 1,…,ym, на которых ложна формула A или истинна формула B.

C(x1,…, xn,y1,…,ym ) =A(x1,…, xn)  B(y1,…,ym)

Истинна на тех наборах значений переменных x1,…, xn, 1,…,ym, на которых обе формулы A и B либо одновременно истинны, либо одновре­мен­но ложны.

С(x1,…, xn-1) = хnА(x1,…, xn)

Истинна на наборах значений переменных x1,…, xn-1, тогда и только тогда, когда для всех значений переменной xn истинна формула А.

С(x1,…, xn-1) = хnА(x1,…, xn)

Истинна на наборах значений переменных x1,…, xn-1, тогда и только тогда, когда существует такое значение переменной xn, что истинна формула А.

Ограниченные кванторы существования и общности. В дальнейшем нам окажутся полезными понятия ограни­чен­ных кванторов существования и всеобщности. Суть их заключается в следующем. Для обычных кванторов для построения таблицы истинности формул хА(х) и хА(х) необходимо перебрать все значения х из области интер­пре­та­ции D. Пусть задан предикат Р(х). Если же теперь нас интересует истинность формул хА(х) и хА(х) не для всех х  D а только для тех, на которых истинен предикат Р(х), то это записывается следующим образом:

х( Р(х)&А(х) ) и х( Р(х)  А(х) )

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

╞ xyA(x, y)  yxA(x, y), ╞xyA(x, y)  yxA(x, y) Изменения кванторов

╞ xyA(x, y)  xA(x, x), ╞xA(x, x)  xyA(x, y)

╞ xA(x)  xA(x), ╞xyA(x, y)  y xA(x, y)

╞ xA(x)  xA(x), ╞ xA(x)  xA(x) Отрицание и кванторы

╞ xA(x) & xB(x)  x(A(x) & B(x)), ╞ xA(x)  xB(x)  x(A(x)  B(x)) Дизъюнкция, конъюнкция и кванторы

╞ A & xB(x)  x(A & B(x)), ╞ A  xB(x)  x(A  B(x))

╞ A  xB(x)  x(A  B(x)), ╞ A & xB(x)  x(A & B(x))

╞ x(A(x)  B(x))  xA(x)  x B(x)), ╞ x(A(x) & B(x))  xA(x) & x B(x))

╞ A  xB(x)  x(A  B(x)), ╞ A  xB(x)  x(A  B(x)) Импликация и кванторы

╞ xA(x)  B  x(A(x)  B), ╞ xA(x)  B  x(A(x)  B)

╞ xA(x) xB(x)  x(A(x)  B(x)), ╞ (xA(x) xB(x))  x(A(x)  B(x))

Дизъюнктивная и конъюнктивная нормальные формы.

Интерпретация предикатов отношениями. Для нас существенным является следующий факт: каждой n-местной предикатной формуле Р(x1, x2,…, xn) можно сопоста­вить такое n-арное отношение R, что кортеж (di1, di2,…, din) принадлежит R тогда и только тогда, когда Р(di1, di2,…, din) является истиной. Установление связи исчисления предикатов с отношения­ми является важным в связи с тем, что это служит основой для создания реляционного исчисления.

В принципе, любой формуле исчисления предикатов можно поставить в соответствие алгебраической выражение над отношениями, которое "строит" отношение, соответствующее формуле. Приведем простые примеры построения производных отношений для формул, строимых с помощью логических связок и кванторов. Пусть формулам А и В (которые имеют одинаковую размерность) соответствуют отношения R и S. Тогда:

Формула исчисления предикатов

Выражение над отношениями

A(x1,…, xn)  B(x1,…, xn)

R  S

A(x1,…, xn) & B(x1,…, xn)

R  S

A(x1,…, xn) & B(y1,…, yn)

R  S

A(x1,…, xn)

= (D  D …  D) – R

A(x1,…, xn)  B(x1,…, xn)

 S

A(x1,…, xn)  B(x1,…, xn)

(  S)  (R  )

Задания для самостоятельной работы

В исчислении высказываний:

1) Постойте истинностную таблицу формулы Р  Q Сравните с истинностной таблицей для Р  Q. Что можно сказать о них?

2) Постройте истинностную таблицу формулы (А  В )  А & В. что можно сказать об этой формуле.

3) Покажите, что формула А  (В  А) общезначима.

4) Покажите, что формула А & (В  С)  (А & В)  (А & С) общезначима.

5) Проверьте посредством таблиц истинности, что справедливы следующие утверждения1)

а) Р, Р  Q ╞ Q; b) P, Q ╞ P & Q; c) P, P ╞ Q;

В исчислении предикатов:

6) Пусть область интерпретации переменных равна D = {a, b,}. Пусть двуместный предикат Р истинен на корте­жах (а, а), (b, a), а двуместный предикат Q истинен на кортежах (b, b), (b, a). Построить истинностные табли­цы для формул: a) P(x, y)  Q(x, y); P(x, y)  Q(x, v); P(x, y)  Q(u, v) b) P(x, y) & Q(x, y); P(x, y) & Q(x, v); P(x, y) & Q(u, v) c) P(x, y)  Q(x, y); P(x, y)  Q(x, v); P(x, y)  Q(u, v) d) P(x, y)  Q(x, y); P(x, y)  Q(x, v); P(x, y)  Q(u, v) e) y P(x, y);  y P(x, y)

7) Пусть область интерпретации переменных равна D = {a, b,}. Пусть двуместные предикат Р и Q имеют следующие таблицы истинности:

x

y

P

Q

a

a

t

f

a

b

f

f

b

a

t

t

b

b

f

t

8) Представьте предикаты P и Q в виде отношений и постройте отношения, соответствующие формулам:

a) P(x, y)  Q(x, y); b) P(x, y) & Q(x, y); c) P(x, y) & Q(u, v); d) Q(x, y); e) P(x, y)  Q(x, y)

Литература к подразделу 5.1

  1. С.К. Клини. Математическая логика. М: Мир. – 1973.- 480 с.

Соседние файлы в папке Бази даних-20210115T104840Z-001