
Математическая логика и ТА (Рудаков С.А
.).pdf0VB, -BV0 |= 0 0V0 |= 0
получаем в результате ноль, что и свидетельствует о справедливости исходной клаузы.
5. Доказательство закончено.
Пример 2. Докажем справедливость клаузы
(AVB, CVA) |= (B&C)VA.
Первый шаг алгоритма:
1.(AVB, CVA), -((B&C)VA) |= 0.
2.Преобразуем третий конъюнкт в левой части по формуле де Моргана
AVB, CVA, (-(B&C)&-A) |= 0, применим формулу де Моргана еще раз
AVB, CVA, ((-BV-C)&-A) |= 0. Используя силлогизм (7) получим
AVB, CVA, (-BV-C), -A |= 0.
3-4. Выпишем по порядку все посылки в таблицу, в которой
первый столбик содержит номера формул в левой части клаузы и возможные склейки,
второй столбик содержит формулы,
третий столбик содержит номера формул из таблицы, участвующих в
склейке.
Далее начнем их склеивать согласно очередности. Справа от каждого
нового конъюнкта будем писать номера используемых конъюнктов,
получим:
Таблица 10 Склейки конъюнктов клаузы
AVB, CVA, (-BV-C), -A |= 0 тупым перебором
1 |
AVB |
|
8 |
C |
2,4 |
2 |
CVA |
|
9 |
A |
2,5 |
3 |
-BV-C |
|
10 |
-C |
3,6 |
4 |
-A |
|
11 |
-B |
3,8 |
5 |
AV-C |
1,3 |
12 |
-C |
4,5 |
6 |
B |
1,4 |
13 |
-B |
4,7 |
7 |
AV-B |
2,3 |
14 |
0 |
4,9 |
|
|
|
21 |
|
|
Подобная стратегия поиска нуля очень непродуктивна. Если к этой же задаче подойти более творчески, то ноль обнаружится на третьем шаге от начала поиска:
Таблица 11 Творческие склейки конъюнктов клаузы
AVB, CVA, (-BV-C), -A |= 0
1 |
AVB |
|
2 |
CVA |
|
3 |
-BV-C |
|
4 |
-A |
|
5 |
AV-C |
1,3 |
6 |
A |
2,5 |
7 |
0 |
4,6 |
5. Доказательство закончено.
Упражнения
Доказать справедливость следующих клауз с помощью таблиц истинности и методом резолюций. Если таблица истинности показывает, что клауза неверна, то следует добавить в правую часть дизъюнкт, который превратит клаузу в верную. Разработать для каждой клаузы легенду.
1.(A => С, -В ~ С, В V D, В => А) |= (DV(А & С))
2.((А => В) => (С => D), (D => F) => Е) |= (A V Е)
3.(А => В, С => D, (В & D) => Е, Е, А)|= -С
4.(С=> (A V В), D => (В V С)) |= (A V ВV -D)
5.(С => А) |= ((А & В) V С) ~ (А & (В V С))
6.А => (В => -С), -А => В, -А => (-В => С) |= СV В
7.(А => С) => ( -А & В) |=А v В
8.A v D, В v Е, D => С, D v С |= А & С; Е & D; В
9.А => В, С => D, A v С, А => (-D), С => -В |= (A v В) => (А & В)
10.С => A, B v C, B => D, D => A |= A 11.D => E, E => C, A ~ D, B ~ C |= A => B
12.A v B, A => B, B => (C => (-D)), A => D |= -(A & C)
13.(А & В) => С |= А => (В=>С)
22
14.A => (В => С), (С & D) => E, -F => (D & -Е) |= A => (B => F)
15.(А & (В => С)) ~ D, Е ~ (А & -(В v С)) |= (D & -Е) ~ (А & С)
16.А => (В => -С), -А => В, -А => (-В => С) |= С; В
17.А, -В => (А => D), С => (В => Е), D => (Е v -С) |= С => Е
18.-С, D => С, А => (-В => D), В |= А => С
19.(A v C) ~ -(B v D) |= -A~B; -C~D
20.А => В, С => D, B => Е, D => F, -(Е & F), А => С |= А
21.С => (В => А), -В => D, С |= A v D
22.-C, A v B |= (B => C) =>A (*)
23.А => С, D => F, В => Е, -D => -С, А => В |= А => (Е & F)
24.А, В v С, С ~ D |= (В => -А) => (В => D)
25.А => (С => В), D => А, С |= D => В
26.Е => F, С => (D => Е), (А => В) => С |= D => (A v F)
27.–A ~ B, B => C, -C ~ D |= (C => B) => (D => A) 28.А ~ В, С ~ D |= (A v С) ~ (B v D)
29.А => (В => С), С => (В => -A), D => А, А => В |= -D 30.А => В, В => D, D => A, B v C, С => D |= D
31.А, В v С |= А & В; С
32.С, (А => В) => (С => А) |= А
33.А, В => С |= А & -В; В & С
34.А => (В & С), -В v D, (Е => -F) => -D, -В v (А & -Е) |= В => Е
35.A v B, A v C, A => C, C => (A => D) |= B v D. 36.А, В=>С |= (А => -С) => -В
37.А => В, А ~ D, С ~ Е |= (В => С) => (D => Е)
38.А => (С => В), D => А, С |= D => В
39.А => (В => С), А => (В v С) |= А => С
40.А ~ -В, A v C, -(С & Е), В => С, B v D, А => Е |= D ~ Е; -(С & D)
41.A, D => С, В v (А => D), В => С |= С
42.А ~ В, С ~ D |= (А => С) => (В => D)
43.A v С, С => D, -(А & D), -(В & С), А => В, А v В |= А & В
23
44.Е => D, С v Е, A v D, D => -В |= С & D; (Е & В) => (Е => А)
45.А, В => С |= А & -В; В & С
46.С => (D => Е), Е => F |= ((А => В) => С) => (D => (-А => F))
47.А => В, А ~ С, D ~ Е |= (В => D) => (С => Е)
48. (АТС) - (В v D), А ~ В |= С => -D
49.A => (B v C), A v B, B =>A, B => D |= C v D
50.Е => D, С v Е, A v D, D => В, Е |= А; В & Е; С & D
51.А => В, В v С, С => А, В => С |= А & В
52.E => D, E ~ C, C ~ A, D ~ В |= А => В 53.A v B, B ~ C, C, D, A ~ D |= A & B
54.А => В, A v С, С => В, D => А |= (В => D) => В
55.-D, Е |= ((А & -В) => С) ~ -D; Е ~ (А & (В => С)
56.A v (В => С), С => (В => А), А => D |= (A v В) => D
57.-(А => С) ~ (В => D) |= А ~ -В; -С ~ D
58.С => (A v В), D => (В v С) |= A v В; -D
59.А => D, A v С, D v Е, D => В |= (А & В) => (А => Е); С & D
60.A v С, А => В, С => В |= А & В; В & С
61.А => В, А => С, D ~ E, D => A, Е => А, В => Е, C => D|= B ~ С
62.C => (В => А), С v D, D => В, В v D |= (D => С) => А
63.А, В v С |= А & С; В & -С
64.А => В, С => D, (В & D) => Е, Е, А |= -С 65.А => (В => С), В v С v D |= (А => С) v D
66.A v В, А => С |= -А& В; С
67.(А => В) => (С => D), (D => F) => Е |= A v Е
68.A v C, С => -D, А => D, B v C |= D => (B & D)
69.A v В, C => В, В => А, A => С |= (В & С );A
70.A => С, -В ~ С, В v D, В => А |= D; А & С
71.A v В, D v E, D v C, D => С |= А & D; В; С & Е
72.А => С, A v В, В => D, D => С |= С
73.В v D, D => В, С v D, D => С, С => (В => А) |= А
24

74.А => В, A v D, С v Е, Е => А |= (В & Е) => (Е => D); А & С
75.(А & В) v (С & D), -А |= С
76.С => А |= ((А & В) v С) ~ (А & (В v С))
77.D => F, А => (Е => D), (С => В) => А => Е => (С v F)
Решение упражнения 1.
Таблица 12 Доказательство истинности клаузы с помощью таблицы истинности
№ A B C D |
A=>C |
-B~C |
В V D В => А А & С DV(А & С) |
||||
1 |
0 |
0 |
0 |
0 |
1 |
0 |
|
2 |
0 |
0 |
0 |
1 |
1 |
0 |
|
3 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
4 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
5 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
|
6 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
|
|
7 |
0 |
1 |
1 |
0 |
1 |
0 |
|
|
|
|
8 |
0 |
1 |
1 |
1 |
1 |
0 |
|
|
|
|
9 |
1 |
0 |
0 |
0 |
0 |
|
|
|
|
|
10 |
1 |
0 |
0 |
1 |
0 |
|
|
|
|
|
11 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
|
|
|
12 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
13 |
1 |
1 |
0 |
0 |
0 |
|
|
|
|
|
14 |
1 |
1 |
0 |
1 |
0 |
|
|
|
|
|
15 |
1 |
1 |
1 |
0 |
1 |
0 |
|
|
|
|
16 |
1 |
1 |
1 |
1 |
1 |
0 |
|
|
|
|
Метод резолюций
1.(A => С, -В ~ С, В V D, В => А),-(DV(А & С)) |= 0
2.Приведем к дизъюнктному виду каждый конъюнкт отдельно
a.A => С= -AVC
b.-В ~ С=(-B=>C)&(C=>-B)= (BVC)&(-CV-B)
c.В => А= -BVA
d.-(DV(А & С))=-D&-(A&C)= -D&(-AV-C)
Получили конъюнкцию дизъюнкций
-AVC, (BVC),(-CV-B), В V D, -BVA, -D,(-AV-C) |= 0
3. Производим склейки
25
Таблица 13 Склейки
1 |
-AVC |
|
11 |
BV-B |
2,3 |
2 |
BVC |
|
12 |
AVC |
2,5 |
3 |
-CV-B |
|
13 |
BV-A |
2,7 |
4 |
В V D |
|
14 |
C |
2,9 |
5 |
-BVA |
|
15 |
-CVD |
3,4 |
6 |
-D |
|
16 |
-B |
3,9 |
7 |
-AV-C |
|
17 |
AV-B |
3,12 |
8 |
-AV-B |
1,3 |
18 |
-CV-A |
3,13 |
9 |
-BVC |
1,5 |
19 |
AVD |
4,5 |
10 |
-A |
1,7 |
20 |
B |
4,6 |
4.Повторяем п.3.
5.Доказательство закончено.
Составим легенду для клаузы
(В => А, A => С, -В ~ С, В V D) |= (DV(А & С))
A – Вася прилежно учится;
C – Вася хорошо сдает все экзамены;
B – Вася – умный человек;
B=>A – Если Вася – умный человек, то Вася прилежно учится;
A=>C – Если Вася прилежно учится, то он все экзамены сдаст хорошо;
-B – Вася – глупый;
-B~C – Вася – глупый означает, что он успешно сдает экзамены;
D – Вася занимается спортом;
BVD – Вася – умный человек или Вася занимается спортом;
A&C – Вася прилежно учится и Вася хорошо сдает все экзамены;
DV(A&C) – Вася занимается спортом или Вася прилежно учится и Вася хорошо сдает все экзамены;
Получили следующую легенду:
Про Васю известно, что:
Если Вася прилежно учится, то он все экзамены сдаст хорошо; Вася ведет здоровый образ жизни тогда и только тогда, когда он успешно сдает экзамены; если Вася всегда ведет здоровый образ жизни, то Вася прилежно
учится.
26
Это значит, что Вася занимается спортом или Вася прилежно учится, и Вася занимается
спортом или Вася хорошо сдает все экзамены.
Решение упражнения 6.
А => (В => -С), -А => В, -А => (-В => С) |= С V В
Таблица 14 Клауза
А => (В => -С), -А => В, -А => (-В => С) |= С V В неверна
№ |
A |
B |
C |
В=>-С |
А=>(В=>-С) |
-А=>В |
-В=>С |
-А=>(-В=>С) |
1 |
0 |
0 |
0 |
|
1 |
0 |
|
|
2 |
0 |
0 |
1 |
|
1 |
0 |
|
|
3 |
0 |
1 |
0 |
|
1 |
1 |
1 |
1 |
4 |
0 |
1 |
1 |
|
1 |
1 |
1 |
1 |
5 |
1 |
0 |
0 |
1 |
1 |
1 |
|
1 |
6 |
1 |
0 |
1 |
1 |
1 |
1 |
|
1 |
7 |
1 |
1 |
0 |
1 |
1 |
1 |
|
1 |
8 |
1 |
1 |
1 |
0 |
0 |
1 |
|
1 |
В строках 3-7 таблицы 14 конъюнкты левой части клаузы принимают значения истины, но в строке 5 дизъюнкция в левой части клаузы принимает значение "ложь", следовательно, клауза неверна.
Если в правую часть добавить дизъюнкт A, то клауза будет справедлива!
Применим метод резолюций для клаузы
А => (В => -С), -А => В, -А => (-В => С) |= С V В V A
Выполняем шаги алгоритма
1.Приводим к форме противоречия, используя закон де Моргана,
А=> (В => -С), -А => В, -А => (-В => С), -С,-В,-A |= 0
2.Конъюнкты левой части приводим к дизъюнкции:
(-АV-ВV-С), (АVВ),(АVВVС), -С,-В,-A |= 0
3-4. Записываем в таблицу конъюнкты левой части клаузы и производим
склейки
1 |
-АV-ВV-С |
|
2 |
АVВ |
|
3 |
АVВVС |
|
27
4 |
-С |
|
|
5 |
-В |
|
|
6 |
-A |
|
|
7 |
A |
2,5 |
|
8 |
0 |
6,7 |
|
6. |
Доказательство закончено. |
Составим легенду для клаузы
А=> (В => -С), -А => В, -А => (-В => С) |= С V В V A
А– Петр – умный человек;
В – Петр знает ПДД;
C – Петр нарушил ПДД;
-C – Петр никогда не нарушает ПДД;
А => (В => -С) –
-А => В –
-А => (-В => С) –
С V В V A
(С=> (A V В), D => (В V С)) |= (A V ВV -D)
С=> (A V В), D => (В V С), -(A V ВV -D) |= 0 -СV(A V В), -DV (В V С), -A & -В & D |= 0 -СV(A V В), -DV (В V С), -A , -В , D |= 0
A1 |
A2 |
A3 |
A4 A5 |
|
|
|
|
|
|
1. |
-СVA V В |
|
|
|
|
|
|
|
|
2. |
-DV В V С |
|
|
|
|
|
|
|
|
3. |
-A |
|
|
|
|
|
|
|
|
4. |
-В |
|
|
|
|
|
|
|
|
5. |
D |
|
|
|
|
|
|
|
|
6. |
A V В V-DV В |
|
|
1,2 |
|
|
|
|
|
7. |
-СVВ |
|
|
1,3 |
|
|
|
|
|
8. |
-СVA |
|
|
1,4 |
|
|
|
|
|
9. |
-DV С |
|
|
2,4 |
|
|
|
|
|
10. |
В V С |
|
|
2,5 |
|
|
|
|
|
|
|
|
28 |
11. |
В V-D |
3,6 |
|
|
|
12. |
-D |
4,11 |
|
|
|
13. |
0 |
5,12 |
|
|
|
2.1 Логика предикатов
2.1.1 Предикаты
Предикат — это функциональное высказывание, а высказывание — предикатная константа.
Логика предикатов — это расширение логики высказываний за счет использования предикатов в роли логических функций.
Предикат [лат. praedicatum] - 1) сказуемое; 2) логическое сказуемое;
то, что в утверждении высказывается об объекте.
Пример 1. Пусть имеется ряд простых высказываний:
Р1 = «Иван читает Достоевского»,
Р2 = «Петр читает Достоевского»,
……………………………………..
Рn = «Степан читает Достоевского».
Вместо высказываний Р1, Р2,... , Рn мы могли бы ввести одноместный предикат Р(х), для которого переменная х принимала бы значения из предметной области типа —
х{Иван, Петр, ... , Степан},
асама предикатная функция передавалась бы словами:
Р(х) = « х читает Достоевского».
Теперь изменим исходный ряд высказываний на другой:
Р1 = «Иван читает Достоевского»,
Р2 = «Петр читает Толстого»,
…………………………………
Рn = «Степан читает Чехова».
Здесь можно было бы ввести уже двухместный предикат —
Р(х, у) = « х читает у »
29
сдополнительной предметной областью —
у{Достоевский, Толстой, ... , Чехов}.
Введем трехместный предикат Р(х, у, z), который означает, что
« х есть сумма у и z ».
Допустим, в процессе вычислений переменная х приняла конкретное
значение, равное 5. Тогда трехместный предикат превратится в двухместный:
Р(5, у, z) = Р’(у, z) = « 5 есть сумма у и z ».
При х = 5 и у = 3 получим одноместный предикат:
Р(5, 3, z) = Р'(3, z) = Р"(z) - « 5 есть сумма 3 и z ».
Наконец, если добавить условие z = 2 , то исходный предикат
становится нулъместным предикатом (константой или высказыванием),
который в данном случае принимает истинное значение:
Р1 = Р(5, 3, 2) = « 5 есть сумма 3 и 2 » = 1.
Но могло случиться, что z= 1 тогда имели бы ложное высказывание:
Р0 = Р(5, 3, 1) = « 5 есть сумма 3 и 1 » = 0.
Таким образом, при замещении переменной xi предметной постоянной
аi, происходит превращение n-местного предиката P(x1,..., xi,..., хn) в (n — 1)-
местный — P(x1,..., аi,..., xn). Приписав конкретные значения всем аргументам предикатной функции — P(a1,..., ai,..., an), мы тем самым получаем предикатную константу, к которой применимы все законы логики высказываний.
Многоместный предикат P(x1, x2,...,xn) - это утверждение об
объектах x1, x2,...,xn, где x1, x2,...,xn |
рассматриваются как переменные. |
|||||
Следовательно, при подстановке x1=a1, x2=a2,...,xn=an |
получим |
вы- |
||||
сказывание P(a1, a2,, ...,an), являющееся истинным или ложным. |
|
|||||
2.1.2 Формулы |
|
|
|
|
|
|
Определение терма: |
|
|
|
|
||
a) переменные x1, x2,...,xn для объектов - это термы; |
|
|
||||
b) если |
f(•,...,•) |
функция |
п |
переменных, |
ставящая |
в |
|
|
|
|
30 |
|
|