Previous  Next  Contents
 

 

ВАРИАНТИ И ПРЕИМЕНУВАНЕ НА ПРОМЕНЛИВИ

    Нека A е терм, атомарна формула, хорнова цел или хорнова клауза. Вариант на A ще наричаме такъв частен случай Aў на A, че и A да бъде частен случай на Aў.

    Пример 1. Нека p е двуместен предикатен символ. Тогава атомарната формула p(Y,Z) е вариант на атомарната формула p(X,Y), а атомарната формула p(X,X) не е вариант на p(X,Y).

    Лесно се съобразява, че всеки вариант на A има същите частни случаи както A.

    Нека a е субституция, а X0 е някое множество от променливи. Ще казваме, че a е преименуваща върху X0, ако a преобразува всяка променлива от множеството X0 пак в променлива (не непременно принадлежаща на X0) и преобразува различните променливи от X0  пак в различни.

    Пример 2. Субституцията [Y,Z=:X,Y] е преименуваща върху множеството {X,Y}, но не е преименуваща върху множеството {X,Y,Z}. Ако T е терм, който не е променлива, то субституцията [T,X=:X,Y] не е преименуваща въху множеството {X,Y}, но е преименуваща върху всяко множество от променливи, което не съдържа променливата X.

    Сега ще установим връзка между варианти и субституции, преименуващи върху дадено множество.

    Твърдение 1. Нека A е терм, атомарна формула, хорнова цел или хорнова клауза, а a е субституция, която е преименуваща върху множеството VAR(A). Тогава a(A) е вариант на A.

    Доказателство. Множеството от променливи VAR(A) е крайно. Тогава и неговият образ посредством a е краен. Да означим въпросния образ чрез X1 и да дефинираме изображение на X в X, като положим (a(X))=X при XОVAR(A) и (Y)=Y при YПX1. Ясно е, че изображението е субституция и че субституцията aўa съвпада с тъждествената субституция за всички променливи на A. Това позволява да се твърди, че е в сила равенството (a(A))=A и следователно A е частен случай на своя частен случай a(A).  ї

    Следствие 1. Нека A е терм, атомарна формула, хорнова цел или хорнова клауза и нека е дадено някое крайно множество от променливи. Тогава A притежава вариант, на който никоя от променливите не принадлежи на въпросното множество.

    Доказателство. Преобразуваме A чрез субституция, която замества променливите от VAR(A) с различни променливи, непринадлежащи на даденото множество.  ї

    Следствие 2. За всеки две атомарни формули съществува вариант на първата, който няма общи променливи с втората.

    Във въпроса "Унификатори и унифицируемост" отбелязахме, че за всеки две унифицируеми атомарни формули съществува атомарна формула, която е частен случай и на двете, като обратното не е вярно в общия случай, но е вярно в случая на атомарни формули с непресичащи се множества на променливите. Ако A и B са произволни атомарни формули, направеното по-горе дава начин да проверим дали съществува атомарна формула, която да е частен случай и на A, и на B. А именно, да разгледаме вариант Aў на A, нямащ общи променливи с B. Тъй като A и Aў имат едни и същи частни случаи, съществуването на атомарна формула, която да е частен случай и на A, и на B, е равносилно със съществуването на атомарна формула, която да е частен случай и на Aў, и на B. Последното обаче е равносилно с това атомарните формули Aў и B да са унифицируеми.

    Ще докажем след малко, че няма други варианти на терм, атомарна формула, хорнова цел или хорнова клауза освен посочените в твърдение 1. За да направим това, ще са ни нужни две леми.

    Лема 1. Ако една субституция преобразува даден терм в променлива, той също е променлива.

    Доказателство. Ако един терм не е променлива, той е константа или има вида f(T1,T2...,Tn), където n е положително цяло число, f е n-местен функционален символ и T1, ...,Tnса термове. И в двата случая резултатът от прилагане на субституция към въпросния терм е терм, който не е променлива.  ї

    Лема 2. Нека  A е терм, атомарна формула, хорнова цел или хорнова клауза, а s е такава субституция, че s(A)=А. Тогава s(X)=X за всяка променлива X на A.

    Доказателство. За случая, когато A е терм, твърдението се доказва чрез индукция, съобразена с дефиницията за терм, като се използва и дефиницията за множество на променливите на един терм. Веднаж доказано за този случай, твърдението лесно се разпространява за останалите.  ї

    Твърдение 2. Нека A е терм, атомарна формула, хорнова цел или хорнова клауза. Тогава всеки вариант на A има вида a(A), където a е субституция, преименуваща върху множеството VAR(A).

    Доказателство. Нека Aў е произволен вариант на A. Тогава за някои субституции a и са в сила равенствата Aў=a(A) и A=(Aў). От тези равенства следва равенството (a(A))=A, което може да се напише и във вида aўa(A)=A. Оттук с помощта на лема 2 заключаваме, че за всяка променлива X на A имаме равенството aўa(X)=X, а значи и равенството (a(X))=X. Това в съчетание с лема 1 показва, че за всяка променлива X на A съответният й терм a(X) е пак променлива. Освен това ако X1 и X2 са две различни променливи на A, то от равенствата (a(X1))=X1 и (a(X2))=X2 виждаме, че a(X1) и a(X2) също са различни.  ї

    Една субституция ще наричаме преименуваща, ако тя е преименуваща върху множеството на всички променливи (разбира се такава субституция ще бъде преименуваща и върху всяко негово подмножество).

    Пример 3. Тъждествената субституция, субституцията [Y,X=:X,Y] и субституцията [Z,X,Y=:X,Y,Z] са преименуващи.

    Сега ще опишем общия вид на преименуващите субституции. Да наречем пермутация на променливи всяко взаимно еднозначно изображение на крайно множество от променливи върху себе си. Ако q е пермутация на променливи, то ще наричаме естествено продължение на q субституцията, която съвпада с q за променливите от дефиниционната област на q, а всички останали променливи преобразува в самите тях.

    Твърдение 3. Една субституция е преименуваща точно тогава, когато тя е естествено продължение на някоя пермутация на променливи.

    Доказателство. Ако една субституция е естествено продължение на пермутация на променливи, то тази субституция очевидно е преименуваща. По-нетривиално е обратното. За да го докажем, да предположим, че d е произволна преименуваща субституция. Нека D е множеството на онези променливи X, за които d(X)X. Това множество е крайно според дефиницията за субституция. Понеже субституцията d преобразува променливите в променливи и различните променливи в различни, ясно е, че за всяка променлива X от D ще бъде в сила неравенството d(d(X))№d(X) и следователно d(X) ще бъде пак елемент на D. Да означим с q рестрикцията на d върху множеството D. Тогава q е пермутация на променливи, а d е естествено продължение на qї

    Следствие 3. Всяка преименуваща субституция е взаимно еднозначно изображение на множеството X върху себе си.

    За следващите разглеждания ще имаме нужда от още една лема. Да наречем заместване всяко изображение на крайно множество от променливи в множеството на термовете. Преименуващо заместване ще наричаме такова заместване, при което на променливите от дефиниционната му област съответстват пак променливи (не непременно от нея) и на различните променливи от нея съответстват пак различни. Ясно е, че пермутациите на променливи са специален вид преименуващи замествания.

    Лема 3. Нека r е преименуващо заместване. Тогава съществува такава преименуваща субституция d, че d(X)=r(X) за всяка променлива X от дефиниционната област на r и d(X)=X за всяка променлива X, която не принадлежи нито на дефиниционната област, нито на множеството на стойностите на r.

    Доказателство. Ясно е, че дефиниционната област dom(r) на r и множеството на стойностите  range(r) на r са крайни множества с равен брой елементи. Като използваме равенствата

dom(r) \ range(r) = dom(r) \ (dom(r) З range(r)),
range(r) \ dom(r) = range(r) \ (dom(r) З range(r)),
виждаме, че и множествата в левите страни на тези равенства също са с равен брой елементи. Това позволява да изберем някое взаимно еднозначно изображение на множеството range(r) \ dom(r) върху множеството dom(r) \ range(r). Да означим с D обединението на множествата dom(r) и range(r) и да дефинираме изображение q на D в D като положим q(X)=r(X) при X О dom(r) и q(X)=(X) при X О range(r) \ dom(r). Лесно се проверява, че q е взаимно еднозначно изображение на D върху D. Следователно q е пермутация на променливи. Вземайки в качеството на d естественото продължение на q, получаваме преименуваща субституция с желаните свойства.  ї

    Ще илюстрираме конструкцията от горното доказателство с един пример.

    Пример 4. Нека dom(r)={X,Y,Z}, r(X)=U, r(Y)=V, r(Z)=X. Тогава

 dom(r) \ range(r) = {Y,Z},   range(r) \ dom(r) = {U, V}
и са налице две възможности за дефиниране на : при едната имаме (U)=Y, (V)=Z, а при другата - (U)=Z, (V)=Y. Съответните две преименуващи субституции d са следните:
[Y,Z,U,V,X=:U,V,X,Y,Z],   [Z,Y,U,V,X=:U,V,X,Y,Z].

    С помощта на лема 3 ще дадем следното усилване на твърдение 2.

    Твърдение 2ў.Нека A е терм, атомарна формула, хорнова цел или хорнова клауза. Тогава всеки вариант на A има вида d(A), където d е преименуваща субституция.

    Доказателство. Нека  Aў е произволен вариант на A. Според твърдение 2 Aў има вида a(A), където a е някоя субституция, преименуваща върху множеството VAR(A). Да означим с r рестрикцията на a върху множеството VAR(A). Така полученото изпбражение r е преименуващо заместване и според лема 3 съществува преименуваща субституция d, която съвпада с r за променливите от dom(r). Тъй като въпросната субституция d ще съвпада с a за променливите на A, ще имаме равенството d(A)=a(A).  ї

    Следващото твърдение показва, че и в по-широк кръг от случаи е налице възножност за използване на преименуващи субституции вместо субституции, преименуващи върху дадено множество.

    Твърдение 4. Нека a е субституция, която е преименуваща върху дадено множество от променливи X0. Тогава съществува преименуваща субституция, съвпадаща с a върху множеството X0.

    Доказателство. Да означим с r рестрикцията на a върху множеството на онези променливи X от X0, за които a(X)X. Така дефинираното изображение r представлява едно преименуващо заместване, следователно можем да приложим лема 3 и да получим преименуваща субституция d с изказаните в лемата свойства. Ще покажем, че d съвпада с a върху множеството  X0. Тъй като d е продължение на r, всъщност трябва само да покажем, че и за онези променливи X от X0, които не принадлежат на dom(r), имаме равенството d(X)=a(X). Нека X е променлива от X0, която не принадлежи на dom(r). Тогава ще имаме равенството a(X)=X и значи ще трябва да покажем, че имаме и равенството d(X)=X. Това ще направим, като установим, че X не принадлежи и на range(r). Да допуснем противното - че X принадлежи на range(r). Това дава, че X=r(Xў)=a(Xў) за някоя променлива Xў, която принадлежи на dom(r). Но в такъв случай се получава, че за двете различни променливи X и Xў, принадлежащи на X0, стойностите на a съвпадат в противоречие с обстоятелството, че субституцията a е преименуваща върху X0.  ї

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

    Пример 5. Ако A и B са две унифицируеми атомарни формули, а s и са два най-общи унификатора на A и B, то е вариант на s.

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

    Твърдение 5. Нека s е произволна субституция. Тогава варианти на s са точно субституциите от вида ds, където d е преименуваща субституция.

    Доказателство. Ако d е преименуваща субституция, то следствие 3 позволява да образуваме обратната й субституция d-1 и да твърдим, че произведението d-1d е тъждествената субституция, а това дава равенствата d-1(ds)=(d-1d)s=s, от които се вижда, че s е частен случай на своя частен случай ds, т.е.ds е вариант на s. За разсъждението в обратната посока да предположим, че е произволен вариант на s. Тогава ще имаме равенствата =as и s=aўsў за някои две субституции a и . Да означим с X0 обединението на множествата VAR(s(Z)), съответстващи на всевъзможните променливи Z. Ще покажем, че за всяка променлива X от X0 е изпълнено равенството (a(X))=X. И наистина, нека X е произволна променлива от множеството X0. Тогава XОVAR(s(Z)) за някоя променлива Z. Ще имаме равенствата

aўa(s(Z))=(a(s(Z))=(as)(Z)=aўsў(Z)=s(Z),
а оттук по лема 2 заключаваме, че aўa(X)=X, т.е. (a(X))=X. От установеното свойство на променливите от X0 следва по лема 1, че субституцията a преобразува всички такива променливи пак в променливи, а освен това от същото свойство е ясно, че за различните променливи от X0 стойностите на a са различни. С други думи оказа се, че субституцията a е преименуваща върху множеството X0. По твърдение 4 ще съществува преименуваща субституция d, която съвпада с a върху X0. Като използваме това съвпадане и равенството =as, сега ще покажем, че е в сила и равенството =ds. Действително, за всяка променлива Z имаме равенствата (Z)=a(s(Z)), ds(Z)=d(s(Z)), а десните им страни са равни, понеже всички променливи на терма s(Z) принадлежат на множеството X0 и значи субституциите a и d съвпадат за тези променливи.  ї
 

Последно изменение: 21.06.2000 г.
 
 Previous  Next  Contents