Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lectures / Лекція 16. Логіка першого порядку.doc
Скачиваний:
110
Добавлен:
12.05.2015
Размер:
109.06 Кб
Скачать

16.4. Властивості формул логіки першого порядку

Очевидно, для формул логіки першого порядку зберігаються всі рівності та правила рівносильних перетворень логіки висловлювань. Крім того, справедлива наступна теорема.

Теорема 16.1.В логіці першого порядку виконуються наступні тотожності:

  1. (xA(x)) = x(A(x));

  2. (xA(x)) = x(A(x));

  3. x(A(x)  B) = xA(x)  B;

  4. x(A(x)  B) = xA(x)  B;

  5. x(A(x)  B) = xA(x)  B;

  6. x(A(x)  B) = xA(x)  B;

  7. yxA(x,y) = xyA(x,y);

  8. yxA(x,y) = xyA(x,y).

У пунктах 3-6 формула В не містить вільних входжень змінної х.

Доведення. Наведемо доведення деяких з описаних тотожностей. Решта залишаються читачеві на самостійну роботу.

Розглянемо тотожність (1). Нехай x1,…,xn – множина (можливо порожня) всіх вільних змінних формули А, відмінних від x. Нехай D – довільна область інтерпретації. Доведемо, що на будь-якому наборі значень своїх вільних змінних [a1,…,an],aiD, формули (xA(x)) та x(A(x)) набувають однакових значень істинності.

Можливими є два випадки:

  • для довільного елемента aD A(a, [a1,…,an]) = T;

  • для довільного елемента aD A(a, [a1,…,an]) = F.

У першому випадку для будь-якого елемента aD маємо A(a, [a1,…,an]) = F. Звідси за означенням x(А(x, [a1,…,an])) = F. З іншого боку, в цьому випадку xA(x, [a1,…,an]) = T. Звідси (xA(x, [a1,…,an])) = F.

У другому випадку для елемента aD маємо A(a, [a1,…,an]) = T. Звідси x(А(x, [a1,…,an])) = T. З іншого боку, в цьому випадку xA(x, [a1,…,an]) = F. Звідси (xA(x, [a1,…,an])) = T. Отже тотожність (1) доведено.

Розглянемо доведення тотожності (3). Нехай x1,…,xn – усі вільні змінні формули x(A(x)  B). Тоді вони ж будуть усіма вільними змінними формули xA(x)B.

Розглянемо довільну область інтерпретації D. Нехай [a1,…,an], aiD, - довільний набір значень вільних змінних x1,…,xn. Оскільки формула В не містить змінної x, можна визначити значення цієї формули в наборі [a,a1,…,an] (точніше, в його частині, яка стосується вільних змінних формули В). Якщо В = F, то xA(x)  B = F і для будь-якого елемента а з множини D у наборі значень [a1,…,an] своїх вільних змінних x, x1,…,xn формула A(x)  B набуває значення F. Звідси x(A(x)  B) = F.

Якщо B=T, то для будь-якого елемента a з множини D у наборі [a,a1,…,an] формули A(x)B та A(x) набувають однакових значень істинності. Звідси x(A(x)  B) = xA(x) = = xA(x)  B. ►

Зазначимо, що коли не вимагати, щоб формула B не містила змінної x, то будуть справджуватися тільки дві тотожності з тотожностей 3-6:

x(A(x)  B(x)) = xA(x)  xB(x),

x(A(x)  B(x)) = xA(x)  xB(x).

Теорема 16.2. Якщо замінити зв’язану змінну довільної формули А іншою змінною, що не входить у цю формулу, у кванторі й усюди в області його дії, дістанемо формулу, рівносильну А.

Доведення. Пропонується довести самостійно. ►

16.5. Перевірка загальнозначущості формул логіки першого порядку

Перевірка, чи є формула загальнозначущою, може бути зроблена зведенням до протиріччя, тобто методом редукції. Припустимо, що існує така інтерпретація формули E, на якій вона приймає хибне значення, тобто E*=F, та спробуємо знайти таку інтерпретацію. Якщо в результаті знайдемо протиріччя, то це означатимемо, що таких інтерпретацій не існує, і, відповідно, формула є загальнозначущою.

Наприклад, розглянемо формулу x(A(x)B) ~ xA(x)B, де В не залежить від х. Припустимо, що існує така інтерпретація, на якій хибна імплікація x(A*(x)B*)xA*(x)B*=F. Це можливо, якщо x(A*(x)B*) = T та xA*(x)B*=F. З останнього рівняння слідує, що B*=F та xA*(x)=F. Якщо xA*(x)=F, то існує хоча б одне значення x=a, таке, що A*(a)=F. Формула x(A*(x)B*) = T. Але в області інтерпретації даної формули існує значення x=a, для якого A*(a)=F та B*=F. Можливо, що існує інше значення x=b, для якого A*(b)=T. Тоді x(A*(x)B*) = =F, що суперечить припущенню x(A*(x)B*) = T.

Перевіримо виконання другої імплікації. Припустимо, що xA*(x)B*x(A*(x)B*)=F. Тоді xA*(x)B* = T та x(A*(x)B*) = F. З останнього слідує, що існує таке x=a, що A*(a)B*=F. Звідси слідує, що A*(a)=F та B*=F. Відповідно, в області визначення предиката A(x) існує значення x=a, при якому предикат A*(a) =F, значить, xA*(x) = F. Тоді формула xA*(x)F = F, що суперечить припущенню. Відповідно, формула x(A(x)B) ~ xA(x)B загальнозначуща.