Нормальна форма Сколема

Матеріал з testwiki
Версія від 12:03, 20 березня 2022, створена imported>InternetArchiveBot (Виправлено джерел: 1; позначено як недійсні: 0.) #IABot (v2.0.8.6)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

У логіці першого порядку деяка логічна формула є записаною в нормальній формі Сколема , якщо вона має вигляд:

x1x2xnA(x1,x2,,xn)

де формула A(x1,x2,,xn) записана в кон'юнктивній нормальній формі, тобто є кон'юнкцією диз'юнкцій атомарних формул чи їх заперечень. Будь-яка формула логіки першого порядку може бути зведена до формули у нормальній формі Сколема за допомогою процесу, що отримав назву сколемізація. Одержана внаслідок сколемізації формула не є логічно еквівалентна вихідній формулі, проте вона є виконуваною в тому і тільки тому випадку коли такою є вихідна формула (тобто для деякої формули існує модель в тому і тільки тому випадку, коли вона існує для формули одержаної внаслідок процесу сколемізації) .

Сколемізація

Сколемізація полягає у заміні змінних, що квантифікуються квантором існування на терми виду f(x1,,xn), де f — новий функційний символ, що не зустрічається в інших місцях формули. Змінні x1,,xn , від яких залежить дана функція, це змінні, що квантифікуються кванторами загальності і квантори яких знаходяться перед квантором змінної, що замінюється на f(x1,,xn).

Наприклад, формула xyz.P(x,y,z) не знаходиться в нормальній формі Сколема, тому що містить квантор існування y. Процес сколемізації замінює y на f(x), де f є новим символом функції, і видаляє знак квантора існування. Результуюча формула має вигляд xz.P(x,f(x),z). Терм Сколема f(x) містить x але не z оскільки квантор, який є видаленим y знаходиться в області дії x і не знаходиться в області дії z.

Дану процедуру можна записати більш формально:

Крок 1. Привести формулу логіки першого порядку до виду:
Q1x1Q2x2QnxnA(x1,x2,,xn)
де Qi якийсь із кванторів, а формула A не містить кванторів і знаходиться в кон'юнктивній нормальній формі. Будь-яка формула логіки першого порядку еквівалентна формулі такого виду.
Крок 2. Якщо всі квантори Qi є кванторами загальності дана формула записана у формі Сколема.
Крок 3. Нехай формула має вид:
x1xi1xiQi+1xi+1Qnxi+1A(x1,x2,,xn)
Тоді внаслідок сколемізації одержується нова формула:
x1xi1Qi+1xi+1QnxnA(x1,xi1,f(x1,,xi1),xi+1,xn)
У випадку якщо квантор існування знаходиться на початку формули відбувається заміна на функцію арності 0, тобто константу.
Після цього повертаємося на крок 2.

Оскільки при кожному виконанні кроку 3 кількість кванторів існування зменшується на 1, даний алгоритм зрештою дає формулу у формі Сколема.

Приклади

F:=xywz(P(x,y,w)Q(z,x)) Дана функція не є в нормальній формі Сколема, проте знаходиться у формі одержуваній після першого кроку алгоритму.

  • Застосовуємо сколемізацію до x замінюючи x константою a :

F:=ywz(P(a,y,w)Q(z,a))

  • Застосовуємо сколемізацію до y замінюючи y константою b

F:=wz(P(a,b,w)Q(z,a))

  • Застосовуємо сколемізацію до z. Оскільки перед даним квантором знаходиться w то здійснюємо заміну на унарну функцію від змінної w:

F:=w(P(a,b,w)Q(f(w),a))

Остання формула знаходиться в нормальній формі Сколема.

Див. також

Посилання

Джерела

Shawn Hedman. A First Course in Logic. Oxford University Press 2004 ISBN 0198529805