Съдържание |
Нека σ е дадена субституция. За всеки терм τ дефинираме терм στ, който ще наричаме резултат от прилагане на σ към τ (интуитивно въпросният резултат може да се схваща като получен чрез заместване на променливите в терма τ със съответните им стойности на σ). Дефиницията е индуктивна и се състои от следните точки:
1. Ако ξ е променлива, то σξ = σ(ξ).
2. Ако ω е константа, то σω = ω.
3. Ако n е положително цяло число, ω е n-местен функционален символ и τ1, …, τn са термове, то
Ще отбележим някои свойства на прилагането на субституция към терм, като всички те се доказват чрез индукция, съобразена с индуктивната дефиниция за терм.
Твърдение 1. За всеки терм τ е в сила равенството ιτ=τ.
Доказателство. Равенството ιτ=τ е очевидно, когато τ е константа или променлива. Да предположим сега, че τ=ω(τ1,…,τn), където n е положително цяло число, ω е n-местен функционален символ и τ1, …, τn са термове, притежаващи доказваното свойство, т.е. термове, за които са в сила равенствата ιτ1=τ1, …, ιτn=τn. Тогава
Твърдение 2. Нека σ и σ′ са произволни субституции. Ако τ е произволен терм, то равенството στ=σ′τ е изпълнено точно тогава, когато σ и σ′ съвпадат върху множеството VAR(τ).
Доказателство. Ако τ е променлива, то е очевидно, че равенството στ=σ′τ е равносилно със съвпадането на σ и σ′ върху множеството VAR(τ). Такава равносилност е налице по тривиални причини и в случая, когато τ е константа. Да предположим сега, че τ=ω(τ1,…,τn), където n е положително цяло число, ω е n-местен функционален символ и τ1, …, τn са такива термове, че при i=1,…,n равенството στi=σ′τi е равносилно със съвпадането на σ и σ′ върху множеството VAR(τi). От равенствата
Следствие. Нека σ е произволна субституция. Ако τ е произволен терм, то равенството στ=τ е изпълнено точно тогава, когато σξ=ξ за всяка променлива ξ от множеството 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. Ако σ = [ξ1/θ1], където ξ1 е дадена променлива, а θ1 е даден терм, то, както лесно се проверява, σS(v) съвпада с модификацията на v върху ξ1 чрез θ1S,v. По-общо, ако σ = [ξ1/θ1,…,ξk/θk], където ξ1, …, ξk са две по две различни променливи, а θ1, …, θk са термове, то е в сила равенството σS(v) = v[ξ1→θ1S,v]…[ξk→θkS,v].
Забележка 2. Ако един език за програмиране работи с променливи и допуска оператор за присвояване ξ1:=θ1, който на дадена променлива ξ1 приписва стойността на даден израз θ1 и запазва стойностите на останалите променливи, то действието на този оператор за присвояване би било аналогично на действието на преобразованието σS от първото изречение на забележка 1.
При семантични разглеждания, отнасящи се до прилагане на субституции към термове, често се оказва полезно следното твърдение.
Теорема за стойността на резултат от прилагане на субституция към терм. Ako S е структура със сигнатура Σ, то за всяка субституция σ и всеки терм τ в тази сигнатура е в сила равенството
Доказателство. Нека са дадени структура S, оценка v в нея и субституция σ. Да означим с v′ оценката σS(v). Имаме да докажем, че за всеки терм τ е в сила равенството (στ)S,v=τS,v′. Ако термът τ е променлива, верността на това равенство произтича от дефиницията на оценката v′, а ако той е константа, то равенството е тривиално. Да предположим сега, че τ=ω(τ1,…,τn), където n е положително цяло число, ω е n-местен функционален символ и τ1, …, τn са такива термове, че при i=1,…,n е в сила равенството (στi)S,v=τiS,v′. Тогава
Забележка 3. За запомняне на равенството от доказаната теорема може да се използва следният мнемоничен похват: да наречем термовете τ и στ съответно "старият терм" и "новият терм", а оценките v и σS(v) - съответно "старата оценка" и "новата оценка", и да изкажем равенството с думите "стойността на новия терм при старата оценка е равна на стойността на стария терм при новата оценка".
Последно изменение: 25.01.2007 г.