Съдържание 
 

СУБСТИТУЦИИ. ПРИЛАГАНЕ НА СУБСТИТУЦИЯ КЪМ ТЕРМ

      Ще предполагаме, че е дадена една сигнатура Σ. Под субституция в сигнатура Σ ще разбираме функция с дефиниционна област множеството Ξ на всички променливи и със стойности в множеството на термовете в сигнатура Σ (в съгласие с предишно уславяне обикновено ще пропускаме думите "в сигнатура Σ" и ще говорим просто за субституции и за термове). Една субституция σ ще наричаме финитарна, ако равенството σ(ξ)=ξ е нарушено най-много за краен брой променливи ξ. Ако ξ1, , ξk , където k≥1, са променливи, които при k>1 са две по две различни, а θ1, , θk са термове, то ще означаваме със знака 11,kk] финитарната субституция σ, определена по следния начин: σ(ξ1)=θ1, , σ(ξk)=θk и σ(ξ)=ξ за всяка променлива ξ, различна от ξ1, , ξk. Финитарната субституция, която преобразува всяка променлива в самата нея, ще наричаме тъждествена субституция и ще означаваме с ι (тя разбира се може да се представи във вида 11], където ξ1 е произволно избрана променлива).

      Нека σ е дадена субституция. За всеки терм τ дефинираме терм στ, който ще наричаме резултат от прилагане на σ към τ (интуитивно въпросният резултат може да се схваща като получен чрез заместване на променливите в терма τ със съответните им стойности на σ). Дефиницията е индуктивна и се състои от следните точки:
       1. Ако ξ е променлива, то σξ = σ(ξ).
       2. Ако ω е константа, то σω = ω.
       3. Ако n е положително цяло число, ω е n-местен функционален символ и τ1, , τn са термове, то

σω(τ1,n) = ω(στ1,,στn).
Разбира се еднозначността на тази дефиниция се осигурява от еднозначния прочит на термовете.

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

      Твърдение 1. За всеки терм τ е в сила равенството ιτ=τ.

      Доказателство. Равенството ιτ=τ е очевидно, когато τ е константа или променлива. Да предположим сега, че τ=ω(τ1,n), където n е положително цяло число, ω е n-местен функционален символ и τ1, , τn са термове, притежаващи доказваното свойство, т.е. термове, за които са в сила равенствата ιτ11, , ιτnn. Тогава

ιτ = ω(ιτ1,,ιτn) = ω(τ1,n) = τ,
т.е. термът τ също притежава доказваното свойство.  

      Твърдение 2. Нека σ и σ са произволни субституции. Ако τ е произволен терм, то равенството στ=στ е изпълнено точно тогава, когато σ и σ съвпадат върху множеството VAR(τ).

      Доказателство. Ако τ е променлива, то е очевидно, че равенството στ=στ е равносилно със съвпадането на σ и σ върху множеството VAR(τ). Такава равносилност е налице по тривиални причини и в случая, когато τ е константа. Да предположим сега, че τ=ω(τ1,n), където n е положително цяло число, ω е n-местен функционален символ и τ1, , τn са такива термове, че при i=1,,n равенството στiτi е равносилно със съвпадането на σ и σ върху множеството VAR(τi). От равенствата

στ = ω(στ1,,στn),   στ = ω(στ1,τn)
е ясно, че равенството στ=στ е изпълнено точно тогава, когато са изпълнени равенствата στiτi, i=1,,n. Следователно равенството στ=στ е равносилно със съвпадането на σ и σ върху всяко от множествата VAR(τi), i=1,,n, т.е. със съвпадането на σ и σ върху обединението на въпросните n множества, което пък е VAR(τ).  

      Следствие. Нека σ е произволна субституция. Ако τ е произволен терм, то равенството στ=τ е изпълнено точно тогава, когато σξ=ξ за всяка променлива ξ от множеството VAR(τ). В частност στ=τ за всеки затворен терм τ.

      Доказателство. Прилагаме твърдение 2 при σ=ι.  

      Твърдение 3. Нека σ е произволна субституция. Тогава за всеки терм τ множеството VAR(στ) е обединение на множествата VAR(σξ), където ξVAR(τ).

      Доказателство. Твърдението е тривиално в случая, когато τ е променлива. То разбира се е вярно и в случая, когато τ е константа, защото обединението на празно семейство от множества е празно. Да предположим сега, че τ=ω(τ1,n), където n е положително цяло число, ω е n-местен функционален символ и τ1, , τn са такива термове, че при i=1,,n множеството VAR(στi) е обединение на множествата VAR(σξ), където ξVAR(τi). От равенството στ = ω(στ1,,στn) получаваме, че VAR(στ) е обединение на множествата VAR(στ1), , VAR(στn) и следователно VAR(στ) е обединение на множествата VAR(σξ), където ξ принадлежи на обединението на множествата VAR(τ1), , VAR(τn). Последното обединение обаче е точно VAR(τ).  

      Следствие. Ако σ е субституция и τ е терм, то термът στ е затворен точно тогава, когато за всяка променлива ξ на τ съответният терм σξ е затворен.

      Нека σ е субституция в сигнатура Σ, a S е структура със сигнатура Σ. В множеството на всички оценки в S ще дефинираме едно преобразование, което ще наричаме оператор за присвояване, съответен на σ в S и ще означаваме със σS. А именно, ще приемем, че резултатът σS(v) от прилагането на това преобразование към произволна оценка v в S е оценката v, за която v(ξ)=σ(ξ)S,v при всеки избор на променливата ξ.

      Забележка 1. Ако σ = [ξ11], където ξ1 е дадена променлива, а θ1 е даден терм, то, както лесно се проверява, σS(v) съвпада с модификацията на v върху ξ1 чрез θ1S,v. По-общо, ако σ = [ξ11,kk], където ξ1, , ξk са две по две различни променливи, а θ1, , θk са термове, то е в сила равенството σS(v) = v1θ1S,v]kθkS,v].

      Забележка 2. Ако един език за програмиране работи с променливи и допуска оператор за присвояване ξ1:1, който на дадена променлива ξ1 приписва стойността на даден израз θ1 и запазва стойностите на останалите променливи, то действието на този оператор за присвояване би било аналогично на действието на преобразованието σS от първото изречение на забележка 1.

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

      Теорема за стойността на резултат от прилагане на субституция към терм. Ako S е структура със сигнатура Σ, то за всяка субституция σ и всеки терм τ в тази сигнатура е в сила равенството

(στ)S,vSS(v).

      Доказателство. Нека са дадени структура S, оценка v в нея и субституция σ. Да означим с v оценката σS(v). Имаме да докажем, че за всеки терм τ е в сила равенството (στ)S,vS,v. Ако термът τ е променлива, верността на това равенство произтича от дефиницията на оценката v, а ако той е константа, то равенството е тривиално. Да предположим сега, че τ=ω(τ1,n), където n е положително цяло число, ω е n-местен функционален символ и τ1, , τn са такива термове, че при i=1,,n е в сила равенството (στi)S,viS,v. Тогава

(στ)S,v(στ1,,στn)S,vS((στ1)S,v,,(στn)S,v)=ωS1S,v,nS,v)=τS,v.  

      Забележка 3. За запомняне на равенството от доказаната теорема може да се използва следният мнемоничен похват: да наречем термовете τ и στ съответно "старият терм" и "новият терм", а оценките v и σS(v)  -  съответно "старата оценка" и "новата оценка", и да изкажем равенството с думите "стойността на новия терм при старата оценка е равна на стойността на стария терм при новата оценка".
 

Последно изменение: 25.01.2007 г.