Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие_Пролог_часть1.doc
Скачиваний:
40
Добавлен:
13.11.2019
Размер:
1.36 Mб
Скачать

2. Теоретические основы логического программирования.

2.1 Основные определения логики предикатов первого порядка

Предположим, есть некоторое множество D объектов, называемое предметной областью. Символы, обозначающие элементы этого множества, называются предметными константами, а символ, обозначающий произвольный элемент предметной области  предметной переменной.

Предикатэто логическая функция одной или нескольких переменных P(x1,x2,… xn), определенная на множестве D и принимающая одно из двух значений, «истина» и «ложь», в зависимости от значений предметных переменных. Буква P  предикатный символ. Предикат, зависящий от n переменных, называется nместным (или nарным) предикатом.

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

Исходными элементами ИП являются следующие множества:

  1. Конечное множество предметных переменных {x1,x2,…xk};

  2. Конечное множество предметных констант {a1,a2,…an};

  3. Конечное множество функциональных символов {f1,f2,…fm};

  4. Конечное, непустое множество предикатных констант {p1,p2,…pr};

  5. Логические связки:  (отрицание),  (конъюнкция),  (дизъюнкция),  (импликация).

  6. Кванторы:  (квантор всеобщности) и  (квантор существования).

  7. Специальные символы: ( ) + - */ < > . , [ ] : ;

  8. Знак пустого дизъюнкта , который является тождественно ложной формулой.

Правила построения формул определяются следующим образом. Формулы состоят из термов, предикатных констант, специальных символов и логических связок.

Определение терма  рекурсивно:

  1. Терм  это предметная переменная или предметная константа.

  2. Если f  функциональный символ, и t1,t2,…tn  термы, то f(t1,t2,…tn)  терм.

Предикат вида p(t1,t2,…tn), где p  предикатная константа, а t1,t2,…tn  термы, является элементарной формулой.

Правила построения ППФ (Правильно Построенных Формул) в логике предикатов 1-го порядка следующие:

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

  2. Если A и B ППФ, а x  предметная переменная, то каждое из выражений A, AB, AB, AB, (x)A, (x)A есть ППФ.

  3. Других правил построения ППФ нет.

Для формул с кванторами справедливо следующее утверждение: формула Q(x1,x2,…,xn) получена из формулы P(x1,x2,…xn) посредством присоединения квантора, если

Q(x1,x2,…,xn) = (xi) P(x1,x2,…xn) или

Q(x1,x2,…,xn) = (xi) P(x1,x2,…xn).

Пусть D={a1 , a2, …, an} есть множество предметных констант, и P(x)  предикат, определенный на множестве D, тогда справедливы утверждения:

(x) P(x) = P(a1) P(a2) …P(an) и

(x) P(x) = P(a1)  P(a2)  …P(an).

Система аксиом исчисления предикатов включает в себя аксиомы исчисления высказываний А1А11 и две аксиомы с кванторами А12 и А13.

A1) A (BC)

A2) (A(BC)) ((AB) (AC))

A3) AB A

A4) AB B

A5) (AB) ((AC) (ABC))

A6) AAB

A7) BAB

A8) (AC) ((BC) (ABC))

A9) (AB) (BA)

A10) A A

A11) A A

A12) (x) A(x) A(t)

A13) A(t) (x) A(x), A(x) ППФ, t терм, не содержащий x. Все аксиомы тождественно истинны.

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

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

  1. Все аксиомы выводимы.

  2. Правило подстановки.

Подстановка (ti вместо xi) есть множество  = {x1=t1,x2=t2,… xk=tk }, где x1,x2,…,xk  попарно различные предметные переменные, xixj при ij , t1,t2,…,tk  термы, если xi= ti, то ti отличается от xi.Правило подстановки означает, что если P(x1,x2,…xk) выводим, то и формула P(t1,t2,…tk) = (P(x1,x2,…xk))  выводима.

  1. Правило Modus Ponens (MP).

Если А  выводимая ППФ, и A B выводима, то B  также будет выводима.

  1. Правило обобщения.

Если B A(x) выводимая ППФ, и B не содержит вхождений x, то формула B (x)A(x)  также будет выводима.

  1. Правило конкретизации.

Если выводима формула A(x)B, и B не содержит вхождений x, то формула (x)A(x) B  также будет выводима.

  1. Правило переименования переменных.

Если Aвыводимая ППФ, имеющая квантор  и (или) , то одна связанная переменная может быть заменена другой, не меняя истинностного значения формулы. Полученная формула также будет выводима.

  1. Других правил вывода нет.