Таблицы истинности логических связок. Итак, с любой предикатной формулой связывается таблица истинности. Рассмотрим, как эти таблицы получаются. Для атомарных формул мы предполагаем существование таких таблиц априори, либо предполагаем существование алгоритма построения таких таблиц. Например, для предиката Студент(х) предполагается существования списка тех индивидов, которые являются студентами, а для предиката >(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 а только для тех, на которых истинен предикат Р(х), то это записывается следующим образом:
х( Р(х)&А(х) ) и х( Р(х) А(х) )
Общезначимость. Понятие общезначимости, введенное в исчислении высказываний, распространяется и на исчисление предикатов. Все общезначимые формулы исчисления высказываний являются общезначимыми и в исчислении предикатов. Более того, в исчислении предикатов имеются дополнительные общезначимые формулы, которые характеризуют кванторы. Ниже приводятся эти формулы.
╞ xyA(x, y) yxA(x, y), ╞xyA(x, y) yxA(x, y) Изменения кванторов
╞ xyA(x, y) xA(x, x), ╞xA(x, x) xyA(x, y)
╞ xA(x) xA(x), ╞xyA(x, y) y xA(x, y)
╞ xA(x) xA(x), ╞ xA(x) xA(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) |
|
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
С.К. Клини. Математическая логика. М: Мир. – 1973.- 480 с.
Задача реляционного исчисления заключается в том, чтобы можно было сформулировать исчисление предикатов, которое интерпретируется реляционными отношениями. Основным узким местом в такой интерпретации является тот факт, что в традиционном исчислении предикатов предполагается явное существование области интерпретации всех возможных переменных. В связи с этим, например, нет никаких проблем с интерпретацией формул с отрицаниями или с кванторами всеобщности.
В реляционной модели такое не возможно. Например, если в реляционной модели схема содержит элементарный предикат Студент(х), то нет никакой возможности проинтерпретировать формулы Студент(х) или хСтудент(х). Формулы подобного рода приводят к построению бесконечной области интерпретации этих предикатов (бесконечных отношений). Было даже введено понятие безопасной формулы исчисления предикатов – это такая формула, которая интерпретируется конечным отношением.
Таким образом, из множества формул исчисления предикатов следует выбрать такое подмножество, при интерпретации которых не было бы необходимости обращаться к области интерпретации переменных и, кроме того, получать формулы, интерпретируемые конечными отношениями.
Наконец, перед реляционными счислениями ставилась задача максимально упростить их синтаксис, сохраняя при этом выразительную мощь исчисления предикатов.
Известны два реляционных исчисления: реляционное исчисление с переменными-кортежами и реляционное исчисление с переменными на доменах. Мы рассмотрим первое из них детально и только упомянем суть второго.
Пусть задано множество элементарных предикатных символов Р1, Р2,…, Q1, Q2,… Эти предикаты интерпретируются конечными отношениями.
Пусть задано множество кортежных (строковых) переменных r1, r2, …, s1, s2,… Кортежные переменные интерпретируются кортежами значений. Выражения вида ri[j] называется срезом переменной ri по j-й компоненте.
Терм значений. Выражения вида Pirj называются термами значений. Такое выражение указывает, что переменная rj принимает значения из отношения Ri, которое является интерпретацией предиката Pi. С помощью терма значений явно фиксируется область значений переменной.
Примечание. Тем самым делается отступление от исчисления предикатов, в котором в формуле Р(х) переменная принимает значения из D – области интерпретации переменных.
Терм соединений. Выражения вида ri[m] ri[n] или ri[m] b, где - один из двуместных предикатов сравнения, а b – константа, называются термами соединений. Они определяют условия соединения различных отношений. Примеры термов соединений:
r1[3] < r2[1]; r1[2] = a; r3[4] r3[1]
С помощью термов значений вида Pirj задается область допустимых значений (область интерпретации) строковых (кортежных) переменных. В данном случае – это отношение, которое связывается с предикатом Pi. Но определять область значений переменной одним отношением недостаточно. Следует расширить эту область максимально насколько это возможно (с точки зрения реляционной модели). Это достигается с помощью следующего понятия.
Формула, правильно определенная над строковой переменной. Формулой, правильно определенной над строковой переменной ri, называется формула, удовлетворяющая следующим свойствам:
Все входящие в формулу предикатные символы интерпретируются совместимыми по объединению отношениями.
В формулу входят только термы значений, в которых единственной переменной является ri.
Термы значений соединяются связками , &, . Причем, связке непосредственно предшествует связка &.
Примеры формул, правильно определенных над переменной r.
P1r P2r P3r & P4r; P1r P2r & P3r
Если предикаты Р1, Р2, Р3, Р4 интерпретируются отношениями R1, R2, R3 R4, то первый пример устанавливает, что переменная r принимает значения из области (R1 R2 R3) R4, а второй устанавливает для переменной следующую область интерпретации: (R1 R2) – R3
Итак, формулы, правильно определенные над строковой переменной, задают области интерпретации (определения) переменных.
Следующий шаг – определение правил использования ограниченных кванторов.
Формула, правильно определенная на кванторах. Пусть F – формула, правильно определенная над строковой переменной r, а G – формула, содержащая r в качестве свободной переменной, но не содержащая термов значений вида Pir. Тогда формулы:
r(F & G); r(F G)
называются правильно определенными на кванторах существования и общности. По сути, это частный случай ограниченных кванторов существования и общности. Здесь формула F указывает ту область, в пределах которой изменяется переменная, используемая в кванторах. Будем записывать эти формулы следующим образом:
F(G)и F(G)
Формула с областью определения. Объединим теперь формулы, правильно определенные над строковыми переменными с формулами, правильно определенными на кванторах и с термами соединений.
Формула W называется формулой с областью определения, если она имеет вид:
W = U1 & U2 &…& Un & V, n 1
и обладает следующими свойствами:
Каждая формула Ui является правильно определенной над строковой переменной ri,
Формула V либо пуста, либо обладает следующими свойствами:
а) Если в ней содержатся кванторы, то они правильно определены.
б) Каждая свободная переменная из V является одной из переменных формул U1, U2,…, Un
в) В формуле V нет термов значений, содержащих свободные переменные.
Примечание. Формулу с областью определения следует трактовать следующим образом:
Пусть предикаты U1, U2,…, Un интерпретируются отношениями S1, S2,…, Sn. Конструкция U1 & U2 &…& Un определяет декартово произведение отношений S1, S2,…, Sn (при отсутствии V)
Формула V задает условие соединения отношений S1, S2,…, Sn. В частности, термы значений задают условия соединений на отдельных атрибутах отношений, а кванторы – условия, определяемые кванторными связками.
Примеры формул с областью определения: (предикаты P1, P2, P3 интерпретируются отношениями R1, R2, R3)
Формула Интерпретация
P1r1 & P2r3 & P3r3 - декартово произведение отношений R1, R2, R3.
P1r1 & (r1[3] = b) - ограничение отношения R1 условием, когда его третья колонка равна b.
P1r1 & P3r3 & (r1[2] = r3[1]) - соединение отношений R1, и R3 по условию, что второй столбец R1 равен первому столбцу R3.
P1r1 & P2r2 & P3r3(r1[2] = r3[1] & r1[3] = r2[1]) - деление отношения R1 на R3 по условию r1[2] = r3[1] и соединение результата деления с отношением R2 по условию r1[3] = r2[1]
Альфа выражение. Формула с областью определения не позволяет установить, какие именно столбцы нужны в результирующем отношении. Для этого вводится понятие альфа-выражения.
Выражение (t1, t2,…, tk) : W называется простым альфа-выражением, если выполнены следующие условия:
W – формула с областью определения.
t1, t2,…, tk – последовательность строковых переменных и срезов. Эти переменные должны быть свободными в W.