Previous | Next | Contents |
Пример 1. Да се условим с буквите x и y да означаваме естествени числа.
Тогава дефиницията кога едно естествено число y е четно би могла да се изкаже
така:
Неприятността, с която току-що се срещнахме, е пример за тъй наречената колизия на променливите. Как да я избягваме в общия случай, ще видим по-нататък, а засега ще разгледаме един специален вид субституции, които, ако ги прилагаме по невъзможния в общия случай най-непосредствен начин, не водят до такава неприятност.
Да се условим да наричаме преименуваща субституция такава субституция, която преобразува всяка променлива пак в променлива и освен това е обратима, т.е. преобразува всеки две различни променливи пак в различни.
Пример 2. Ако x, y, z са различни помежду си променливи, то субституцията (y:=x) не е преименуваща, защото преобразува x и y в една и съща променлива (а именно в y), докато субституциите (:=), (x,y:=y,x) и (x,y,z:=y,z,x) са преименуващи. Ако x0,x1,x2,... е една безкрайна редица от различни помежду си променливи, то преименуваща е и субституцията, която при i=0,1,2,... преобразува xi в x2i, а всички променливи, които не са членове на споменатата редица (в случай че има такива променливи), преобразува в самите тях.
Пример 3. Всяко обратимо изображение на крайно множество от променливи в множеството на всички променливи може да бъде продължено до финитарна преименуваща субституция. И наистина, нека r е такова изображение. Да положим D=dom(r), R=range(r). Тогава D и R са крайни множества с равен брой елементи. Поради равенствата D\R=D\(DЗR), R\D=R\(DЗR), крайните множества D\R и R\D също се оказват с равен брой елементи и значи може да се намери обратимо изображение rў на R\D върху D\R. Да разгледаме сега субституцията s, дефинирана по следния начин:
s(h) = { | r(h) при hОD, rў(h) при hОR\D |
Забележка. Когато една преименуваща субституция е финитарна, множеството на нейните стойности съвпада с множеството на всички променливи (доказателството може да се извърши, като се използва, че всяка преименуваща субституция s преобразува елементите на съответното множество {xОX|s(x)№x} пак в елементи на това множество).
Да предположим, че е дадена една преименуваща субституция s. Ще дефинираме
какво значи една формула да е s-вариант на дадена формула. Дефиницията е индуктивна и се състои от следните точки:
В1. Ако a е атомарна формула, то s(a) е s-вариант на a.
В2. Ако jў е s-вариант на j, то Шjў е s-вариант на Шj.
В3,4. Ако jў е s-вариант на j и yў е s-вариант на y, то jў&yў е
s-вариант на j&y и jўЪyў е s-вариант на jЪy.
В5,6. Ако jў е s-вариант на j, а x е променлива, то "s(x)jў е
s-вариант на "xj и $s(x)jў е s-вариант на $xj.
Пример 4. Нека x, y, z, t са различни помежду си променливи и нека j е формулата "x$yШp(x,y,z), където p е триместен предикатен символ. Тогава формулите "x$tШp(x,t,z), "y$xШp(y,x,z) и "y$zШp(y,z,x) са s-варианти на j съответно при s=(y,t:=t,y), s=(x,y:=y,x) и s=(x,y,z:=y,z,x).
Да продължим да предполагаме, че е дадена една преименуваща субститъуция
s. С индукция относно построението на формулите на предикатното смятане лесно
се доказва, че всяка формула притежава точно един s-вариант. Ако на коя да е
формула съпоставим нейния единствен s-вариант, получаваме едно изображение на
множеството на формулите в себе си, което ще наричаме преименуване, съответно
на s, и ще означаваме с s#. От дадените дефиниции става ясно, че за всяка атомарна
формула a е в сила равенството s#(a)=s(a) и за произволни формули j, y и
произволна променлива x са изпълнени равенствата
С индукция относно построението на безкванторните формули се показва, че
за всяка безкванторна формула j имаме равенството s#(j)=s(j), а чрез индукция
относно построението на формулите на предикатното смятане - това, че за всяка формула j на
предикатното смятане са в сила равенствата
Семантичната връзка между j и s#(j) се описва от следното твърдение, в което vs означава композицията на v и s, дефинирана чрез равенството vs(h)=v(s(h)).
Теорема за стойността на резултата от преименуване. Нека е дадена една структура S. Тогава за всяка формула j на предикатното смятане при произволна оценка v в S на променливите е в сила равенството s#(j)S,v=jS,vs.
Доказателство. Използваме индукция относно построението на j. Ако j е атомарна, интересуващото ни равенство следва от изпълненото в този случай равенство s#(j)=s(j) като се използват теоремата за стойността на резултата от прилагане на субституция към такава формула и обстоятелството, че имаме равенството s(S,v)=(S,vs). Индуктивните стъпки, отговарящи на използването на отрицание, конюнкция и дизюнкция, са съвсем лесни, затова ще преминем направо към индуктивната стъпка, отговаряща на използването на квантор за общност. И така, нека j е такава формула, че за всяка оценка v в S на променливите да бъде в сила равенството от формулировката на теоремата, и нека x е дадена променлива. Тогава, означавайки с C носителя на S, за произволна оценка v в S на променливите ще имаме
За нас ще бъде особено полезно едно следствие от горната теорема, което ще изкажем сега.
Теорема за преименуване на свързани променливи. Нека j е формула, а s е такава преименуваща субституция, че s(h)=h за всяка свободна променлива h на j. Тогава формулата j е еквивалентна на формулата s#(j) и двете формули имат едни и същи свободни променливи.
Доказателство. Нека S е произволна структура, а v е произволна оценка в S на променливите. Тогава според предходната теорема имаме равенството s#(j)S,v=jS,vs. От друга страна обаче имаме и равенството jS,vs=jS,v, тъй като оценките vs и v съвпадат върху множеството на свободните променливи на j. Следователно s#(j)S,v=jS,v.Следователно s#(j)S,v=jS,v. С това еквивалентността на формулите j и s#(j) е установена. Твърдението, че свободните променливи на тези формули са едни и същи, следва от отбелязаната в общия случай връзка между СВО(j) и СВО(s#(j)) и от обстоятелството, че в случая s преобразува свободните променливи на j в самите тях.
Следствие. Ако j е затворена формула, то за всяка преименуваща субституция s формулата j е еквивалентна на формулата s#(j) и тя също е затворена.
Понякога се оказва подходящо теоремата за преименуване на свързани променливи и следствието от нея да се приложат не към цялата формула, с която имаме работа, а към някоя нейна подформула, и това, че замяната на въпросната подформула с еквивалентна на нея ще даде формула, еквивалентна на първоначалната, да се получи като се използват по-рано изучените свойства на еквивалентността на формули.
Пример 5. Нека q е формулата p(x)&$xШp(x), където p е едноместен предикатен символ, а x е променлива. Променливата x е както свободна, така и свързана променлива на q. За да получим формула, еквивалентна на q, но без тази особеност, можем първо да приложим следствието от теоремата за преименуване на свързани променливи към формулата $xШp(x) и да заключим, че тя е еквивалентна например на формулата $yШp(y), където y е променлива, различна от x. Оттук ще следва, че цялата формула q от своя страна е еквивалентна на формулата p(x)&$yШp(y).
С помощта на теоремата за преименуване на свързани променливи ще докажем следното полезно твърдение.
Теорема за ограничаване на избора на свързаните променливи. Нека X0 е дадено безкрайно множество от променливи. Тогава всяка формула е еквивалентна на някоя формула със същите свободни променливи, на която всички свързани променливи принадлежат на X0.
Доказателство. Ще използваме индукция, съобразена с дефиницията за формула. Тъй като твърдението на теоремата е тривиално вярно за атомарните формули, а индуктивните стъпки, отнасящи се до образуване на отрицание, на конюнкция и на дизюнкция, са съвсем прости, ще разгледаме само индуктивната стъпка, отнасяща се до поставяне на квантор. Ще се ограничим със случая на квантор за общност. Нека j е формула с доказваното свойство и jў е еквивалентна на нея формула, удовлетворяваща условията СВО(jў)=СВО(j), СВЪ(jў)НX0. Нека x е произволна променлива. Ще трябва да докажем, че и формулата "xj има въпросното свойство. Разбира се тя е еквивалентна на формулата "xjў и двете формули имат едни и същи свободни променливи. Ако x принадлежи на X0, то всичко е наред, тъй като в този случай всички свързани променливи на "xjў ще принадлежат на X0. Ако пък x не принадлежи на X0, то можем да изберем някоя променлива h от X0, която не принадлежи на крайното множество СВО("xjў)ИСВЪ("xjў), и, прилагайки теоремата за преименуване на свързани променливи, да заключим, че формулата "xjў е еквивалентна на формулата (x,h:=h,x)#("xjў) и двете формули имат едни и същи свободни променливи (всички свързани променливи на формулата (x,h:=h,x)#("xjў) принадлежат на X0, защото множеството на свързаните й променливи се получава от множеството на свързаните променливи на "xjў чрез замяна на x с h).
Като използваме, че за всяка формула j множеството X\СВО(j) е безкрайно, и приложим горната теорема, получаваме:
Следствие. Всяка формула е еквивалентна на някоя формула със същите свободни променливи, на която никоя от свързаните променливи не е нейна свободна променлива.
Последно изменение: 6.10.2000 г.
Previous | Next | Contents |