1. Булеви функции. Теорема на Пост-Яблонски за пълнота. Нека J2 = { 0, 1}. Всяка функция f : J2n  J


Субституция наричаме изображение  на множеството на променливите 



страница19/29
Дата11.01.2018
Размер5.91 Mb.
#44141
1   ...   15   16   17   18   19   20   21   22   ...   29

Субституция наричаме изображение  на множеството на променливите в множеството на термовете, такова че

 (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 = T за всяка

субституция .

Доказателство: Нека  е произволна субституция. Тогава  и  съвпадат върху VAR (T) =   T = T = T.
Твърдение: Нека T е терм,  е субституция.

Тогава VAR (T) = .

Доказателство: Индукция по построението на T.
Следствие: Нека T е терм,  е субституция. Тогава термът T е затворен  термът  (x) е затворен терм за всяко x  VAR (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.
Следствие: Нека F е безкванторна формула,  е субституция. Тогава формулата F е затворена  термът  (x) е затворен терм за всяко x  VAR (T).

Доказателство: Директно от твърдението.


Твърдение: Нека Е е терм или безкванторна формула. Ако  и  са такива субституции, че E = E, то  и  съвпадат върху VAR (E).

Доказателство: Ще разгледаме само случая когато E е терм. За безкванторните формули разсъжденията са абсолютно аналогични.

Провеждаме индукция по постронието на E.

База: Нека  и  са такива субституции, че E = E.

Ако E е константа, то очевидно  и  съвпадат върху

VAR (E) = . Ако E  , то E =  (E), E =  (E)   (E) =  (E) 

 и  съвпадат върху VAR (E) = { E}.

Предположение: Нека E = f (T1, T2, …, Tn) и твърдението е изпълнено за термовете T1, T2, …, Tn.

Стъпка: Нека  и  са субституции, такива че E = E.

Имаме E = f (T1, T2, …, Tn), E = f (T1, T2, …, Tn). От еднозначния синтактичен анализ на термовете получаваме

T1 = T1, T2 = T2, …, Tn = Tn. Използваме индукционното предположение за термовете T1, T2, …, Tn и получаваме, че

 и  съвпадат върху VAR (T1), VAR (T2), …, VAR (Tn). Тогава

 и  съвпадат върху VAR (T1)  VAR (T2)  …  VAR (Tn) = VAR (E).
Нека 1 и 2 са субституции. Дефинираме функция  (x) от множеството на променливите в множеството от всички термове по следния начин:  (x) = (x1)2 за всяко x.

Ще покажем, че  (x) е субституция, т.е.  (x)  x най-много за краен брой променливи x. За целта ще покажем, че за всяко x ако  (x)  x, то 1 (x)  x или 2 (x)  x. Да допуснем противното –

 (x)  x и 1 (x) = x, 2 (x) = x за някоя променлива x. Тогава

 (x) = (x1)2 = x2 = x, което е противоречие. Ясно е, че

1 (x)  x или 2 (x)  x е изпълнено само за краен брой

променливи x, тъй като 1 и 2 са субституции. Така  (x)  x само за краен брой променливи x, т.е.  (x) е субституция. Тази субституция наричаме произведение на субституциите 1 и 2, означаваме  = 12. Така по дефиниция x(12) = (x1)2.


Ще покажем, че  =  =  за всяка субституция .

Действително, за всяко x имаме x() = (x) = x (от съответното твърдение за термове)   = . Също, за всяко x имаме x() = (x) = x   = .

Ясно е, че умножението на субституции не е комутативно.
Твърдение: Ако E е терм или безкванторна формула и 1, 2 са субституции, то E(12) = (E1)2.

Доказателство: Разглеждат се отделно случаи първо за терм и след това за безкванторна формула, като и в двата случая се провежда тривиална индукция.


Твърдение (асоциативност на умножението на субституции): За всеки три субституции 1, 2, 3 е изпълнено: (12)3 = 1(23).

Доказателство: Нека x.

Тогава x ((12)3) = (x(12))3 = ((x1)2)3.

Също x (1(23)) = (x1)(23) = ((x1)2)3. Тук използваме горното твърдение за терма (x1).

Така x ((12)3) = x (1(23)) за всяко x  (12)3 = 1(23).
Нека F е произволна безкванторна формула. Частни случаи на формулата F наричаме всички формули от вида F, където  е произволна субституция.

Например, всяка безкванторна формула F е частен случай на себе си, тъй като F = F. Ако F е затворена безкванторна формула, то

F е единственият частен случай на F, тъй като F = F за всяка субституция . Напротив, ако F не е затворена, то е ясно, че F има и други частни случаи, дори безброй много.

Релацията “е частен случай на” е транзитивна: Ако G е частен случай на F и H е частен случай на G, то H е частен случай на F.

Действително по условие G = F1, H = G2  H = (F1)2 = F (12), т.е. H е частен случай на F.
Нека F е безкванторна формула. Вариант на F наричаме такъв частен случай G на F, такъв че F е частен случай на G.

С други думи, релацията “е вариант на” е симетричното затваряне на релацията “е частен случай на”. В такъв случай е очевидно, че

релацията “е вариант на” в множеството от всички безкванторни формули е релация на еквивалентност.
Ако F е затворена формула, то F е единственият вариант на F, тъй като F е единственият частен случай на F.

Напротив, ако F е безкванторна формула, която не е затворена, то тя има безброй много варианти, както се вижда от следното


Твърдение: Нека F е безкванторна формула, която не е затворена.

Нека VAR (F) = { x1, x2, …, xn}, n  1, xixj при i  j  { 1, 2, …, n}.

Нека y1, y2, …, yn са две по две различни променливи.

Ако  = [x1/y1, x2/y2, …, xn/yn], то G = F е вариант на F.

Доказателство:

Очевидно G е частен случай на F. Ще покажем, че F е частен случай на G. Да разгледаме субституцията

 = [y1/x1, y2/x2, …, yn/xn] – тя е коректно зададена, тъй като

yiyj при i  j  { 1, 2, …, n}. Ще покажем, че F = G.

Имаме G = (F) = F ().

За i = 1, 2, …, n имаме: xi () = (xi) = yi = xi.

Така  и  съвпадат върху VAR (F)  F () = F = F.

Така G = F и G е вариант на F.
Тъй като множеството е безкрайно, по посочения начин можем да построим безброй много варианти на F. Дори можем да построим вариант на F, който не съдържа променливи от дадено крайно подмножество на .
Твърдение: Нека F е безкванторна формула, която не е затворена. Нека VAR (F) = { x1, x2, …, xn}, n  1, xixj при i  j  { 1, 2, …, n}.

Нека G е произволен вариант на F. Тогава

G = F[x1/y1, x2/y2, …, xn/yn], за някои променливи y1, y2, …, yn, които са две по две различни помежду си.

Доказателство: Тъй като G е вариант на F, то G = F, F = G за някои субституции  и . Тогава F = G = (F) = F () 

 и  съвпадат върху VAR (F), т.е. xi () = xi, i = 1, 2, …, n.

Да допуснем, че xi е съставен терм. Тогава xi () = (xi) също е съставен терм, тъй като след прилагането на субституцията ,

(xi) отново ще съдържа функционални символи. Така

xi = (xi) е съставен терм, което е противоречие тъй като съставните термове са различни от променливите.

Да допуснем, че xi е константа. Тогава xi = (xi) = xi, което е противоречие, тъй като множествата Ф0 и не се пресичат.

Така xi е променлива, нека xi = yi. Тогава

 и [x1/y1, x2/y2, …, xn/yn] съвпадат върху VAR (F) 

G = F = F [x1/y1, x2/y2, …, xn/yn]. Ако допуснем, че за някои

i  j  { 1, 2, …, n} имаме yi = yjxi = xj 

(xi) = (xj)  xi = xj, което е противоречие. Така y1, y2, …, yn са две по две различни помежду си.
Нека A и B са произволни атомарни формули. Въпросът, който ще разглеждаме е съществува ли атомарна формула, която е частен случай както на A, така и на B, т.е. съществуват ли субституции

, , такива че A = B.


Унификатор на атомарните формули A и B наричаме

субституция , такава че A = B. Ако A и B притежават унификатор, казваме че A и B са унифицируеми.


Ако A и B са унифициеруеми, очевидно съществува атомарна формула, която е частен случай на A и на B. Обратното в общия случай не е вярно. Вярно е, обаче, следното

Твърдение: Нека A и B са атомарни формули, такива че

VAR (A)  VAR (B) = . Ако съществува атомарна формула, която е частен случай на A и на B, то A и B са унифицируеми.

Доказателство: По условие съществуват субституции ,  такива че

A = B. Разглеждаме изображението  от в множеството на всички термове,  (x) =  (x), ако x  VAR (A),  (x) =  (x), ако



x\VAR (A). Ясно е, че  е субституция, тъй като  (x)  x

най-много за променливите от VAR (A)  VAR (B), които са краен брой. Тъй като  и  съвпадат върху VAR (A), то A = A.

Също, тъй като VAR (A)  VAR (B) =   VAR (B)  \VAR (A) 

 и  съвпадат върху VAR (B)  B = B.

Така  е унификатор на A и B.
Нека A и B са произволни атомарни формули. Както знаем, съществува вариант B на B, такъв че VAR (A)  VAR (B) = .

Ясно е, че B и B имат едни и същи частни случаи. Тогава една атомарна формула е частен случай на A и на B  тя е частен случай на A и на B. От горното твърдение, тъй като

VAR (A)  VAR (B) = , то съществува атомарна формула, която е частен случай на А и на B  A и B са унифицируеми.

От доказателството на твърдението заключаваме, че общият вид на атомарните формули, които са частни случаи на A и на B

е A, където  е унификатор на A и на B.
Нека A и B са атомарни формули.

Ако A и B имат различни предикатни символи или предикатни символи с различен брой аргументи, то очевидно A и B не са унифицируеми.


Уравнение между термове наричаме формално равенство

от вида T = U, където T и U са термове. Решение на това уравнение наричаме субституция , такава че T = U.


Под система от уравнения между термове разбираме крайно множество от уравнения: T1 = U1, T2 = U2, …, Tn = Un, Ti, Ui са термове. Една субституция  наричаме решение на системата, ако тя е решение на всяко едно от уравненията, т.е.

T1 = U1, T2 = U2, …, Tn = Un.

Празното множество от уравнения също е система и нейните решения са всички субституции.
Твърдение: Нека A = p (T1, T2, …, Tn) и B = p (U1, U2, …, Un) са атомарни формули с един и същ предикатен символ с един и същ брой аргументи. Една субституция  е унификатор на A и B 

 е решение на системата T1 = U1, T2 = U2, …, Tn = Un.

Доказателство: Нека  е произволна субституция.

Имаме A = p (T1, T2, …, Tn), B = p (U1, U2, …, Un).

От еднозначния синтактичен анализ имаме:

A = B  T1 = U1, T2 = U2, …, Tn = Un, т.е.  е унификатор на A и B   е решение на системата T1 = U1, T2 = U2, …, Tn = Un.


Твърдението е вярно дори при n = 0 (по-точно при A = p = B, където p е 0-местен предикатен символ) – тогава унификаторите на A и B са всички субституции, а решенията на празната система също са всички субституции.
Нека 1 и 2 са субституции. Казваме, че 2 е частен случай на 1, ако съществува субституция , такава че 2 = 1.

Ясно е, че релацията “е частен случай на” върху субституциите е рефлексивна и транзитивна.


Нека 1 и 2 са субституции. Казваме, че 2 е вариант на 1, ако

2 е частен случай на 1, такъв че 1 е частен случай на 2.

С други думи, както при безкванторни формули, релацията

“е вариант на” е симетрично затваряне на релацията “е частен случай на” за субституции. Естествено, в такъв случай релацията “е вариант на” за субституциите е релация на еквивалентност.


Изисква се малко труд за да се покаже, че вариантите на една субституция  се изчерпват със , където  е субституция, която е биекция на върху .
Ще казваме, че една система е в решен вид, ако тя има вида

x1 = U1, x2 = U2, …, xn = Un, където x1, x2, …, xn са две по две различни помежду си променливи, U1, U2, …, Un са термове и

xi  VAR (Uj) за всеки i, j  { 1, 2, …, n}.

От тази дефиниция, по тривиални съображения, празната система е в решен вид.

Тъй като x1, x2, …, xn са две по две различни помежду си можем да построим субституцията 0 = [x1/U1, x2/U2, …, xn/Un]

(0 =  при n = 0).


Твърдение: Субституцията 0 е решение на горната система в решен вид и ако  е произволно решение на тази система,  = 0.

Доказателство: За i = 1, 2, …, n имаме xi0 = Ui, Ui0 = Ui = Ui, тъй като 0 и  съвпадат върху VAR (Ui). Така xi0 = Ui = Ui0,

i = 1, 2, …, n  0 е решение на системата.

Нека  е произволно решение на системата, т.е. xi = Ui,

i = 1, 2, …, n. Тогава xi(0) = (xi0) = Ui = xi, i = 1, 2, …, n.

Също за всяко x\{ x1, x2, …, xn}, x(0) = (x0) = x. Така  = 0.


Нека T1 = U1, T2 = U2, …, Tn = Un е система от уравнения между термове. Нека  е решение на системата. Тогава всички частни случаи на  също са решения. Действително, нека  е произволна субституция. За i = 1, 2, …, n имаме Ti() = (Ti) = (Ui) = Ui() 

 е решение на системата.


Под най-общо решение на системата T1 = U1, T2 = U2, …, Tn = Un разбираме решение , такова че всяко друго решение на системата е частен случай на . По-долу ще покажем, че ако една система има решение, то тя има най-общо решение  и тогава всички решения на системата се изчерпват с частните случаи

на . В случая когато системата е в решен вид, т.е. има вида



x1 = U1, x2 = U2, …, xn = Un, където x1, x2, …, xn са две по две различни помежду си променливи, които не участват в никое Ui, от горното твърдение субституцията 0 = [x1/U1, x2/U2, …, xn/Un]

(0 =  при n = 0) е най-общо решение на тази система, така че решенията на тази система се изчерпват със 0, където  е произволна субституция.


Да разгледаме уравнение от вида T = U, където T  , U  и T и U имат различни функционални символи или функционални символи с различен брой аргументи. Ясно е, че за всяка субституция  имаме T  U, т.е. това уравнение няма решение.
Да разгледаме уравнение от вида x = U, където x, U е терм,

U  x и x  VAR (U).


Твърдение: При горните предположения за всяка субституция  имаме x  U, т.е. уравнението x = U няма решение.

Доказателство: С индукция по построението ще покажем следното свойство: За всеки терм W, ако x  VAR (W) и x  W, то за всяка субституция , |W| > |x|.

База: Ако W е константа, свойството е тривиално изпълнено, тъй като една от предпоставките (x  VAR (W)) не е удоволетворена.

Ако W е променлива, свойството отново е тривиално изпълнено, тъй като двете препоставки (x  VAR (W), W  x) не могат да са изпълнени едновременно.

Предположение: Нека W = f (W1, W2, …, Wk) и свойството е изпълнено за термовете W1, W2, …, Wk.

Стъпка: Нека  е произволна субституция. Имаме

W = f (W1, W2, …, Wk). Ясно е, че |W| > |Wi| за всяко

i = 1, 2, …, n. Тъй като x  VAR (W), то x  VAR (Wi)

за някое i  { 1, 2, …, k }. Ако Wix, то по индукционното предположение|Wi| > |x|  |W| > |Wi| > |x|.

Ако Wi = x, то |W| > |Wi| = |x|.

Така и в двата случая |W| > |x|.

Сега, ако допуснем, че  е решение на системата x = U ще получим, че |x|= |U|, което е противоречие.


Уравнения от горните два вида наричаме явно нерешими. Казваме, че една система е явно нерешима, ако тя съдържа явно нерешимо уравнение. Ясно е, че такава система няма решение.
Две системи от уравнения между термове наричаме еквивалентни, ако множествата от решенията им съвпадат.

Ще посочим четири еквивалентни преобразувания на системи, т.е. преобразувания чрез които една система преминава в еквивалентна на нея система.

Нека T1 = U1, T2 = U2, …, Tn = Un е система от уравнения между термове.

1. Премахване на тъждество – ако за някое i  { 1, 2, …, n} имаме Ti = Ui премахваме това уравнение от системата. Системата очевидно преминава в еквивалентна на нея, тъй като премахнатото уравнение се удоволетворява от всяка субституция.

2. Разпадане – ако за някое i  { 1, 2, …, n} имаме

Ti = f (V1, V2, …, Vm), Ui = f (W1, W2, …, Wm), m > 0 и Ti  Ui, заменяме уравнението Ti = Ui с уравненията V1 = W1, V2 = W2, …, Vm = Wm. Системата преминава в еквивалентна на нея, тъй като  е решение на Ti = Ui, т.е. Ti = Ui 

 f (V1, V2, …, Vm) = f (W1, W2, …, Wm)  (от еднозначния синтактичен анализ) V1 = W1, V2 = W2, …, Vm = Um.

Изисква се Ti  Ui, тъй като при Ti = Ui е удачно да се извърши премахване на тъждество.

3. Обръщане – ако за някое i  { 1, 2, …, n} имаме Ti, Ui,

то заменяме уравнението Ti = Ui с Ui = Ti. Очевидно системата преминава в еквивалентна на нея.

4. Заместване – ако за някое i  { 1, 2, …, n} имаме Ti,

Ti  VAR (Ui) и Ti  VAR (Uj)  VAR (Tj) за някое j = 1, 2, …, n, то заменяме системата със следната:

T1[Ti/Ui] = U1[Ti/Ui], …, Ti-1[Ti/Ui] = Ui-1[Ti/Ui],

Ti = Ui, Ti+1[Ti/Ui] = Ui+1[Ti/Ui], …, Tn[Ti/Ui] = Un[Ti/Ui].

Ще покажем, че двете системи са еквивалентни.

Да означим 0 = [Ti/Ui]. Нека  е произволно решение на изходната система. Тъй като  е решение на уравнението Ti = Ui, Ti и

Ti  VAR (Ui), то от по-предното твърдение,  = 0.

За j  i  { 1, 2, …, n} Tj = Tj(0) = (Tj0) и Uj = Uj(0) = (Uj0)  (Tj0) = (Uj0). Така  е решение и на преобразуваната система.

Нека  е произволно решение на преобразуваната система. Отново  е решение на уравнението Ti = Ui, така че  = 0.

За j  i  { 1, 2, …, n} Tj = Tj(0) = (Tj0) и

Uj = Uj(0) = (Uj0)  Tj = Uj, т.е.  е решение на изходната система.




Сподели с приятели:
1   ...   15   16   17   18   19   20   21   22   ...   29




©obuch.info 2024
отнасят до администрацията

    Начална страница