Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4_Язык логики предикатов 1.docx
Скачиваний:
14
Добавлен:
20.11.2019
Размер:
75.71 Кб
Скачать
  1. Эрбрановские интерпретации

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

Тьюринг, Черчь. Доказали, что такой универсальной процедуры не существует.

Эрбран. Предложил алгоритм построения интерпретации (эрбрановской интерпретации), опровергающей формулу . Если  - общезначима, то опровергающей интерпретации не существует, и алгоритм в этом случае останавливается через конечное число шагов.

Эрбрановский универсум предложения

ЭУ - это множество объектов (область определения эрбрановской интерпретации), на котором принимают значения термы предложения .

Алгоритм (построения эрбрановского универсума) Пусть  - предложение PrL и S – соответствующее  множество дизъюнктов. Итерационная схема:

  1. H0={c | где c – константа из множества S}

  2. H0={c0}, если S не содержит констант. c0 – новая константа, выбирается произвольным образом.

  3. Пусть построено множество Hi

Hi+1=Hi U {f(t1, … , tn) | ti, i=1..n – термы из Hi; f() – функция из S}

Множество H=H0 U H1 U … U Hi U … называется эрбрановским универсумом.

Пример. Рассмотрим множество дизъюнктов S={{P(a)}, {P(a), R(g(x))}}, здесь a – const

H0={a}

H1={a, g(a)}

H2={a, g(a), g(g(a))}

H={a, g(a), g(g(a)), g(g(g(a))), …}

Пример. S={{Q(f(x),g(x))}, {P(x)}}. Требуется построить множества H0, H1, H2, H3

H0={a} Здесь a – новая константа

H1={a, f(a), g(a)}

H2={ a, f(a), g(a), f(f(a)), f(g(a)), g(f(a)), g(g(a))}

H3={ a, f(a), g(a), f(f(a)), f(g(a)), g(f(a)), g(g(a)), f(f(f(a))), f(f(g(a))), f(g(f(a))), f(g(g(a))), g(f(f(a))), g(f(g(a))), g(g(f(a))), g(g(g(a)))}

Пример. S={{Q(x),P(x)}}. Требуется построить эрбрановский универсум

H0={a}, a – новая константа

H={a} (Эрбрановский универсум)

Эрбрановская интепретация

Определение (Эрбрановской интепретации) Пусть S – множество дизъюнктов, H – эрбрановский универсум, соответствующий S. Множество H называется эрбрановской интерпретацией для S, если

H={A, (R0), (R1), … , (f0), (f1), … , (c0), (c1), …}, где

  • A=H – эрбрановский универсум (область интерпретации)

  • (ck) = ck – (интерпретация константы)

  • (fj)((t1),…,(tm)) = fj((t1),…,(tm)) – m-местная функция, где (ti) – интерпретация терма ti (интерпретация функционального символа)

  • (Ri)((t1),…,(tn)) = Ri((t1),…,(tn)) – n-местное отношение, где (ti) – интерпретация терма ti (интерпретация предиката)

Теорема (об эрбрановских интерпретация) Пусть  - универсальное предложение (в СНФ) и S – соответствующее множество дизъюнктов. Предложение  выполнимо (истинно в некоторой интерпретации) тогда и только тогда, если  выполнимо в эрбрановской интерпретации.

Замечание. Если  невыполнимо в эрбрановской интерпретации, то не существует интерпретации, в которой  истинно.

  1. Метод семантических деревьев

Пусть  - предложение PrL и S={1,…,n} – соответствующее  множество дизъюнктов.

Основным примером дизъюнкта   S называется предложение ’, полученное из  путем замены в  переменных на константы.

По теореме об эрбрановских интерпретациях: если  выполнимо в некоторой интерпретации, то  истинно и в эрбрановской интерпретации. Для того чтобы предложение  было истинно в эрбрановской интерпретации, достаточно, чтобы были истинны в эрбрановской интерпретации все основные примеры дизъюнктов   S.

Если  невыполнимо, то не существует и подтверждающей  эрбрановской интепретации. Т.е. найдется конечное множество основных примеров дизъюнктов   S, опровергающих .

Метод семантических деревьев – регулярная процедура построения всех основных примеров дизъюнктов. Если  невыполнимо, то на некотором шаге метода будет построено множество основных примеров дизъюнктов   S, опровергающих .

Основной пример атома (в методе семантических деревьев)

Пусть  - универсальное предложение и S={С1,…,Сn} – соответствующее  множество дизъюнктов.

  • Пусть P1(),…,Pk() – атомы (предикаты), входящие в дизъюнкты множества S.

  • H={a1, a2, … } – эрбрановский универсум для S.

Тогда Pl(ai, … , ak) – основной пример атома.

Пример 1. Рассмотрим предложение

: (x)[P(x)  (P(x)  Q(f(x)))  (Q(f(x))]

Множество дизъюнктов имеет вид:

S={{P(x)},{P(x),Q(f(x))},{Q(f(x)}}

Эрбрановский универсум H:

H={a, f(a), f(f(a)), f(f(f(a))), …}

Основные примеры атомов [P(.), Q(f(.))]:

{P(a), P(f(a)), Q(f(a)), Q(f(f(a))), P(f(f(a))), Q(f(f(f(a)))), … }

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

Пусть  - универсальное предложение и S={С1,…,Сn} – соответствующее  множество дизъюнктов.

  • Пусть P1(),…,Pk() – атомы (предикаты), входящие в дизъюнкты множества S.

  • H={a1, a2, … } – эрбрановский универсум для S.

Семантическим деревом для S называется дерево T со следующими свойствами:

  1. Корнем T является произвольная точка.

  2. Вершиной T является основной пример атома Pl(ai, … , ak) или его отрицание Pl(ai, … , ak)

  3. Потомки. Каждая вершина имеет в точности двух потомков: Pl(ai, … , ak) и Pl(ai, … , ak)

  4. Построение дерева. Дерево T строится, начиная от корня. К каждой вершине, не имеющей потомков, добавляется два новых узла, в которых размещается очередной основной пример атома Pl(ai, … , ak) и его отрицание Pl(ai, … , ak).

  5. Ветвь, содержащая в вершинах основные примеры атомов или отрицаний атомов, трактуется как конъюнкция основных примеров атомов вершин.

  6. Если вершина дерева сдержит основной пример атома Pl(ai, … , ak), то ни одна ветвь, проходящая через эту вершину, не может содержать узел Pl(ai, … , ak).

  7. Противоречивая ветвь (a). Если в процессе построения дерева T получена вершина k (основной пример атома), которая противоречит какому-либо основному примеру одного из дизъюнктов С1,…,Сn, тогда k является заключительной вершиной и текущая ветвь является противоречивой .

  8. Противоречивая ветвь (b). Если конъюнкция основных примеров атомов на некоторой ветви противоречит какому-либо основному примеру одного из дизъюнктов С1,…,Сn, то текущая ветвь также является противоречивой 

  9. Непротиворечивая ветвь. Каждой непротиворечивой ветви дерева T соответствует эрбрановская интерпретация, подтверждающая исходное множество дизъюнктов.

  10. Все ветви противоречивы. Если для множества дизъюнктов S существует семантическое дерево T, все ветви которого противоречивы, то множество дизъюнктов S является противоречивым.

  11. Трактовка дерева T. Совокупность всех ветвей дерева T трактуется как их дизъюнкция. Каждая ветвь содержит все основные примеры атомов или их отрицаний и трактуется как их конъюнкция. Таким образом, дерево T содержит все возможные сочетания основных примеров атомов и их отрицаний, и является общезначимой формулой.

Пример 1 (продолжение). Требуется проверить выполнимость следующего предложения:

: (x)[P(x)  (P(x)  Q(f(x)))  (Q(f(x))]

Соответствующее множество дизъюнктов имеет вид:

S={{P(x)},{P(x),Q(f(x))},{Q(f(x)}}

Эрбрановский универсум H:

H={a, f(a), f(f(a)), f(f(f(a))), …}

Основные примеры атомов [P(.), Q(f(.))]:

{P(a), P(f(a)), Q(f(a)), Q(f(f(a))), P(f(f(a))), Q(f(f(f(a)))), … }

Построение семантического дерева T

1

P(a)

P(a)

{P(a)}

)

2

P(a)

P(a)

{P(a)}

)

P(f(a))

{P(f(a))}

P(f(a))

3

P(a)

P(a)

{P(a)}

)

P(f(a))

{P(f(a))}

P(f(a))

Q(f(a))

{Q(f(a))}

Q(f(a))

{P(a),Q(f(a))}

[P(a)  Q(f(a))]  [P(a)  Q(f(a))]

Выводы. Все ветви дерева T противоречивы, следовательно, не существует эрбрановской интерпретации, подтверждающей множество дизъюнктов

S={{P(x)},{P(x),Q(f(x))},{Q(f(x)}}

Невыполнимое множество основных примеров дизъюнктов (в это множество включаются только те основные примеры дизъюнктов, которые были использованы для объявления некоторой ветви противоречивой) имеет вид:

S’={{P(a)}, {P(f(a))}, {Q(f(a))}, {P(a),Q(f(a))}}

т.е. следующая формула неподтверждаема:

P(a)  P(f(a))  [Q(f(a))]  [P(a)  Q(f(a))]

Пример 2. Требуется проверить выполнимость следующего предложения:

: (x)(y) [P(x,y)  P(a,f(x,y))]

Соответствующее множество дизъюнктов имеет вид:

S={{P(x,y), P(a,f(x,y))}}

Эрбрановский универсум H:

H={a, f(a,a), f(a,f(a,a)), f(f(a,a),a), …}

Основные примеры атомов [P(.,.), P(a, f(.,.))]:

{P(a,a), P(a,f(a,a)), P(f(a,a),a), P(f(a,a), f(a,a)), … }

Построение семантического дерева T

1

P(a,a)

P(a,a)

)

2

P(a,a)

P(a,a)

)

P(a,f(a,a))

P(a,f(a,a))

P(a,f(a,a))

P(a,f(a,a))

P(f(a,a),a)

P(f(a,a),a)

P(f(a,a),a)

P(f(a,a),a)

Выводы. Левая крайняя ветвь содержит только основные примеры атомов, а правая – только их отрицания и являются непротиворечивыми. Каждой из этих ветвей соответствует эрбрановская интерпретация. Следовательно, исходное предложение является выполнимым.

Задание 6. Методом семантических таблиц требуется проверить выполнимость следующего предложения:

: (x)(z) [(P(x)  Q(f(x),x))  P(g(b))  Q(x,z)]

Здесь b – константа, f(), g() – функциональные символы, P(), Q() - предикаты. Если предложение  невыполнимо, нужно построить невыполнимое множество основных примеров дизъюнктов.

12