Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций ДМ.doc
Скачиваний:
25
Добавлен:
16.11.2019
Размер:
3.29 Mб
Скачать

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

Исчисление высказываний не позволяет отвечать на все вопросы, которые возникают в процессе логического вывода. Они оперируют конечными объектами – высказываниями и не позволяют распространить то или иное утверждение на бесконечную область.

Предикат – это функция одной или нескольких переменных, которая может принимать значение «истина» или «ложь».

Примеры: 1. Предикат Р (х) – автор романа «Война и мир».

х  {люди}.

Если: Р (Иванов А.А.) = «ложь»; Р (Толстой Л.Н.) = «истина».

  1. Предикат Р (х + 2y = 23).

y = 10 = «истина».

x = 3

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

Число аргументов nпорядок предиката. Если аргументов n, то предикат является n – местным.

Фактически предикат – это функция:

  1. Р : М  {«истина», «ложь»};

  2. Р : М2  {«истина», «ложь»};

М М

. . . . . . . . . . . . . . . . . . . . . . . . . .

  1. Р : Мn  {«истина», «ложь»};

Множество {«истина», «ложь»} – область значений предиката.

3.3.1 Определение формальной теории pl

В исчислении предикатов первого порядка (формальной теории PL) как и в любой формальной теории необходимо определить:

  • алфавит;

  • формулы;

  • аксиомы;

  • правила вывода.

Алфавит исчисления предикатов

Алфавит – система множеств А = Р, Х, F, , где

Р = {Q,R,S,T…} множество предикатных букв, обозначающих предикаты;

Х = {x, y, z,…,a, b, c,…} – множество предметных переменных и предметных констант;

F = {f, , g,} – множество функциональных букв;

= {, , , , , } – множество операций.

Кванторы исчисления предикатов

квантор общности обозначает «для каждого» или «для всех».

Записывается:

(хМ) (R (x) = 1 – для всякого х из множества М имеем R (x) истина.

Сокращенно: х R (x).

Пример:х ((x + 1)2 = x2 + 2х + 1).

квантор существования обозначает, что существует хотя бы одно значение переменной, для которой данное выражение истинно.

Записывается:

( хМ) (R (x) = 1 – существует х из множества М, для которого имеем R (x) истина.

Сокращенно: х R (x).

Пример:х ((x + 1)2 = 4). Истина для х = 1 и х = – 3.

Выражение, определяющее утверждение R (x), называется областью действия квантора.

В исчислении предикатов первого порядка квантор применяется к предметным выражениям.

Определение терма

  1. Всякая предметная переменная или константа есть терм (термин).

  2. Если f – функциональная буква, а 1, 2, … , n – термы, то

f (1, 2, … , n) тоже терм.

3. Других термов нет.

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

Определение: Если Р – предикатная буква и 1, 2, … , n – термы, то Р (1, 2, … , n) называется элементарной формулой.

Определение:

  1. Всякая элементарная формула – есть формула.

  2. Если А и В формулы, то формулой является А В, где

  {, , , } – операция исчисления предикатов.

  1. Если А – формула, то  А – тоже формула.

  2. Если х – предметная переменная, а Р – предикатная буква, то

х Р (x) и  х Р (x) тоже формулы – кванторные выражения.

Замкнутые и открытые формулы

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

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

Т.о. всякая замкнутая формула рассматривается как высказывание истины или лжи. В то время как открытая формула со свободными переменными лишь задает некоторое отношение общего вида, которое определяет высказывание истинное или ложное в зависимости от значения переменных.

Тождественные преобразования исчисления предикатов

Законы исчисления предикатов определяют эквивалентные преобразования над формулами. Формулы называются эквивалентными, если в любой предметной области их таблицы истинности совпадают.

  • В исчислении предикатов выполняются все законы исчисления высказываний.

  • В исчислении предикатов существуют 4 дополнительных группы тождеств.

Переименование связанных переменных

х Р (х) = y Р (y), х Р (х) = y Р (y).

Отрицание формул с кванторами

х Р (х) = х Р (х), х Р (х) = х Р (х).

Так, в частности, первое обозначает, что «для всех х существует Р (х) истина это то же, что не существует ни одного х, для которого Р (х) ложь».

Примечание: данные преобразования говорят о том, что один из кванторов избыточен, т.е. один из них всегда можно выразить через другой.

Пронесение кванторов

Пронесение квантора общности через конъюнкцию

х А (х) х В (х) = х (А (х) В (х)).

Это следствие того, что квантор общности является обобщенным выражением конъюнкции:

х А (х) = А (х1)  А (х2)  …  А (хn).

Пронесение квантора существования через дизъюнкцию

х А (х) х В (х) = х (А (х) В (х)).

Это следствие того, что квантор существования является обобщенным выражением дизъюнкции:

х А (х) = А (х1)  А (х2)  …  А (хn).

Перестановка одноименных кванторов

х y P (х, y) = y х P (х, y) = y,х P (х, y).

Вынесение констант

х А (х)) = Е х А (х),

х А (х)) = Е х А (х).

Пример: докажем тождество .

  1. Пусть Е = «истина».

Тогда Е   х А (х) = «истина».

Е  А (х) = «истина» при любом х   х (Е  А (х)) = «истина».

2. Пусть Е = «ложь».

Тогда истинность левой части будет полностью зависеть от А (х), т.е

Е можно убрать.

х (Е  А (х)) = «истина»   х А (х) = «истина»  Е   х А (х)

= «истина».

Система аксиом в исчислении предикатов

Исчисление предикатов включает в себя все аксиомы исчисления высказываний и дополняется двумя аксиомами для кванторов.

Удаление квантора общности

х А (х) А (y),

х, yM.

Т.е., если предикат А(х) истинен для всех х, то он истинен и для конкретного y.

Д оказательство: Нужно доказать, что выражение вида

х А (х)  А (y) (1) является тавтологией.

Допустим, что х А (х)  А (y) = «ложь». Это возможно только, если:

х А (х) = «истина», (2)

А y = «ложь». (3)

Но, если истинно (2), то для всех y из М должно выполняться А (y) =

= «истина», а мы получили (3), чего не может быть. Т.е. А (y)  «ложь». А значит ложно и (1).

Следствие: В  А (х)  В  х А (х).

Введение квантора существования

A (y) x A (x).

Т.е., если предикат А (y) истинен для каждого y, то существует какой-то х, для которого А (х) истинен.

Д оказательство: Докажем, что выражение вида

А (y)  А (x) (4) является тавтологией.

Если А (y) = «ложь»  (4) – тавтология.

Если А (y) = «истина», то при х = y  (4) = «истина».

Следствие: А (х)  В   А (х)  В.

Правила вывода в исчислении предикатов

Используются все правила вывода исчисления высказываний, которые дополняются еще двумя.

Введение квантора общности

Е сли формула В  А (х) выводима и в В нет х в качестве свободной переменной, то выводима и формула В  х А (х).

Внесение квантора существования

Е сли формула А (х)  В выводима и в В нет х в качестве свободной переменной, то выводима и формула  х А (х)  В.