Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Archive / ОТКА / Кейс_ Теория автоматов_(для ЗА) / Задачник по дискретной математике.doc
Скачиваний:
143
Добавлен:
30.03.2015
Размер:
2.1 Mб
Скачать

4. Логика предикатов

4.1. Действия над предикатами и кванторами

С логической точки зрения двоичные объекты, что мы рассматривали в алгебре логики (Булевой), – это высказывания, которые могут быть истинными или ложными. Формулы – это составные высказывания, истинность которых определяется истинностью входящих в них элементарных высказываний (А, В или С) и логическими операциями над этими элементарными высказываниями (инверсия, конъюнкция, дизъюнкция, импликация и т.д.).

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

Таким образом, функцию Р, принимающую одно из значений 0 или 1, аргументы которой могут принимать любое число значений из произвольного множества М, будем называть предикатом Р в предметной области М. Число аргументов предиката Р ( х1, х2, …, хn) называется его порядком.

Приведем примеры предикатных функций. Пусть имеется ряд простых высказываний:

P1 = x1 > A, P2= x2 > A, …, Pn = xn > A.

Вместо высказываний P1, P2,…, Pnможно ввести одноместный предикатР(х),для которого переменнаяхпринимала бы значения из предметной областих = { x1, x2,…, xn }, а сама предикатная функция записалась бы так:

Р(х) = «х > A».

Теперь изменим исходный ряд высказываний на другой:

P1 = x1 > у1, P2= x2 > у2 , …, Pn = xn > уn.

Здесь можно ввести уже двухместный предикат Р(х,у) = «x > у» с дополнительной предметной областью у = { у1,, у2,…, уn }.

Введем трехместный предикат Р(х,у,z), который, допустим, означает, что «х есть сумма у и z ». Если какой-нибудь переменной задать конкретное значение, скажем х = 5, то тогда трехместный предикат превратится в двухместный Р(5,у,z) = Р¢(у,z) = «5 есть сумма у и z».

При х = 5иу = 3получим одноместный предикат:

Р(5,3,z) = Р¢(3, z) = Р¢¢(z) = «5 есть сумма 3 и z».

Наконец, если добавить условие z = 2, то исходный предикат становитсянульместным предикатом (константой или высказыванием), который в данном случае принимаетистинноезначение:

Р1 =Р(5,3,2) = «5 есть сумма 3 и 2» = 1.

Но могло случиться, что z = 1, тогда имело бы место ложное высказывание: Р0 =Р(5,3,1) = «5 есть сумма 3 и 1» = 0.

Таким образом, при замещении переменной хi предметной постоянной аi происходит превращение n-местного предиката Р( х1, …, хi, …, хn) в (n1)-местный предикат Р( х1, …, аi, …, хn). Приписав конкретные значения всем аргументам предикатной функции, мы тем самым получаем предикатную константу.

Функциональная природа предиката влечет за собой введение еще одного понятия – квантора. Пусть P(x) предикат, определенный на некотором множестве «М». Высказывание: «для всех x M значение P(x) истинно» обозначается символом и называется квантором общности (“All). Другое высказывание: «существует хотя бы одно значение x M, при котором P(x) истинно» называется квантором существования и обозначается символом (Exist). Выставляя кванторы перед предикатами, мы как бы усиливаем или ослабляем их действие.

С другой стороны, выражение P(x) = 1 означает, что конъюнкция всех значений предикатной функции равна 1:

P(x) = P(x1) P(x2) P(x3) ··· = 1.

Аналогично, квантор существования перед предикатом P(x) = 1 означает, что дизъюнкция всех значений предикатной функции равна 1:

P(x) = P(x1) P(x2) P(x3) ··· = 1.

Оба квантора можно выражать один через другой на основании закона Де Моргана:

P(x) == (x1) (x2) (x3) =(x),

P(x) = = (x1) (x2) (x3) ·=(x).

Отсюда

(x) = P(x) и (x) = P(x).

Переход от P(x) к P(x) или к P(x) называется связыванием переменной x, а также навешиванием квантора на переменную x. Переменная, на которую навешивается квантор, называется связанной переменной; несвязанная переменная называется свободной. Свободная переменная это обычная переменная, которая может принимать любые значения из множества М.

Если выражение P(x) – переменное высказывание, зависящее от значения x, то выражения P(x) или P(x) не зависят от переменной x и при фиксированных значениях P и M превращают одноместный предикат в высказывание.

Навешивать кванторы можно и на многоместные предикаты, и вообще на любые логические выражения. Выражение, на которое навешивается квантор, называется областью действия квантора. Навешивание квантора на n-местный предикат уменьшает в нем число свободных переменных, превращая его в (n – 1)-местный предикат. Если на n-местный предикат навесить k кванторов, то он превращается в (nk)-местный предикат.

Например, пусть P(x) = «x четное число». Тогда высказывание P(x) истинно на любом множестве M четных чисел и ложно, если M содержит хотя бы одно нечетное число. Высказывание P(x) истинно на любом множестве, содержащем хотя бы одно четное число, и ложно на любом множестве нечетных чисел.

Рассмотрим двухместный предикат P(x, y) = «xy» на множествах M. Навешивая квантор (xy), получаем одноместный предикат от y – «Для всех x из множества M высказывание «xy» истинно. Если M – множество положительных чисел, то этот предикат истинен в единственной точке при y = 0. Если навесим предикат на вторую переменную (xy), то тогда истинность получим лишь на множестве, состоящем из одного элемента.

Высказывание (xy) – «существует такое x , что для любого числа y – (xy)», утверждает, что на множестве имеется единственный максимальный элемент. Оно истинно на любом конечном множестве целых чисел и ложно на множестве {}. Высказывание (xy), утверждающее, что «для любого элемента y существует x не меньший, чем y», истинно на любом непустом множестве. Последние два примера показывают, что перестановка кванторов существования и общности меняет смысл высказывания и условия его истинности.