Материал: discrete_mathematics

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Будуємо дерево виведення для останньої отриманої секвенції:

(1→)

 

 

1 A → (B →C)* , 1B, 1 A, 0C

 

 

 

 

 

 

 

 

.

 

A×, 1B, 1 A×, 0C

(1 →)

 

1 B →C* , 1B, 1 A,

0C

 

 

 

0

 

 

 

 

 

 

 

 

×

B ,

B ,

1

A,

0

C

C

,

1

B,

1

A,

C

 

 

 

 

 

0 ×

1 ×

 

 

 

1 ×

 

 

 

0 ×

 

 

 

 

 

 

 

×

 

 

 

 

 

 

 

 

×

 

 

 

 

 

Усі гілки дерева виведення замкнені, тому початкова формула є тавтологією. Це можна також перевірити за допомогою побудови семантичної таблиці:

A B C

B → C

A → C

A → (B → C)

B → (A → C)

A → (B → C) ~

~ B → (A → C)

 

 

 

 

 

 

 

 

 

 

 

0 0 0

1

1

1

1

1

0 0 1

1

1

1

1

1

0 1 0

0

1

1

1

1

0 1 1

1

1

1

1

1

1 0 0

1

0

1

1

1

1 0 1

1

1

1

1

1

1 1 0

0

0

0

0

1

1 1 1

1

1

1

1

1

3. Кон'юнкція антецедентів (засновків):

A → B →C ~ A B → C.

Дужки можна розставити таким чином:

(A → (B → C)) ~ ((A B) → C),

тому головною операцією є еквівалентність. Формуємо розміче-

ну секвенцію та застосовуємо правило 0 ~ . Отримуємо

 

(0 ~)

 

0 A → B → C ~ A B → C

 

.

 

A → B → C, 1B → C 1 A → B → C, 0

A B → C

0

 

Побудуємо дерево виведення окремо для двох зазначених секвенцій. Почнемо з першої секвенції:

(0 →)

 

0 A → B → C* ,

1B → C

 

.

(0 →)

 

 

1 A, 0 B → C*

, 1B → C

 

 

 

 

 

 

 

 

1 A, 1B, 0C, 1B → C*

 

 

 

 

(1 →)

 

 

 

 

 

 

A, 1B, 0C, 0 B

1 A, 1B, 0C, 1C

 

 

 

1

 

 

××

Усі гілки дерева виведення замкнені, тобто секвенція виведена (це позначають A0 A → B → C* , 1B → C). Тепер будуємо дерево виведення для другої секвенції:

51

(0 →)

 

 

 

 

 

 

 

1 A → B →C, 0 A B →C*

 

 

 

 

 

 

.

(1 )

 

 

 

 

 

1 A → B →C, 1 A B*, 0C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1→)

 

 

 

 

1 A → B →C*, 1 A, 1B, 0C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A, 1

A, 1B, 0C

 

 

 

 

 

 

1 B →C*,

1 A, 1B, 0C

 

 

 

 

 

 

0

(1

→)

 

 

 

 

 

 

 

 

 

 

×

 

 

 

 

A, 1B, 0C 1C, 1 A, 1B, 0C

 

 

 

 

 

 

 

 

 

 

 

 

 

0 B, 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

×

 

 

 

 

 

×

 

 

 

 

 

Усі гілки замкнені, тому A → B → C ~ A B → C є тавтологією.

Це можна також перевірити побудовою семантичної таблиці:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A B C

B → C

A B

A → (B → C)

(A B) → C

 

 

A → (B → C) ~

 

 

 

 

~ (A B) → C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 0 0

 

1

 

 

0

 

1

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

 

0 0 1

 

1

 

 

0

 

1

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

 

0 1 0

 

0

 

 

0

 

1

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

 

0 1 1

 

1

 

 

0

 

1

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

 

1 0 0

 

1

 

 

0

 

1

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

 

1 0 1

 

1

 

 

0

 

1

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

 

1 1 0

 

0

 

 

1

 

0

 

 

 

 

 

0

 

 

 

 

1

 

 

 

 

 

 

1 1 1

 

1

 

 

1

 

1

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

: перевірити

 

 

еквівалентність

 

 

 

A → B → C ~ (A → B) → C .

 

 

 

 

 

 

 

4. Неасоціативність імплікації

 

 

 

 

 

 

 

 

 

 

 

 

 

Зауваження. Імплікація є правоасоціативною операцією, тому A → B → C = A → (B → C); головною операцією є еквівалент-

ність, тобто дужки можна розставити таким чином: (A → (B →C)) ~ ((A → B) → C).

Для доведення істинності початкової формули треба довести (вивести) розмічену імплікацію:

0 A → (B → C) ~ (A → B) → C.

Головною операцією є еквівалентність. Тому застосовуємо

правило 0~. Отримуємо виведення

 

 

0 ~

 

0 A → (B → C) ~ (A → B) → C

 

.

 

A → (B → C), 1(A → B) → C 1 A → (B → C), 0

(A → B) → C

0

 

Оскільки повне виведення не вміщається по ширині сторінки, то розглянемо окремо виведення для двох секвенцій:

0 A → (B → C), 1(A → B) → C та 1 A → (B → C), 0(A → B) → C.

52

Проаналізуємо секвенцію 0 A → (B → C), 1(A → B) → C. Тут слід звернути увагу на формулу 0 A → (B → C). Правило 0 →

для її перетворення є достатньо простим, тому в секвенції будемо застосовувати його для зазначеної формули. Щоб позначити таке застосування, індексуємо згадану формулу знаком *.

Дістали виведення

( →) 0 A → (B → C)*, 1(A → B) → C .

0 1 A, 0(B → C), 1(A → B) → C

Аналізуючи отриману секвенцію, бачимо, що найпростіше перетворення буде для формули 0 (B → C). Індексуємо цю фор-

мулу в секвенції знаком * і застосовуємо правило 0 → . Виведен-

ня набуває вигляду

 

(0 →)

0 A → (B → C)*, 1(A → B) → C

.

 

 

(0 →)

1 A, 0(B → C)*, 1(A → B) → C

 

1 A, 1B, 0C, 1(A → B) → C

 

 

 

 

Тепер єдиною формулою, до якої можна застосувати секвен-

ційне правило, є формула

1 (A → B) → C. Одержуємо

 

 

(0 →)

 

 

0 A →(B →C)*, 1(A → B) →C

 

.

 

 

 

1 A,

0(B →C)*, 1(A → B) →C

 

(0

→)

 

 

 

(1→)

1 A, 1B, 0C, 1( A → B) →C *

 

 

 

 

 

 

 

 

 

 

1 A, 1B, 0C, 0 A → B 1 A, 1B, 0C, 1С

 

 

 

 

 

 

 

 

Отримано дві нові секвенції. Друга секвенція є замкненою,

оскільки містить 0 С та 1 С, тобто секвенція вимагає, щоб С було одночасно істинним і хибним. Ці формули індексуємо знаком × . Дістали суперечність, тому на цій гілці доведення початкова секвенція не має спростування. Таку замкнену секвенцію позначаємо знаком ×.

Перетворюємо першу секвенцію, застосовуючи правило 0→:

(0 →)

 

 

0 A →(B →C)*, 1(A → B) →C

 

.

(0 →)

 

1 A,

0(B →C)*, 1(A → B) →C

 

 

 

 

 

 

(1→)

 

 

1 A, 1B, 0C, 1(A → B) →C*

 

 

 

 

 

 

 

 

 

 

 

 

 

1 A, 1B, 0C×, 1С×

 

 

 

 

 

(0 →)

1 A, 1B, 0C, 0 A → B*

 

 

 

 

 

1 A, 1B×, 0C, 1 A, 0 B×

×

 

 

 

 

 

 

 

 

×

53

Отримані секвенції є замкненими. Отже, усі випадки розглянуто, секвенцію 0 A → (B → C), 1(A → B) → C доведено.

Тепер почнемо будувати виведення секвенції

1 A → (B → C), 0(A → B) → C.

Її аналіз свідчить про те, що доцільно перетворювати формулу 0 (A → B) →C. Маємо

 

 

 

(0 →)

1 A → (B → C), 0(A → B) → C *

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 A → (B → C), 1 A → B, 0C

 

 

 

Розкриваючи першу формулу отриманої секвенції, маємо:

 

(0 →)

 

 

 

 

1 A → (B → C),

0(A → B) → C *

 

.

 

 

 

 

1

A → (B → C)*, 1 A → B, 0C

 

 

 

 

 

(1→)

 

 

 

 

 

 

 

 

 

A, 1 A → B, 0C 1 B → C, 1 A → B, 0C

0

 

Дістали дві секвенції: 0 A, 1 A → B, 0C та 1 B →C, 1 A → B, 0C.

До першої застосовуємо правило 0→. Отримуємо

 

 

 

(0 →)

 

 

 

 

 

1 A → (B → C),

0(A → B) → C *

 

 

.

 

1

A → (B → C) *, 1 A → B, 0C

 

 

(1→)

 

 

 

 

 

 

 

 

 

 

0 A,

1 A → B *,

0C

1 B → C,

1 A → B, 0C

 

 

(1→)

 

 

 

 

 

0 A, 0 A, 0C 0 A,

1B, 0C

 

 

 

 

 

 

 

 

 

!!

Цей

випадок дає дві незамкнені секвенції: 0 A, 0 A, 0C та

0 A, 1B,

0C, які позначаємо знаком ! Незамкнена секвенція на-

дає контрприклад, тобто вказує значення пропозиційних змінних, які спростовують формулу.

Дійсно, обчислимо значення A → (B → C) ↔ (A → B) → C за значень A, B, C відповідно 0, 0, 0. Маємо:

0 → (0 → 0) ~ (0 → 0) → 0 = 0 → 1 ~ 1→ 0 = 1 → 0 = 0.

Такий само результат отримуємо за значень А, В, С, відповід-

но 0, 1, 0. Тепер будуємо дерево виведення для секвенції

1 B →C, 1 A → B, 0C.

Отримуємо за значень А, В, С, відповідно 0, 1, 0. Маємо

0 → (1 → 0) ~ (0 → 1) → 0 = 0 → 0 ~ 1 → 0 = 1 → 0 = 0.

Повернемось до побудови дерева виведення для секвенції

1 B →C, 1 A → B, 0C.

Отримуємо

54

(1→)

 

 

 

 

 

 

 

 

 

 

1 B →C*, 1A →B, 0C

 

 

 

 

 

 

 

 

 

.

 

(1→)

 

 

0 B, 1A

→B*, 0C

(1→)

 

0 C*, 1 A → B,

0C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 B, 0 A, 0C 0 B×, 1B×, 0C

 

0 C, 0 A, 0C 0 C, 1B, 0C

 

 

 

 

 

 

 

 

 

 

 

!

 

 

 

 

×

 

 

 

 

 

 

 

!

 

 

 

 

!

 

 

 

 

Незамкненими є секвенції

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 B, 0 A, 0C; 0 C, 0 A, 0C; 0 C, 1B, 0C.

 

 

 

 

 

Вони всі надають контрприклади для початкової секвенції.

 

 

 

 

 

Побудуємо для неї таблицю істинності:

 

 

 

 

 

 

 

 

 

 

 

 

 

A B C

B → C

A → B

A → (B → C)

(A → B) → C

 

A → (B → C) ~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~ (A → B) → C

 

 

 

 

 

0 0 0

 

1

 

1

 

 

1

 

 

 

 

 

0

 

 

 

 

 

0

 

 

 

 

 

 

0 0 1

 

1

 

1

 

 

1

 

 

 

 

 

1

 

 

 

 

 

1

 

 

 

 

 

 

0 1 0

 

0

 

1

 

 

1

 

 

 

 

 

0

 

 

 

 

 

0

 

 

 

 

 

 

0 1 1

 

1

 

1

 

 

1

 

 

 

 

 

1

 

 

 

 

 

1

 

 

 

 

 

 

1 0 0

 

1

 

0

 

 

1

 

 

 

 

 

1

 

 

 

 

 

1

 

 

 

 

 

 

1 0 1

 

1

 

0

 

 

1

 

 

 

 

 

1

 

 

 

 

 

1

 

 

 

 

 

 

1 1 0

 

0

 

1

 

 

0

 

 

 

 

 

0

 

 

 

 

 

0

 

 

 

 

 

 

1 1 1

 

1

 

1

 

 

1

 

 

 

 

 

1

 

 

 

 

 

0

◄

 

 

 

 

 

5. Довестинаслідковість a b, ¬ a c Bb c.

 

 

 

 

 

 

Формуємо розмічену секвенцію:

1 a b, 1¬a c, 0b c. Будує-

мо її секвенційне виведення:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(0 )

 

 

 

 

 

 

 

 

 

 

 

1a b, 1¬a c, 0b c *

 

 

 

 

 

 

 

.

(1 )

 

 

 

 

 

 

 

 

1 a b*, 1¬a c, 0b, 0c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1 )

 

 

1 a , 1¬a c*, 0b,

0c

 

 

 

 

1b×,1 ¬a c,0 b×,0 c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( )

1 a, 1¬a*, 0b, 0c

 

1 a, 1c×, 0b, 0c×

 

 

 

×

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1 a×,

0 a×, 0b, 0c

×

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

×

Дерево доведення замкнене, тому наслідковість доведено. Зауваження щодо застосування правил до секвенцій. Дотепер

ми детально не описували процедуру застосування секвенційних правил до секвенцій. Вона складається із трьох пунктів:

1)вибір секвенційного правила, яке можна застосувати до заданої (об'єктної) секвенції;

2)побудова уніфікатора, тобто такого зв'язку змінних у засновках секвенційного правила з певними пропозиційними формулами (чи секвенціями), що при заміні цих змінних у засновках правила на формули з уніфікатора отримаємо об'єктну секвенцію;

55

Источник: https://studfile.net/preview/14570832/