Лекции по логическо програмиране


Заместване на променлива с терм в произволна формула



страница20/22
Дата01.06.2017
Размер2.18 Mb.
#22581
ТипЛекции
1   ...   14   15   16   17   18   19   20   21   22

Заместване на променлива с терм в произволна формула

нека  е субституция от вида [x/T], където x, T е терм;

с индукция по построението дефинираме приложимост на  към произволна формула F и резултат от прилагането на  към F,

в случай че  е приложима към F, който ще бележим с F;

База: ако F е атомарна формула, F = p (T1, T2, …, Tn), n  0,

T1, T2, …, Tn са термове, то  е приложима към F и резултатът от прилагането на  към F е F = p (T1, T2, …, Tn);

ако F = fail или F = true, то  е приложима към F и резултатът от прилагането на  към F е F = F;

Предположение: нека G, F1, F2, …, Fn, n > 1, са формули и за тях са дефинирани приложимост на  и резултат от прилагането на ,

в случай че  е приложима;

Стъпка: ако F = G, то  е приложима към F, ако  е приложима към G и в такъв случай F = (G) = (G);

ако F = F1 & F2 & … & Fn, то  е приложима към F, ако  е приложима към F1, F2, …, Fn и в такъв случай

F = (F1 & F2 & … & Fn) = F1 & F2 & … & Fn;

ако F = F1  F2  …  Fn, то  е приложима към F, ако  е приложима към F1, F2, …, Fn и в такъв случай

F = (F1  F2  …  Fn) = F1  F2  …  Fn;

нека F = y G; ако x  FVAR (F) = FVAR (y G),

то  е приложима към F и F = F;

ако x  FVAR (F) = FVAR (y G), то  е приложима към F, ако  е приложима към G и y  VAR (T); в такъв случай резултатът от прилагането на  към F е F = (y G) = y (G);

нека F = y G ; ако x  FVAR (F) = FVAR (y G),

то  е приложима към F и F = F;

ако x  FVAR (F) = FVAR (y G), то  е приложима към F, ако  е приложима към G и y  VAR (T); в такъв случай резултатът от прилагането на  към F е F = (y G) = y (G);


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

към F съвпада с по-горе дефинираното понятие;


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

[Y/X] не е приложима към формулата X p (X, Y), тъй като при заместване на Y с X получаваме X p (X, X) – свободната променлива Y става свързана в новата формула; това е недопустимо – например, възможно е първата формула да е тъждествено вярна в някаква структура, а втората да не е тъждествено вярна в същата структура;


Твърдение: ако T = x, то  = [x/T] е приложима към всяка формула F и F = F;

Доказателство: индукция по дефиницията за приложимост;

База: ако F е атомарна формула, то  е приложима към F и

F = F, тъй като  = ; ако F = fail или F = true, то  е приложима към F и F = F (дори за произволна субституция );

Предположение: нека  е приложима към G, F1, F2, …, Fn, n > 1 и

G = G, F1 = F1, F2 = F2, …, Fn = Fn;

Стъпка: ако F = G, то  е приложима към F, тъй като  е приложима към G и F = (G) = (G) = G = F;

ако F = F1 & F2 & … & Fn, то  е приложима към F, тъй като  е приложима към F1, F2, …, Fn и

F = (F1 & F2 & … & Fn) = F1 & F2 & … & Fn =

= F1 & F2 & … & Fn = F;

съвсем аналогично разсъждаваме в случая F = F1  F2  …  Fn;

нека F = y G; ако x  FVAR (F), то  е приложима към F и F = F (дори за произволна субституция );

ако x  FVAR (F), то xy, тъй като y  FVAR (F); така  е приложима към F, тъй като  е приложима към G и

y  VAR (T) = { x }; така F = (y G) = y (G) = y G = F;

съвсем аналогично разсъждаваме в случая F = y G;


нека F е произволна формула; с индукция по построението на F дефинираме множество на свързаните променливи на F, което ще отбелязваме с BVAR (F);

База: ако F е атомарна формула, то BVAR (F) = ;

ако F = true или F = fail, дефинираме BVAR (F) = ;

Предположение: нека F, F1, …, Fn (n > 1) са формули и BVAR (F),

BVAR (F1), …, BVAR (Fn) са вече дефинирани;

Стъпка: дефинираме BVAR (F) = BVAR (F),

BVAR (F1 & F2 & … Fn) = BVAR (F1)  BVAR (F2)  … BVAR (Fn);

BVAR (F1  F2  …  Fn) = BVAR (F1)  BVAR (F2)  … BVAR (Fn);

BVAR (x F) = BVAR (F)  { x}, BVAR (x F) = BVAR (F)  { x};
ясно е, че ако F е безкванторна формула, то BVAR (F) = ;
Твърдение: нека s = [x/T], F е формула;

ако VAR (T) Ç BVAR (F) = Æ, то s е приложима към F;

Доказателство: индукция по дефиницията за приложимост;

База: ако F е атомарна формула, то всяка субституция е приложима към F и в частност s е приложима към F;

ако F = fail или F = true, то очевидно s е приложима към F;

Предположение: нека твърдението е изпълнено за

формулите G, F1, F2, …, Fn, n > 1;

Стъпка:


нека F = ØG; имаме VAR (T) Ç BVAR (F) = Æ è

VAR (T) Ç BVAR (G) = Æ è s е приложима към G è

s е приложима към F;

нека F = F1 & F2 & … & Fn; имаме VAR (T) Ç BVAR (F) = Æ è

VAR (T) Ç BVAR (F1) = Æ, VAR (T) Ç BVAR (F2) = Æ, …,

VAR (T) Ç BVAR (Fn) = Æ è s е приложима към F1, F2, …, Fn è s е приложима към F;

аналогично разсъждаваме в случая F = F1 Ú F2 Ú … Ú Fn;

нека F = "y G; ако x Ï FVAR (F), то s е приложима към F по дефиниция; нека x Î FVAR (F); имаме VAR (T) Ç BVAR (F) = Æ, т.е.

VAR (T) Ç BVAR ("y G) = Æ è y Ï VAR (T), VAR (T) Ç BVAR (G) = Æ è

s е приложима към G, y Ï VAR (T) è s е приложима към F;

аналогично разсъждаваме в случая F = $y G;
Твърдение: нека F е формула, T е терм; ако x Ï FVAR (F), то

s = [x/T] е приложима към F и Fs = F;

Доказателство:

индукция по дефиницията за приложимост;

База: ако F е атомарна формула, то s е приложима към F и

Fs = F, тъй като s и i съвпадат върху FVAR (F) = VAR (F);

ако F = fail или F = true, то s е приложима към F и Fs = F (дори за произволна субституция s);

Предположение: нека твърдението е изпълнено за

формулите G, F1, F2, …, Fn, n > 1;

Стъпка:


нека F = ØG; тъй като x Ï FVAR (F), то x Ï FVAR (G) è

s е приложима към G и Gs = G è s е приложима към F и

Fs = (ØG)s = Ø(Gs) = ØG = F;

нека F = F1 & F2 & … & Fn; тъй като x Ï FVAR (F), то x Ï FVAR (F1),



x Ï FVAR (F2), …, x Ï FVAR (Fn) è s е приложима към F1, F2, …, Fn и

F1s = F1, F2s = F2, …, Fns = Fn è s е приложима към F1, F2, …, Fn и

Fs = (F1 & F2 & … & Fn)s = F1s & F2s & … & Fns =

= F1 & F2 & … & Fn = F;

съвсем аналогично разсъждаваме в случая F = F1 Ú F2 Ú … Ú Fn;

нека F = "y G; тъй като x Ï FVAR (F), то s е приложима към F и

Fs = F (дори за произволна субституция s);

съвсем аналогично разсъждаваме в случая F = $y G;


Твърдение: нека s = [x/T], F е формула; ако s е приложима към F, то FVAR (Fs) = ;

Доказателство: индукция по построението;

База: ако F е атомарна формула, то

FVAR (Fs) = VAR (Fs) = = от съответното твърдение за безкванторни формули;

ако F = true или F = fail, то FVAR (Fs) = FVAR (F) = Æ и твърдението очевидно е изпълнено;

Предположение: нека твърдението е изпълнено за формулите

G, F1, F2, …, Fn, n > 1;

Стъпка:


ако F = ØG, то FVAR (Fs) = FVAR ((ØG)s) = FVAR (Ø(Gs)) =

= FVAR (Gs) = = , тъй като

FVAR (F) = FVAR (ØG) = FVAR (G);

ако F = F1 & F2 & … & Fn, то FVAR (Fs) =

= FVAR (F1s & F2s & … & Fns) = FVAR (F1s) È FVAR (F2s) È … È

È FVAR (Fns) = È È … È

È = = =;

съвсем аналогично се разсъждава, ако F = F1 Ú F2 Ú … Ú Fn;

нека F = "y G; ако x Ï FVAR (F), то Fs = F è FVAR (Fs) = FVAR (F); от друга страна = , тъй като s (z) = z

за всяко z ¹ x è = FVAR (F) = FVAR (Fs);

нека x Î FVAR (F); тъй като s е приложима към F, то y Ï VAR (T) и s е приложима към G; също, тъй като y Ï FVAR (F), то x ¹ y;

имаме FVAR (Fs) = FVAR (("y G)s) = FVAR ("y (Gs)) =

= FVAR (Gs) \ { y } = \ { y } ;

от друга страна = =

= \ VAR (s (y)) = \ { y }, тъй като

y ¹ x è s (y) = y; така FVAR (Fs) = ;

съвсем аналогично разсъждаваме в случая F = $y G;


Твърдение: нека S е структура с носител D, v е оценка на променливите в S; нека x е променлива, T е терм, s = [x/T],

u = sS (v) = v [x : T S, v]; ако F е формула и s е приложима към F, то (Fs)S, v = F S, u;

Доказателство: индукция по построението на F за произволна субституция от вида s = [x/T];

База: ако F е атомарна формула, то (Fs)S, v = F S, u от съответното твърдение за безкванторни формули; ако F = true или F = fail,

то Fs = F и F S, v = F S, u, тъй като верността на F не зависи от оценките;

Предположение: нека твърдението е изпълнено за формулите

G, F1, F2, …, Fn, n > 1;

Стъпка: ако F = ØG, то (Fs)S, v = ((ØG)s)S, v = (Ø(Gs))S, v = 1 - (Gs)S, v =

= 1 - G S, u = (ØG)S, u = F S, u;

ако F = F1 & F2 & … & Fn, то (Fs)S, v = ((F1 & F2 & … & Fn)s)S, v =

= (F1s & F2s & … & Fns)S, v = min { (F1s)S, v, (F2s)S, v, …,(Fns)S, v} =

= min { F1S, u, F2S, u, …,FnS, u} = (F1 & F2 & … & Fn)S, u = F S, u;

съвсем аналогично се разсъждава, ако F = F1 Ú F2 Ú … Ú Fn;

нека F = "y G; ако x Ï FVAR (F), то Fs = F è (Fs)S, v = F S, v; от друга страна v и u съвпадат върху FVAR (F), тъй като x Ï FVAR (F) è

F S, v = F S, u; така (Fs)S, v = F S, u; нека x Î FVAR (F); тъй като s е приложима към F, то y Ï VAR (T) и s е приложима към G;

имаме (Fs)S, v = (("y G)s) S, v = ("y (Gs)) S, v = min { (Gs)S, v[y : d]|d Î D } = min { |d Î D } = min { |d Î D }, тъй като

y Ï VAR (T) è v[y : d] и v съвпадат върху VAR (T) è T S, v[:d] = T S, v;

от друга страна F S, u = ("y G) S, u = min { GS, u[y : d]|d Î D } =

= min { |d Î D }; имаме x Î FVAR (F) è x ¹ y è

v[y : d][x : T S, v] = v[x : T S, v][y : d]; така (Fs)S, v = F S, u;
като следствие получаваме, че ако F е формула, която е тъждествено вярна в структура S и s е субституция, приложима към F, то Fs също е тъждествено вярна в S;
нека F и G са формули; казваме, че от F следва G,

ако от F S, v = 1 (S – структура, v – оценка на променливите в S) следва G S, v = 1; бележим F G;

ясно е, че F G ó F à G е тъждествено вярна ó F S, v £ GS, v за всяка структура S и оценка v на променливите в S; в частност е рефлексивна и транзитивна релация в множеството от всички формули; при това F G и G F ó F º G;
Твърдение: нека s = [x/T], s е приложима към F;

тогава "x F Fs $x F;

Доказателство: нека S е структура с носител D, v е оценка на променливите в S; имаме ("x F)S, v = min { F S, v[x : d]|d Î D },

(Fs)S, v = , ($x F)S, v = max { F S, v[x : d]|d Î D }; така

("x F)S, v £ (Fs)S, v £ ($x F)S, v è "x F Fs $x F;




Сподели с приятели:
1   ...   14   15   16   17   18   19   20   21   22




©obuch.info 2024
отнасят до администрацията

    Начална страница