Твърдение: Нека S е структура с носител D. За произволна формула F, ако две оценки v и u се съгласуват по променливите от FVAR (F), то F S, v = F S, u.
Доказателство: Провеждаме индукция по построението на F.
База: Ако F е атомарна формула, то FVAR (F) = VAR (F) и твърдението е вярно (по-горе). Ако F = true, то F S, v = F S, u = 1.
Ако F = fail, то F S, v = F S, u = 0.
Предположение: Нека твърдението е изпълнено за формулите G,
F1, F2, …, Fn, n > 1 за произволни оценки v, u, съвпадащи върху върху съответните множества.
Стъпка: Нека v и u са произволни оценки, които съвпадат върху FVAR (F). Случаите F = G, F = F1 & F2 & … & Fn и
F = F1 F2 … Fn следват директно от индукционното предположение.
Нека F = x G. v и u съвпадат ърху FVAR (F) = FVAR (G)\{ x}.
Имаме F S, v = min { G S, v[x : d]|d D }, F S, u = min { G S, u[x : d]|d D }.
Ясно е, че за всяко d D имаме, че v[x : d], u[x : d] съвпадат върху FVAR (G). Така по индукционното предположение
GS, v[x : d] = GS, u[x : d] за всяко d D F S, v = F S, u.
Аналогично се разсъждава при F = x G.
Следствие: Ако F е затворена формула, то за произволни оценки
u и v имаме F S, v = F S, u.
Доказателство: Произволни оценки v и u се съгласуват по променливите от FVAR (F) = .
Ако F е затворена формула, по дефиниция F S = FS, v за коя да е оценка v. Ще казваме, че F е вярна в S, ако F S = 1.
Означаваме S F. Ще казваме, че F не е вярна в S, ако F S = 0.
Означаваме S F.
Нека S е структура с носител D.
Казваме, че формулата F е тъждествено вярна в S, ако F е вярна в S при всяка оценка на променливите.
Казваме, че формулата F е изпълнима в S, ако съществува
оценка v, такава че F S, v = 1.
Ясно е, че ако F е затворена формула, то
F е тъждествено вярна в S F е вярна в S F е изпълнима в S.
Нека S е структура с носител D, F е формула, x .
Твърдение: F е тъждествено вярна в S x F е тъждествено вярна в S. F е изпълнима в S x F е изпълнима в S.
Доказателство:
Нека F е тъждествено вярна в S. Нека v е произволна оценка.
Тогава x F S, v = min { F S, v[x : d]|d D}. Тъй като F е тъждествено вярна в S, то F S, v[x : d] = 1 за всяко d D
min { F S, v[x : d]|d D} = 1 x F е тъждествено вярна в S.
Нека x F е тъждествено вярна в S. Нека v е произволна оценка. Тогава за всяко d D имаме F S, v[x : d] = 1 при d = v (x) получаваме
F S, v[x : v(x)] = F S, v = 1 F е тъждествено вярна в S.
Нека F е изпълнима в S. Нека v е оценка, такава че F S, v = 1.
Тогава x F S, v = max { F S, v[x : d]|d D} = 1, тъй като
F S, v[x : v(x)] = F S, v = 1 x F е изпълнима в S.
Нека x F е изпълнима в S. Тогава съществува оценка v, такава че
x F S, v = 1 max { F S, v[x : d]|d D} = 1 съществува d D, така че F S, v[x : d] = 1 F е изпълнима в S.
Следствие: Нека F е формула и FVAR (F) = { x1, x2, …, xn}.
Тогава F е тъждествено вярна в S x1x2…xn F е тъждествено вярна в S, т.е. x1x2…xn F е вярна в S, тъй като тя е затворена формула. Формулата x1x2…xn F наричаме универсално затваряне на F, то е определено с точност до подредбата на кванторите.
Следствие: Нека F е формула и FVAR (F) = { x1, x2, …, xn}.
Тогава F е изпълнима в S x1x2…xn F е изпълнима в S, т.е. x1x2…xn F е вярна в S, тъй като тя е затворена формула. Формулата x1x2…xn F наричаме екзистенциално затваряне на F, то е определено с точност до подредбата на кванторите.
Нека S е структура, F е произволна формула. В сила е:
F е тъждествено вярна в S F не е изпълнима в S,
F e изпълнима в S F не е тъждествено вярна в S.
Казваме, че една формула F е тъждествено вярна, ако F е тъждествено вярна във всяка структура S.
Казваме, че една формула F е изпълнима, ако F е изпълнима в някоя структура S.
Ясно е, че F е тъждествено вярна F не е изпълнима,
F е изпълнима F не е тъждествено вярна.
Ще отбележим, че не съществува алгоритъм, който разпознава дали произволна формула е тъждествено вярна (това нетривиално твърдение е известно като теорема на Чърч за неразрешимост).
Субституция наричаме изображение на множеството на променливите в множеството на термовете, такова че
(x) x най-много за краен брой променливи.
Ако x1, x2, …, xn са две по две различни променливи и u1, u2, …, un са термове, то със [x1/u1, x2/u2, …, xn/un] означаваме субституцията , определена по следния начин: (xi) = ui,
i = 1, 2, …, n, (x) = x за x { x1, x2, …, xn}. Всяка субституция може да се зададе с краен израз по този начин. Тъждествената субституция бележим с , (x) = x за всяко x , = [x/x ] за произволна променлива x.
Нека T е терм, е субституция. Дефинираме индуктивно термът T, който ще наричаме резултат от прилагането на към T.
База: Ако T Ф0, то T = T. Ако T , T = (T).
Предположение: Нека T = f (T1, T2, …, Tn) и T1, T2, …, Tn са дефинирани.
Стъпка: Тогава T = f (T1, T2, …, Tn).
Твърдение: Нека T е терм. Ако и са субституции, които се съгласуват по променливите от VAR (T), то T = T.
Доказателство: Индукция по построението на T.
Tвърдение: Нека T е терм. Тогава T = T.
Доказателство: Тривиална индукция.
Твърдение: Ако T е затворен терм, то T = T за всяка
субституция .
Доказателство: Нека е произволна субституция. Тогава и съвпадат върху VAR (T) = T = T = T.
Твърдение: Нека T е терм, е субституция.
Тогава VAR (T) = .
Доказателство: Индукция по построението на T.
Нека F е безкванторна формула, е субституция. Дефинираме индуктивно безкванторната формула F, която ще наричаме резултат от прилагането на към F.
База: Ако F е атомарна формула, F = p (T1, …, Tn) дефинираме
F = p (T1, …, Tn), ако F П0, то F = F.
Ако F = true или F = fail, дефинираме F = F.
Предположение: Нека G, F1, …, Fn (n > 1) са безкванторни формули и G, F1, …, Fn са дефинирани.
Стъпка: Ако F = G, дефинираме F = (G).
Ако F = F1 & F2 & … & Fn, дефинираме F = F1 & F2 & …& Fn.
Ако F = F1 F2 … Fn, дефинираме F = F1 F2 … Fn.
Твърдение: Нека F е безкванторна формула. Ако и са субституции, които съвпадат върху VAR (F), то F = F.
Доказателство: Индукция по построението на F, използваме и съответното твърдение за термове.
Твърдение: Нека F е безкванторна формула. Тогава F = F.
Доказателство: Тривиална индукция по F, използваме и съответното твърдение за термове.
Твърдение: Ако F е безкванторна формула и е субституция, то
VAR (F) = .
Доказателство: Индукция по построението на F, използваме и съответното твърдение за термове.
Нека S е структура, е субституция. Дефинираме S – оператор за присвояване, съответен на в S, който съпоставя на всяка оценка v на променливите в S друга оценка S (v) на променливите в S, така че (S (v)) (x) = (x) S, v.
Теорема: Нека S е структура, е субституция, v е оценка на променливите в S. Ако E е терм или безкванторна формула, то
(E)S, v = E S, u, където u = S (v).
Доказателство: С отделни случаи, първо когато E е терм и след това когато E е безкванторна формула.
Нека F е произволна безкванторна формула. Частни случаи на формулата F наричаме всички формули от вида F, където е произволна субституция.
Например, всяка безкванторна формула F е частен случай на себе си, тъй като F = F. Ако F е затворена безкванторна формула, то
F е единственият частен случай на F, тъй като F = F за всяка субституция . Напротив, ако F не е затворена, то е ясно, че F има и други частни случаи, дори безброй много.
Твърдение: Нека S е структура и F е безкванторна формула.
В сила е:
-
Ако F е тъждествено вярна в S, то всички частни случаи на F са тъждествено вярни в S.
-
Ако някой частен случай на F е изпълним в S, то F е изпълнима в S.
Доказателство:
Нека F е тъждествено вярна в S. Нека е произволна субституция.
Тогава за произволна оценка v в S имаме: (F)S, v = F S, u, където
u = S (v). Имаме F S, u = 1 (F)S, v = 1. Така F е тъждествено вярна в S, т.е. всеки частен случай на F е тъждествено верен в S.
Нека F е частен случай на F, който е изпълним в S ( е някаква субституция). Нека v е оценка, такава че (F)S, v = 1. Имаме
1 = (F)S, v = F S, u, където u = S (v). Така F е изпълнима в S.
Обратното твърдение също е вярно, тъй като всяка формула F е частен случай на себе си.
Ясно е, че F е затворен частен случай на F
(x) е затворен терм за всяко x VAR (F).
Следствие: Нека S е структура, F е безкванторна формула.
В сила е:
-
Ако F е тъждествено вярна в S, то всички затворени частни случаи на F са вярни в S.
-
Ако някой затворен частен случай на F е верен в S, то F е изпълнима в S.
Доказателство: Следствието е непосредствено.
Обратното твърдение на следствието не е вярно в общия случай.
Нека S е структура. Казваме, че S има термално породен носител, ако всеки елемент на носителя на S е стойност в S на някой затворен терм.
Твърдение: Нека S е структура с термално породен носител.
Нека F е безкванторна формула. В сила е:
-
Ако всички затворени частни случаи на F са вярни в S, то F е тъждествено вярна в S.
-
Ако F е изпълнима в S, то съществува затворен частен случай на F, който е верен в S.
Доказателство:
Нека всеки затворен частен случай на F е верен в S.
Нека v е произволна оценка. Ще покажем, че F S, v = 1.
Ако F е затворена формула, то тя е затворен частен случай на себе си F е вярна в S, т.е. F е тъждествено вярна в S.
Нека VAR (F) = { x1, x2, …, xn}, n 1. За i = 1, 2, …, n
v (xi) е елемент на носителя на S, така че съществува затворен
терм Ti, такъв че TiS = v (xi). Разглеждаме следната субституция
= [x1/T1, x2/T2, …, xn/Tn]. Ясно е, че F е затворен частен случай на F, тъй като (x) е затворен терм за всяко x VAR (F).
Така (F)S = 1 (F)S, v = 1 F S, u = 1, където
u = S (v). Остава да се съобрази, че u = v. Така F S, v = F S, u = 1.
Нека F е изпълнима в S. Нека v е оценка в S, такава че
F S, v = 1. Ако F е затворена формула, то тя е затворен частен случай на себе си и тя е търсения верен затворен частен случай.
Нека VAR (F) = { x1, x2, …, xn}, n 1. v (xi) е елемент на носителя
на S, така че съществува затворен терм Ti, така че v (xi) = TiS,
i = 1, 2, …, n. Нека = [x1/T1, x2/T2, …, xn/Tn]. Тъй като T1, T2, …, Tn са затворени термове, то F е затворен частен случай на F.
Ще покажем, че (F)S, v = 1. Имаме (F)S, v = F S, u, където u = S (v). Както по-горе u = v. Така (F)S = (F)S, v = F S, u = F S, v = 1 и F е търсеният верен затворен частен случай на F.
Оттук нататък предполагаме допълнително изискване Ф0 .
Множеството от всички затворени термове наричаме ербранов универсум – бележим го с H. При направеното изискване, H , така че H може да е носител на структура.
Казваме, че една структура S е ербранова, ако е изпълнено:
-
Носителят на S е H.
-
Ако c Ф0, то cS = c.
-
Ако f Фn, n > 0, то f S (T1, T2, …, Tn) = f (T1, T2, …, Tn) са всяка наредена n-торка T1, T2, …, Tn от елементи на H.
Твърдение: Ако S е ербранова структура, то за всеки затворен терм T имаме T S = T.
Доказателство: Индукция по построението на T.
Следствие: Всяка ербранова структура S има термално породен носител.
Доказателство: Действително, всеки затворен терм от H е стойност на същия затворен терм в S.
Нещо повече, всеки елемент на носителя на ербранова структура е стойност на точно един затворен терм.
Твърдение: Нека M е множество от затворени атомарни формули. Тогава съществува единствена ербранова структура S, такава че измежду всички затворени атомарни формули в S са вярни точно онези, които принадлежат на M.
Доказателство: Ще построим ербрановата структура S. Тя има носител H и функционалните символи са интерпретирани по дефиницията за ербранова структура. Нека p е n-местен предикатен символ.
Ако n > 0 определяме pS (T1, T2, …, Tn) = 1 p (T1, T2, …, Tn) M за всяка наредена n-торка T1, T2, …, Tn от елементи на H.
При n = 0 определяме pS = 1 p M.
Ще покажем, че описаното свойство е в сила.
Нека A е затворена атомарна формула.
Ако A = p (T1, T2, …, Tn), то
AS = pS (T1S, T2S, …, TnS) = pS (T1, T2, …, Tn) = 1
p (T1, T2, …, Tn) M, т.е. AS = 1 A M.
Ако A = p П0, то AS = pS = 1 p M, т.е. AS = 1 A M.
Очевидно е, че ербрановата структура с описаното свойство е единствена.
По този начин една ербранова структура се определя еднозначно, ако се зададат атомарните формули, които са вярни в нея.
Нека M е множество от формули. Модел на M наричаме всяка структура S, в която всички формули от M са тъждествено вярни.
Едно множество M от формули се нарича изпълнимо, ако съществува структура S и оценка v, такива че всяка формула от M вярна в S при оценката v.
Едно множество М от формули се нарича силно изпълнимо, ако съществува структура S, която е модел на M.
Ясно е, че за множества от затворени формули понятията изпълнимост и силна изпълнимост са еквивалентни.
Твърдение: Нека M е множество от безкванторни формули.
Нека M е множеството на всички затворени частни случаи на формулите от М. Тогава следните условия са еквивалентни:
-
M е силно изпълнимо.
-
M e изпълнимо.
-
Съществува ербранова структура, която е модел на M.
Доказателство: Извършваме го по следната схема от импликации:
1 2 3 1.
1 2 Тъй като M е силно изпълнимо, то M има модел, т.е. структура S, в която всички формули от M са тъждествено вярни. При това положение, всеки затворен частен случай на формула от M е верен в S S е модел на M M е изпълнимо.
2 3 Тъй като M е изпълнимо, съществува структура S, в която всяка формула от M е вярна. Нека M0 е множеството от затворените атомарни формули, които са вярни в структурата S.
Съществува ербранова структура S0, в която вярните атомарни формули са точно формулите от M0. С индукция по построението се показва, че F S = за всяка безкванторна формула F.
В частност, тъй като F S = 1 за всяка F M = 1 за всяка
F M. С други думи, всички затворени частни случаи на формулите от M са вярни в S0 и тъй като S0 е с термално породен носител, всяка формула от M е тъждествено вярна в S0, т.е. S0 е ербранова структура, която е модел на M.
3 1 Тривиално.
Следствие: Ако едно множество от универсални затваряния на безкванторни формули е изпълнимо, то съществува ербранова структура, която е негов модел.
Доказателство: Да разгледаме множеството M от безкванторните части на формулите от даденото множество. Очевидно моделите на M и на даденото множество са едни и същи. Тогава M е силно изпълнимо и от твърдението съществува ербранова структура, която е модел за M. Тази ербранова структура е модел и за първоначалното множество.
16. Операционна семантика на логическите програми.
Сподели с приятели: |