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


Минимален ербранов модел на множество от положителни хорнови клаузи



страница12/22
Дата01.06.2017
Размер2.18 Mb.
#22581
ТипЛекции
1   ...   8   9   10   11   12   13   14   15   ...   22

Минимален ербранов модел на множество от положителни хорнови клаузи

нека P е множество от положителни хорнови клаузи;


затворените частни случаи на атомарните формули в P наричаме аксиоми, съответни на P;
нека C = A :– B1, B2, …, Bn, n > 0, C  P;

нека C = A :– B1, B2 …, Bn е затворен частен случай на C

( е някаква субституция); казваме, че затворената формула

A е непосредствено изводима чрез C от B1, B2 …, Bn;


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

База: всички аксиоми, съответни на P са изводими от P;

Предположение: нека C = A :– B1, B2, …, Bn, n > 0, C  P;

нека C е затворен частен случай на C и

B1, B2, …, Bn са изводими от P;

Стъпка: тогава A е изводима от P;

Заключение: няма други изводими формули от P;
съвсем лесно се проверява, че всички изводими формули от P са затворени;
примери:

нека P = { parent (mincho, ivan), male (mincho), male (ivan),

distinct (X, Y) :– parent (X, Y) };

ясно е, че ако T и U са затворени термове, то distinct (T, U) е непосредствено изводима от parent (T, U);

например distinct (mincho, ivan) е изводима от P, тъй като е непосредствено изводима от parent (mincho, ivan), която пък е аксиома, съответна на P;

нека имаме следната сигнатура – константа zero, едноместен функционален символ s и едноместен предикатен символ even;

нека P = { even (zero), even (s (s (X)) :– even (X) };

тогава изводимите от P формули са:

even (zero), even (s (s (zero))), even (s (s (s (s (zero))))), …;
нека SP е ербрановата структура, в която са вярни всички изводими от P формули и само те;
Теорема: SP е модел на P;

Доказателство: нека F  P; ако F е атомарна формула, то всички затворени частни случаи на F са аксиоми, съответни на P  всички затворени частни случаи на F са изводими от P  всички затворени частни случаи на F са вярни в SP, но SP е с термално породен носител  F е тъждествено вярна в SP;

нека F има вида A :– B1, B2, …, Bn, n > 0; нека F е произволен частен случай на F ( e някаква субституция); имаме

F = A :– B1, B2, …, Bn; ще покажем, че F е верен в SP;

достатъчно е да покажем, че ако B1, B2, …, Bn са вярни в SP,

то A е вярна в SP; действително, ако B1, B2, …, Bn са

вярни в SP, то B1, B2, …, Bn са изводими от P  A също е изводима от P  A е вярна в SP; така всеки затворен частен случай на F е верен в SP и SP е с термално породен носител 

F е тъждествено вярна в SP;



Твърдение: ако A е затворена атомарна формула, която е вярна в SP, то A е вярна във всеки модел на P;

Доказателство: нека A е затворена атомарна формула, която е вярна в SP; тогава A е изводима от P;

нека S е произволен модел на P; с индукция по дефиницията за изводимост ще покажем, че A е вярна в S;

База: ако A е аксиома, съответна на P, т.е. A = B, където B е атомарна формула от P, то A е вярна в S, тъй като B е тъждествено вярна в S  всеки затворен частен случай на B е верен в S;

Предположение: нека C  P, C = B :– B1, B2, …, Bn, n > 1, A = B,

B1, B2, …, Bn са изводими от P и за тях е изпълнено твърдението, т.е. те са вярни в S;

Стъпка: C е тъждествено вярна в S  всеки затворен частен случай на C е верен в S  B :– B1, B2, …, Bn =

= A :– B1, B2, …, Bn е вярна в S  импликацията

B1 & B2 & … & Bn  A е вярна в S, но B1, B2 …, Bn са

вярни в S  B1 & B2 & … & Bn е вярна в S  A е вярна в S;


Следствие: нека G е хорнова цел; ако G е изпълнима в SP,

то G е изпълнима при P;



Доказателство: G е изпълнима в SP, SP е с термално породен носител съществува затворен частен случай G на G, който е верен в SP; от теоремата този G е верен във всеки модел на P

G е изпълнима във всеки модел на P, т.е. G е изпълнима при P;


ербрановата структура SP наричаме минимален ербранов модел на P – името идва от това, че SP е модел на P и SP има най-малко множество от вярни атомарни формули от всички модели на P;

ясно е, че една затворена атомарна формула е вярна във всеки модел на P  тази формула е вярна в SP; така SP е ербрановата структура, в която са вярни всички затворени атомарни формули, които са вярни във всеки модел на P и само те;


Твърдение: нека P е множество от положителни хорнови клаузи;

ако една хорнова цел G е изпълнима при P, то някой затворен частен случай на G е верен във всеки модел на P;

Доказателство: G е изпълнима при P  G е изпълнима във всеки модел на P; в частност G е изпълнима в SP и тъй като SP е с термално породен носител, то съществува частен случай G на G, който е верен в SP; нека G = B1 & B2 & … & Bn, n  0;

тогава G = B1 & B2 & … & Bn; тъй като G е вярна в SP, то

B1, B2, …, Bn са вярни в SP; от горното твърдение

B1, B2, …, Bn са вярни във всеки модел на P 

G = B1 & B2 & … & Bn е вярна във всеки модел на P, т.е.

G е частен случай на G, който е верен във всеки модел на P;


Теорема: нека M е множество от хорнови клаузи и P е множеството на положителните клаузи в M;

тогава M има модел  тялото на никоя клауза от M\P не е изпълнимо при P;

Доказателство: нека M има модел S; нека C е произволна отрицателна хорнова клауза, C  M\P,

C = :– B1, B2, …, Bn, n  0, C  (B1 & B2 & … & Bn);

тъй като C е тъждествено вярна в S  (B1 & B2 & … & Bn) е тъждествено вярна в S  B1 & B2 & … & Bn не е изпълнима в S;

така S е модел на P, в който тялото на C не е изпълнимо 

тялото на C не е изпълнимо при P;

нека тялото на никоя отрицателна хорнова клауза от M\P не е изпълнимо при P; ще покажем, че M има модел;

разглеждаме структурата SP; нека C  M;

ако C  P, то C е тъждествено вярна в SP, тъй като SP е модел на P;

нека C  M\P, C = :– B1, B2, …, Bn, n  0, C  (B1 & B2 & … & Bn);

ще покажем, че B1 & B2 & … & Bn не е изпълнима в SP;

да допуснем, че B1 & B2 & … & Bn е изпълнима в SP; тъй като SP има термално породен носител, то съществува частен случай

B1 & B2 & … & Bn, който е верен в SP  B1 & B2 & … & Bn е верен във всеки модел на P  B1 & B2 & … & Bn е изпълнима във всеки модел на P, т.е. B1 & B2 & … & Bn е изпълнима при P, което е противоречие; така B1 & B2 & … & Bn не е изпълнима в SP

(B1 & B2 & … & Bn) е тъждествено вярна в SP  C е тъждествено вярна в SP; така SP е модел на M;
примери: нека сигнатурата, която използваме се състои от една константа a, един едноместен функционален символ f и един едноместен предикатен символ p;

нека P = { p (a), p (f (f (X))) :– p (X) };

да разгледаме хорновата цел G = p (f (a));

една структура, в която G не е изпълнима е структурата с носител множеството от естествените числа, константата a е интерпретирана с 0, предикатният символ p е интерпретиран с предиката за четност, функционалният символ f – с добавяне на 1;

при тази структура G = p (f (a)) означава, че 1 е четно число, което очевидно не е вярно; ще подходим към въпроса за

изпълнимост на G при P по друг начин; ще покажем, че G не е изпълнима в SP  G не е изпълнима при P; трябва да покажем,

че никой частен случай на G не е верен в SP, т.е. изводим от P;

G има единствен частен случай – себе си, тъй като G е затворена формула; ясно е, че затворените термове в дадената сигнатура са

fn (a) за n = 0, 1, … (с fn (a) означаваме ;

има единствена аксиома, съответна на P – p (a);

затворените частни случаи на другата клауза са p (f (f (T))) :– p (T), където T е затворен терм; така изводимите формули в P са

p (a), p (f (f (a))), …, т.е. p (fn (a)), където n е четно число;

при това положение G не е вярна в SP, тъй като G = p (f1 (a));

така G не е изпълнима при P;

да разгледаме друга хорнова цел G = p (X) & p (f (X));

затворените частни случаи на G имат вида

G [X/fn (a)] = p (fn (a)) & p (fn+1 (a)); при това положение, никой затворен частен случай на G не е верен в SP, тъй като n и n+1 са с различна четност  G не е изпълнима в SP

G не е изпълнима при P;






Сподели с приятели:
1   ...   8   9   10   11   12   13   14   15   ...   22




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

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