Тождественная истинность, общезначимость, выполнимость, противоречивость формул логики предикатов
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Определение 2.1.11. Формула F(x1,…,xn) называется тождественно истинной или общезначимой, если для любой интерпретации φ при любых значениях свободных переменных x1=a1,…,xn=an выполняется F(a1,…,an)=1.

Формула F(x1,…,xn) называется выполнимой, если существует интерпретация φ и значения свободных переменных x1=a1,…,xn=an такие, что F(a1,…,an)=1.

Формула F(x1,…,xn) называется невыполнимой или противоречивой, если для любой интерпретации φ при любых значениях свободных переменных x1=a1,…,xn=an выполняется F(a1,…,an)=0.

Упражнение2.1.6

Доказать, что формулы F(x1,…,xn) и G(x1,…,xn) равносильны тогда и только тогда, когда формула F(x1,…,xn) ~G(x1,…,xn) тождественно истинна.

2.1.8. Рассуждения в логике высказываний (предикатов)

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

Определение 2.1.12. Рассуждением называется конструкция вида ,гдеF1,F2,…,Fk,-называются посылками, а G-следствием, F1,F2,…,Fk, G – формулы логики высказываний (предикатов)..

Пример 2.1.9

, -известно, что эти рассуждения – верные.

-, - -неверные рассуждения.

--верное рассуждение.

-- неверное рассуждение.

Определение 2.1.13. Рассуждение называется верным (формула G в этом случае называется логическим следствием формул F1,F2,…,Fk,), если для любой интерпретации φ (в логике предикатов, дополнительно, - для любых значений свободных переменных), для которой выполняются условия φ(F1)=φ(F2)=…=φ(Fk)=1, выполняется также φ(G)=1.

Упражнение 2.1.7

Доказать, что рассуждение верно тогда и только тогда, когда формула F1&F2&…&Fk,ÉG является тождественно истинной (общезначимой).

Упражнение 2.1.8

Доказать, что рассуждение верно тогда и только тогда, когда формула F1&F2&…&Fk, &ØG является невыполнимой (противоречивой).

2.2. Метод резолюций

Назначение метода резолюций - доказательство того, что формула G является логическим следствием формул F1,F2,...,Fk. В основе метода лежит доказательство невыполнимости формулы F1&F2&…&Fk&ØG. Рассматриваемая формула приводится к кнф и кнф рассматривается как множество дизъюнктов. Дизъюнкт же может представляться, как множество литер.

Метод резолюций в логике высказываний

Определение 2.2.1. Литеры L и L называются противоположными или контрарными.

Метод резолюций предполагает процедуру порождения новых дизъюнктов из заданного множества. В логике высказываний она основана на правиле резолюций.

Определение 2.2.2. Правилом резолюций в логике высказываний называется следующее правило:

из дизъюнктов ХvF и XvG выводим дизъюнкт FvG.

Упражнение 2.2.1

Доказать правильность рассуждения .

Пример 2.2.1

Исходные дизъюнкты: XvYvZ, XvY. По правилу резолюций выводим дизъюнкты:

YvZvY (контрарные литеры X и X)

XvZvX (контрарные литеры Y и Y).

Если исходные дизъюнкты X и X, из этой пары выводим дизъюнкт, не содержащий ни одной литеры. Будем называть его пустым и обозначать знаком «□». Пустой дизъюнкт равносилен значению 0. Значит F&□º□ и Fv□ ºF.

Определение 2.2.3. Пусть S – множество дизъюнктов. Выводом из S называется последовательность дизъюнктов

D,D2,...,Dn

такая, что каждый дизъюнкт этой последовательности принадлежит S или следует из предыдущих по правилу резолюций. Дизъюнкт D выводим из S, если существует вывод из S, последним дизъюнктом которого является D.

Пример 2.2.2

Исходное множество дизъюнктов: S={XvYvZ, YvU, X}. Рассмотрим последовательность:

D1=XvYvZ, D1ÎS.

D2=YvU, D2ÎS.

D3=XvZvU, следует из D1, D2 по правилу резолюций.

D4=X, D4ÎS.

D5=ZvU, следует из D3, D4 по правилу резолюций.

Рассматриваемая последовательность является выводом из S и дизъюнкт ZvU выводим из S.

Применение метода резолюций основано на следующей теореме.

Теорема 3. Множество дизъюнктов логики высказываний S невыполнимо тогда и только тогда, когда из S выводим пустой дизъюнкт.

Пример 2.2.3

Докажем, что формула G=Z является логическим следствием формул F1=XvYÉX&Z, F2=YÉZ. Для этого нужно доказать невыполнимость формулы F1&F2&Gº (XvYÉX&Z)&(YÉZ)&Z. Приведем ее к кнф.

(XvYÉX&Z)&(YÉZ)&Zº((XvY)v(X&Z))&(YvZ)&Zº((X&Y)v(X&Z))&(YvZ)&Zº(X&(YvZ))&(YvZ)&ZºX&(YvZ)&(YvZ)&Z

Тогда исходное множество дизъюнктов S={X, YvZ, YvZ, Z}. Вывод пустого дизъюнкта:

D1=YvZ, D1ÎS.

D2=Z, D2ÎS.

D3=Y, следует из D1, D2 по правилу резолюций.

D4=YvZ, D4ÎS.

D5=У, следует из D2, D4 по правилу резолюций.

D6=□.

Пустой дизъюнкт выводим из S, следовательно, формула G является логическим следствием формул F1, и F2, ч. т. д.

2.2.2. Подстановка и унификация

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

Определение 2.2.4. Подстановкой называется множество подстановочных компонент вида

s={x1=t1, x2=t2,…, xn=tn},

где x1,x2,…,xn – различные переменные, t1,t2,…,tn – термы, причем терм ti не содержит переменной xi (1≤ i ≤ n).

Если σ = (x1=t1,...,xn=tn) – подстановка, а F – некоторый объект логики предикатов (терм, дизъюнкт, формула, множество объектов и т. д.), то через σ(F) будем обозначать дизъюнкт, полученный из F одновременной заменой всех xi на ti,.

Пример 2.2.4.

если σ={x=f(y), y=c, z=g(u)), F=R(x, y, z)vP(f(y)), то σ(F)=R(f(y), c, g(u))vP(f(c).

Определение 2.2.5. Пусть {E1,…,Ek} – множество объектов логики предикатов. Подстановка σ называется унификатором этого множества, если σ(E1)=σ(E2)=…=σ(Ek). Множество унифицируемо, если существует унификатор этого множества.

Пример 2.2.5.

Множество атомарных формул {Q(a,x,f(x)), Q(u,у,z)} унифицируемо подстановкой {u=a, x=у, z=f(у)},

а множество {R(x,f(x)), R(u,u)} неунифицируемо.

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

Определение 2.2.6. Пусть ξ и η – две подстановки. Тогда произведением (композицией) подстановок ξ и η (η◦ξ) называется подстановка z такая, что для любого объекта E выполняется равенство z(E)=η(ξ(E)).

Будем конструировать подстановку z следующим образом:

Алгоритм 1. Конструирование композиции подстановок.

Вход: подстановки ξ={x1=t1, x2=t2,…, xk=tk} и η={y1=s1, y2=s2,…, yl=sl}

1) получим из подстановок η и ξ множество подстановочных компонент {x1=η(t1), x2=η(t2),…,xk=η(tk), y1=s1, y2=s2,…, yl=sl},

2) удалим из него компоненты вида xi=xi для, если таковые найдутся для 1≤ i≤ k,

3) удалим компоненты вида yj=sj, если yj Î{x1,…, xk}, для 1≤j≤l, получим подстановку z=η◦ξ.

Пример 2.2.6

Рассмотрим пример. Пусть ξ = {x=f(y), z=y, u=g(d)}, η = {x=c, y=z}.

1) {x=f(y), z=z, u=g(d), x=c, y=z}.

2) {x=f(y), u=g(d), x=c, y=z}.

3) η◦ξ = {x=f(y), u=g(d), y=z}.

Упражнение 2.2.2.

Доказать, что результатом алгоритма 1 является композиция подстановок, удовлетворяющая определению 2.2.6.

Упражнение 2.2.3.

Доказать, что композиция подстановок ассоциативно, т.е. для любых подстановок ξ, η, ζ выполняется равенство ξ◦(η◦ζ)=(ξ◦η)◦ζ.

Введем пустую подстановку – подстановку, не содержащую подстановочных компонент. Будем обозначать ее через ε.

Упражнение 2.2.4.

Доказать, что пустая подстановка является единицей относительно умножения, т.е. для любой подстановки σ выполняются равенства σ◦ε=ε◦σ=σ.

Определение 2.2.7. Унификатор σ называется наиболее общим унификатором (НОУ), если для любого унификатора τ того же множества существует подстановка ξ такая, что τ=ξ○σ.

Пример 2.2.7

Для множества {P(x,f(а), g(z)), P(f(b),y,v)} наиболее общим унификатором является подстановка σ={x=f(b), y=f(a), v=g(z)}. Подстановка τ={x=f(b), y=f(a), z=c, v=g(c)}, то ξ={z=c} также является его унификатором. Однако τ=ξ○σ где ξ={z=c}.

Для изложения алгоритма нахождения наиболее общего унификатора потребуется понятие множества рассогласований в множестве объектов. Множество рассогласований строится следующим образом.

Алгоритм 2. Построение множества рассогласований.

Вход: множество объектов логики предикатов М, каждый объект представляет собой последовательность символов.

1) выделим первую слева позицию (позицию рассогласований), в которой не для всех объектов стоят одинаковые символы.

2) в каждом объекте выпишем подобъект, которое начинается с данной позиции (этими подобъектами могут быть литера, атомарная формула, терм).

3) множество полученных подобъектов называется множеством рассогласований в М.

Пример 2.2.8.

M={P(x, f(y), a), P(x,u, g(y)), P(x, c, v)}, позиция рассогласований – пятая, множество рассогласований - {f(y), u, c}.

M={P(x, y), P(a, g(z))}, позиция рассогласований – первая, множество рассогласований - {P(x, y), P(a, g(z))}.

M={P(x, y),Q(a, v)}, позиция рассогласований – вторая, множество рассогласований - {P(x, y), Q(a, v)}.

Алгоритм 3. Алгоритм унификации.

Вход: множество литер М, каждая литера представляет собой последовательность символов.

1) Положить k=0, Mk=M, σk=ε.

2) Если множество Мk состоит из одной литеры, то выдать σk в качестве НОУ, завершить работу иначе найти множество Nk рассогласований в Mk.

3) Если в множестве Nk существует переменная vk и терм tk, не содержащий vk, то перейти к шагу 4, иначе множество М неунифицируемо, завершить работу.

4) Положить σk+1={vk,=tk}○σk,. К множеству Mk применить подстановку vk=tk, полученное множество литер взять в качестве Mk+1.

5) Положить k=k+1 и перейти к шагу 2.

Пример 2.2.9.Проиллюстрируем работу алгоритма унификации на множестве М.

М={P(x,f(y)), P(a,u)}.

· 1). k=0, σ0=ε, M0=M,

· 2). N0={x,a},

· 3)-4). σ1={x=a}, M1={P(a,f(y)),P(a,u)},

· 5). k=1,

· 2). N1={f(y), u},

· 3)-4). σ2={x=a, u=f(y)}, M2={P(a,f(u))},

· 5). k=2,

· 2). НОУ={x=a, u=f(y)}. Конец работы.

M={P(x,f(y)), P(a,b)}.

· 1). k=0, σ0=ε, M0=M,

· 2). N0={x,a},

· 3)-4). σ1={x=a}, M1={P(a,f(y)), P(a,b)},

· 5). k=1,

· 2). N1={f(y), b},

· 3) М неунифицируемо. Конец работы.

Упражнение 2.2.5.

Доказать, что алгоритм 3 правильно (в соответствии с определениями) оценивает унифицируемость множества литер и находит НОУ.

Дата: 2016-10-02, просмотров: 229.