Previous  Next  Contents
 

 

ПРЕФИКСНИ ИЗРАЗИ НАД ДАДЕНО МНОЖЕСТВО ОТ ДУМИ

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

    Да предположим, че е дадена една азбука, съдържаща измежду своите знаци двете кръгли скоби и запетаята (когато по-нататък конкретни знаци от тази азбука се срещат в рамките на друг текст, за избягване на недоразумения ще ги изобразяваме с получерен шрифт). Тази азбука по-нататък ще я наричаме базисна. Ако W е едно множество от думи над базисната азбука, то някои думи над нея ще наричаме префиксни изрази над W. Дефиницията е индуктивна: така ще наричаме думите от W и всички думи от вида w(T1,T2...,Tn), където n е положително цяло число, w е дума от W и T1, T2, ..., Tn са префиксни изрази над W (при n=1 считаме, че думата  ,T2...,Tn  е празна, докато при n>1 тя очевидно не е празна). Префиксните изрази от втория вид ще наричаме съставни. Ще казваме, че префиксните изрази над W имат еднозначен анализ, ако никой съставен префиксен израз над W не принадлежи на самото W и всеки съставен префиксен израз има само едно представяне във въпросния втори вид. Едно достатъчно (но не необходимо) условие, за да имат префиксните изрази над W еднозначен анализ - това е условието в думите от W да не се срещат нито кръгли скоби, нито запетаи. За да се убедим в достатъчността на изказаното условие, да предположим, че то е изпълнено. Тогава поради наличието на kръгли скоби във всеки съставен префиксен израз над W не е възможно такъв израз да принадлежи на самото W. Остава да покажем, че всеки съставен префиксен израз над W има само едно представяне във вида w(T1,T2...,Tn), където n е положително цяло число, w е дума от W и T1, T2, ..., Tn са префиксни изрази над W. Това може да се направи по следния начин. Първо с индукция, съобразена с дефиницията за префиксен израз над W, се доказват следните две леми (доказателствата им са лесни и ги оставяме за самостоятелно обмисляне):

    Лема 1. Във всеки префиксен израз над W броят на участията на лява кръгла скоба е равен на броя на участията на дясна кръгла скоба.

    Лема 2. Във всяко начало на префиксен израз над W , завършващо със запетая, броят на участията на лява кръгла скоба е по-голям от броя на участията на дясна кръгла скоба.

    Имайки на разположение тези леми, да предположим, че е налице някое равенство от вида

w(T1,T2...,Tn)=wў(T1ў,T2ў...,Tnўў),

където n и nў са положителни цели числа, w и wў са думи от W и T1, T2, ..., Tn, T1ў, T2ў, ..., Tnўў са префиксни изрази над W. Ще трябва да покажем, че в такъв случай имаме и равенствата

w=wў, n=nў, T1=T1ў, T2=T2ў, ...., Tn=Tnў.

От предположеното равенство и от обстоятелството, че думите от W не съдържат кръгли скоби, веднага се вижда, че w=wў, а това позволява да твърдим, че думите T1,T2...,Tn  и  T1ў,T2ў...,Tnўў  са равни. Оттук заключаваме най-напред, че думите T1 и T1ў имат една и съща дължина и следователно (понеже са начала на една и съща дума) са равни.  Действително, ако допуснем например, че дължината на T1 е по-малка от дължината на T1ў , то лема 2 ще ни позволи да твърдим, че броят на участията на лява кръгла скоба в думата T1 е по-голям от броя на участията на дясна кръгла скоба в същата дума, докато пък според лема 1 тези два броя трябва да бъдат равни. От равенството на T1 и T1ў следва, че ще бъдат равни и думите  ,T2...,Tn  и  ,T2ў...,Tnўў . Значи, ако едната от тях е празна, то и другата ще е празна, тъй че в този случай ще имаме n=nў=1 и следователно това, което имаме да докажем, ще е изпълнено. Другата възможност е никоя от думите  ,T2...,Tn  и  ,T2ў...,Tnўў да не е празна. Тогава и двете числа n и nў са по-големи от 1 и думите T2 ,T3...,Tn и T2ў,T3ў...,Tnўў ще бъдат равни. Разсъждавайки както преди малко, в този случай ще успеем да получим  равенството T2=T2ў и да заключим, че думите  ,T3...,Tn  и  ,T3ў...,Tnўў  също са равни. Като повторим тези разсъждения толкова пъти, колкото е необходимо, стигаме до желания резултат.

    Забележка. Има важни случаи, когато префиксните изрази над  W имат еднозначен анализ, въпреки че някои думи от W съдържат кръгли скоби или запетаи. Един такъв случай е онзи, когато базисната азбука съдържа и някакъв вид кавички и се допуска в думи от W да се срещат кръгли скоби или запетаи в части от думата, заградени с кавички. Този случай може да бъде разгледан чрез подходящо изменение на горните разглеждания.
 

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