Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MUk-ML10.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
176.64 Кб
Скачать

Пренексна нормальна форма формул логіки першого порядку

Формула F логіки першого порядку подана (або знаходиться) у пренексній нормальній формі, якщо F має вигляд (Q1х1)…(Qnхn)M, де (Qixi) є (xi) або (xi) (i=1,…,n), а M є формулою, у якій немає кванторів. (Q1x1)…(Qnxn) називається префіксом, M – матрицею формули F.

Наприклад, формула (х)(y)(z)(Q(х,y)R(z)) знаходиться у пренексній нормальній формі, а формула (х)(P(х)(y)(R(y)Q(х,y))) – ні.

Уведемо позначення F[х], щоб відзначити, що формула F має вільну змінну x. Нехай G означає формулу, яка не має змінної х, Q означає  або . Наступні пари формул еквівалентні:

(Qх)F[х]G=(Qх)(F[х]G); (Qх)F[х]G=(Qх)(F[х]G); (1)

((x)F[x])=(x)(F[x]); ((x)F[х])=(x)(F[х]). (2)

Нехай F[х] та H[х] – формули, які мають змінну х. Виконуються такі співвідношення:

(x)F[x](x)H[x]=(x)(F[х]H[х]); (х)F[х](х)H[х]=(х)(F[х]H[х]).

Зауважимо, що

(x)F[x](x)H[x]  (x)(F[х]H[х]) й

(х)F[х](х)H[х]  (х)(F[х]H[х]).

Нехай z – змінна, що не входить у F[x] та H[х]. Тоді

(x)F[x](x)H[x] = (x)F[x](z)H[z] й

(х)F[х](х)H[х] = (х)F[х](z)H[z],

отже, використавши співвідношення (1), маємо

(x)F[x](x)H[x] = (x)(z)(F[х]H[z]),

(х)F[х](х)H[х] = (х)(z)(F[х]H[z]).

У загальному випадку маємо

(Q1x)F[x](Q2x)H[x] = (Q1x)(Q2z)(F[х]H[z]),

(Q1х)F[х](Q2х)H[х] = (Q1х)(Q2z)(F[х]H[z]).

Тут Q1, Q2 – це  або , а z не входить в F[х].

Задану формулу першого порядку можна завжди перетворити у пренексну нормальну форму за допомогою процедури, яка наведена нижче.

Перетворення формули у пренексну нормальну форму

  1. Використовуючи закони

F1  F2 = (F1F2)  (F2F1),

F1 F2 = F1  F2,

вилучити логічні зв’язки  та .

  1. За допомогою законів

(F) = F,

(F1  F2) = F1  F2, (F1  F2) = F1  F2,

((x)F[x])=(x)(F[x]); ((x)F[х])=(x)(F[х])

розмістити знаки заперечення безпосередньо перед атомами.

3. Здійснити перейменування зв’язаних змінних, якщо це необхідно.

4. Використовуючи закони

(Qх)F[х]G=(Qх)(F[х]G), (Qх)F[х]G=(Qх)(F[х]G),

(x)F[x](x)H[x]=(x)(F[х]H[х]),

(х)F[х](х)H[х]=(х)(F[х]H[х]),

(Q1x)F[x](Q2x)H[x] = (Q1x)(Q2z)(F[х]H[z]),

(Q1х)F[х](Q2х)H[х] = (Q1х)(Q2z)(F[х]H[z]),

винести квантори на початок формули.

Побудову пренексної нормальної форми завершено.

Приведемо, наприклад, формулу ((x)F1(x)(x)F2(x)) до пренексної нормальної форми: ((x)F1(x)(x)F2(x)) = ((x)F1(x)(x)F2(x)) = (x)F1(x)(x)F2(x) = (x)F1(x)(x)F2(x) = =(x)F1(x)(z)F2(z) = (x)(z)(F1(x)F2(z)).

Сколемівська стандартна форма формули першого порядку

Нехай формула F знаходиться у пренексній нормальній формі (Q1x1)…(Qnxn)M, де М є кон’юнктивна нормальна форма. Нехай Qi є квантор існування у префіксі (Q1x1)…(Qnxn), 1in. Якщо ліворуч від Qi у префіксі немає жодного квантора загальності, виберемо нову константу с, що не входить у М, замінимо усі входження змінної xi у М на с та викреслимо (Qixi) з префікса. Якщо Qs1,…,Qsm – список усіх кванторів загальності, що знаходяться у префіксі ліворуч від Qi, 1s1s2…smi, виберемо новий m-арний функціональний символ f, що відрізняється від функціональних символів формули М, та замінимо усі xi у М на терм f(xs1,xs2,…,xsm), а (Qixi) викреслимо з префікса. Такі дії виконаємо з усіма кванторами існування у префіксі. Формула, яка буде побудована в результаті, є сколемівська стандартна форма (або коротко стандартна форма) формули F. Константи та функції, що використані для заміни змінних, зв’язаних квантором існування, називаються сколемівськими функціями.

Побудуємо, наприклад, стандартну форму формули

(x1)(x2)(x3)(x4)(x5)(x6)(x7)М(x1,x2,x3,x4,x5,x6,x7).

Оскільки у даній формулі ліворуч від (x1) та (x2) немає кванторів загальності, замінимо змінні x1 та x2 новими константами а та b відповідно, а (x1) та (x2) вилучимо з префікса. Одержимо формулу

(x3)(x4)(x5)(x6)(x7)M(a,b,x3,x4,x5,x6,x7).

Ліворуч від (x5) міститься два квантори загальності, (x3) та (x4), а ліворуч від (x7) – три ((x3), (x4), (x6)), отже замінимо x5 термом f(x3,x4), а x7 – термом h(x3,x4,x6). У результаті маємо стандартну форму даної формули: (x3)(x4)(x6)M(a,b,x3,x4,f(x3,x4),x6,h(x3,x4,x6)).

Оскільки формула F, що знаходиться у стандартній формі, являє собою кнф, якій передує префікс (можливо, порожній), що містить лише квантори загальності, будемо вважати F множиною диз’юнктів, де кожна змінна керована квантором загальності. Надалі будемо користуватися властивістю стандартної форми, яку сформулюємо у вигляді такої теореми.

Теорема 5. Нехай S – множина диз’юнктів, які представляють стандартну форму формули F. Тоді F суперечна тоді й тільки тоді, коли S суперечна.

Зауважимо, що несуперечна формула F та її стандартна форма S не завжди еквівалентні. Нехай, наприклад, F=(x)P(x). Стандартна форма формули F є S=P(a). Розглянемо таку інтерпретацію I з областю D={1,2}: константі a поставимо у відповідність елемент 1 предметної області й покладемо P(1)=0, Р(2)=1. Тоді F істинна при I, але S хибна при I, отже, FS.

Зазначимо також, що формула може мати більше однієї стандартної форми. Звичайно при побудові стандартної форми вибирають якнайпростіші сколемівські функції. Якщо маємо формулу виду F=F1…Fn, то можемо окремо побудувати множини диз’юнктів Si, де Si є стандартною формою формули Fi, i=1,…,n. Нехай S = S1…Sn. Неважко показати, що F суперечна тоді й тільки тоді, коли S суперечна.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]