- •Построение доказательств в логике высказываний
- •Аксиоматический метод
- •Принцип резолюций
- •Метод Вонга
- •Метод натурального исчисления
- •Задания на практическую работу по логике высказываний
- •Доказать аксиоматическим методом истинность клаузы:
- •Доказать методом Вонга истинность следующей клаузы:
- •Доказать методом резолюций истинность следующей клаузы:
- •Пусть задана система аксиом :
- •Решения
- •Примеры решения задач
- •Доказать методом натурального исчисления истинность следующей клаузы:
- •С помощью средств предыдущего примера доказать клаузу:
- •Составить легенды для приведенных ниже четырех клауз.
- •Операции над предикатами и кванторами
- •Построение доказательств в логике предикатов
- •Задания на практическую работу по логике предикатов
- •Разбор решений задач по логике предикатов
Разбор решений задач по логике предикатов
1.
Установим истинность следующих логических выражений путем конкре! зации, Для варианта 10 имеем следующее тождество:
Эх (А(х) -» В(*)) - Vx A(x) -» Зх В(лг). Доказательство;
Зх (А(х) -* В(х)) = (А(я) -» В(о)) v (А(Ь) -> В(А)) =
= А(й) v В(д) v А(6) v В(й) = (А(а) v A(A)) v (B(e) v B(ft)) =
= Зд: А(х) v Зх В(х) = Ух А(х) -> Зх В(х). Для варианта 19 имеем следующую клаузу:
Зх\/у Р(*, у) ^ Зх Р(й, х). Для доказательства ее истинности избавимся от кванторов в обеих частях к
90
пса
(Р(а, fl) л Р(й, b)} v (Р(й, в) л Р(6, Ь}} => Р(Ъ, a) v P(b, Ь) • Р(й, a) v Р(а, Ь}, Р(в, Ъ] v Р(/>, л), Р(а, в) v P(ft, ft), Р(А, a) v Р(Ь, а) =* Р(6, *) ; Р(й, а) v Р(а, Ь), Р(в, *) v Р(*, в), Р(а, а) v Р(й, А),Р(Й, и) =>
Последняя клауза верна в силу аксиомы порядка.
2.
Решения для второго задания приведем для всех вариантов. Ответы нетрудно будет отыскать, если знать, каким образом были составлены логические выражения. Замена в соответствии с принципом двойственности предполагает одновременную перестановку местами всех заключений и всех посылок, а также замену обозначений:
Vo3, v о. л, sitpoinf, (,) о (;), А о В, а ^> b, b => с, с=> а, х о и, у о v, z <^> w.
Для варианта 1:
из принципа двойственности по варианту 9. Для варианта 2:
В3 vC^Aj vB^A;,; В2лС2.
А! = \\ v Aj = BxVz MX, z, г) v Vw A(a, b, и),
A2 = sup(A\,\'[) = 3vV>A(v, b, H1), A! => A2,
B! = /ялВ'2,В"2) = Vj: B(e, x, x),^ => B2)
B2 = B'2 л B2 = 3wVv В(и, v, v) л УиЗг В(н, л, г),
B,^B3 = 3^V2B{^*, z),
С2 = С'2 лС2 = Зи А(я, и, с) л 3xVz A(x, b, z),
Для варианта 3:
из принципа двойственности по варианту 2. Для варианта 4:
из принципа двойственности по варианту 10. Для варианта 5:
А1( В3 -> G! => А2 л В^С'тлВз лС2,
Aj, B3 v Cj, A2 v Вь В2 v С2 зз- О,
А, • Vx УгА(д:, дг, г), А2 = Зи 3v А(н, v, v), A: =^> А2 ,
Ci = шлС'2,С'2) = VzA(s, и, г), G! => C2 , C2 =C2 лС2 = Vw3r A(a, v, и) л Эд:А(л, b, с). Для варианта 6:
Для варианта 7:
из принципа двойственности по варианту 12. Для варианта 8:
^', В, v C'j => А2 л С2; В2 л и;1 ,
1 — 1 ----л А ' — £
A; v ApBjvCj, A2 v C2) B2 vCj =>0, At ^> A2,
А! = А\ v Aj = Vy VzA(a, у, z) v Vv 3wA(w, v, v),
A2 - Зи Vz А(и, z, c), B! - Vx Vz B(x, a, z), B! => B2, B2 = 3y B(ft, y, ft), c; = Vx B(x, c, a), C\ => C2,
C2 = Эх B(x, x, a), c; = Vy B(c, j>, a), Cj => C2. :
Для варианта 9",
по клаузе 8 со следующими обозначениями: А! = А\ v Aj = Vz Эх A(a, x, z) v Vw Зи А(и, ft, w),
A2 = ЗхА(х, л:, с), Bj = VzA(z, ft, z),
B2 = 3>v А(я, w, w), C2 = 3v Эм B(v, v, н1),
с; = V* B(x, x, x), CJ = Зу В fa, j, a).
Для варианта 10:
Aj v Bj v A'j, B3 —> C| => B2 лС2 л B2; A2 ,
A; v Bj v A], B3 vCls B2v C2v B2, A2 ^> 0,
A! = AI v Aj = Vy Vz A(fl, j;, z) v Vj> Эх A(x, y, c),
A2 = sup(A\)A"l) = Зи VM>A(H( w, c), B! = />1ДВ2,В2) = VwB(e, и-, w),
B2 = B2 л В2 = Эх Vz B(x, z, z) л VwЗи В(н, ft, w),
B3 = Зн Vz В(н, и, z), A! => A2, B! => В2з Вт ^ B3,
Ci = 3x V>- A(x, >-, e), C2 = Vw 3z A(z, w, w), Сг => C2. Для варианта 11:
из принципа двойственности по варианту 5. Для варианта 12:
по клаузе 10 со следующими обозначениями:
AJ = А',, А" = Vy VzA(a, у, z) v Vn 3v A(v, u, c),
A2 = Эг Vx A(z, x, c), B: = Vw Bfw, ft, w), B3 = Эх В(х, ft, c),
Ct = Vy VzA(z, J, z), B2 - B2 лВ2 - Ex VzB(u, x, z) л Vz3x
3xB(x, ft, z),
C2 = C'3 л C2 = A(ft, ft, А) л Эг A(a, г, z). Для варианта 13:
A-, •* (в, -»с; >, в, v с'; v о, => А, -> с,; D,,
92
A2vB2vCj, B, vq vD^, C2, D2=>0,
Aj = V* A(JC, x, c), A2 = Зи A(u, b, c), Aj => A2,
Bj = Зу В(я, у, а), В, = 3v Зи> B(v, v, w), B, => B2, q = 3vA(*. v, v), q = VxA(ft, x, x), C2 = 3^3zA(*, y, z),
C', => C2, C- => C2, D! = VA-VU В(дг, н, b), D2 = B(a, a, b), D! => D2.
Для варианта 14:
из принципа двойственности по варианту 16. Для варианта 15:
из принципа двойственности по варианту 8. Для варианта 16:
по клаузе 13 со следующими обозначениями:
AJ = VsA(fl, и, z}, А2 = Зл: А(х, Ь, с), В( = Vw3z В(и>, г, и1),
— ^ V W Т R (л V Т\ rf"1 --V/Trtln л 7l f — ^VV/T Alt" Т -Т I
т — 1]л v ^ JJI и. л. 4»)\ ^--i ~~ v х* **\**) **5 */ ? ^—1 — ^А V 4r -**\-*, 4f? ^j
* А 1
С2 = Зи Vw А(н, я, >v), D! « Vz В(г, с, z), D2 = Зи» В(с, и>, и>). Для варианта 17:
А, (А -> С) -> (А л B!) ^> В2 л В2,
А = VA- Зг А(г, b, x) = Vz Зх А(х, b, z) = Vu 3^ А(у, b, и), B! - VA- Зу Vz В(лг, у, z) = шДВ'2,В2) =^> В2 л В"2 =
• VH 3w 3v В(н, v, н1) л 3u 3z Vv B(z, и, v), С = Vx Vz В(д:, я, z). Для варианта 18:
(А -> B!) -> (B! v С), С => В2 лВ"2>
А = VH А(н, а, Ь}, С = Ух Зу А(х, у, а),
B! = /«/(Bj.B'i) = VH 3v Vw В(н, v, w) = Vz 3^ Vx B(z, y, x) => => B2 л B2 = VH 3w 3v В(н, v, и>) л Зд: 3j Vz В(д:, j, г). Для варианта 19.
С, AI v В, В -> С => А2 л А2,
А! = (илА2,А2) = Зн Vy Vx A(u, x, у) => А2 л А2 = = Зи 3v Vw А(и, v, и1) л 3v3№ VaA(№, v, н), В = VA- Зг B(Ar, я, z) = Vz.3* B(z, я, д:), С - Vx Зу Vz B(JC, у, z) = Vw 3v Vw В(н, v, w). Для варианта 20:
A W« z:,. A/,, „\ _ W,. =!„ A /•- -л D _ Z),, W,, A/.. ,.\ . ~i.. W.. А/.. -л
VJK Vy 3z B(*, у, z) = Vz Vjc 3y B(*, z, у) =
Cj) => G2 л С? = Vy Vz Зх B(z, у, дс) л Зу Vz Зх В(у, z, x). Для варианта 21:
В2 -> A", B! v GI, С2 -> AL
л
А; = А(а, *, с), А; = А(«, Ь, </), А! = Зг А(а, и, г) =
= шЯА'2,А2) =^ А'2лА2 = V*3zA(jt, b,z) л Vy3zA(c, у, г),
Б! - Vy Vs A(fr, у, г) => 3* Vy Vz А(дт, у, г) = В2,
G! = Зх Vz А(х, а, г) => Зх Зу Vz\(x, у, г) = С2. Для варианта 22.
С v С" => В, (В -> А) -> (В v С),
А = Эу Y* A(fl, д:, у), С = V« Vz Зх A(z, и, х) = sup(C, С"),
В = Vx 3z B(x, b, z) = Vw 3v B(u, b, v) = Vz Зх В(г, b, x),
Vx3y3zA(x,Z, y) v3w Vv3wA(w, r, w) - C' v C" => C. Для варианта 23:
A! v B; v С', A2 v В] v С", В2 ^> Ci л С2,
А! => А2, в; => в2, в; => в2, с' => с,
А! = Vw Vv Vw А(и, v, w), A2 = У^А(д:, а, *), B; * Уд: Зу В(д:, Ь, у), В'( = Vy Зг В(я, у, г),
В2 = Зи> В(о, 6, w), С" => С => С, л С2, С' = VM Vv С(н, v, и),
С" = Vv Vw C(v, w, а), С = VH Vv Зи> C(w, v, w),
G! = Vw 3v 3w C(u, v, и-), C2 = 3* Vy Зг G(JC, у, г). Для варианта 24:
из принципа двойственности по варианту 2L Для варианта 25:
В2 -> A;, A" v Вь D => С л А2; А2,
А', = Vw VvA(6, v, w), A',' = Vw Vv A(v, м, и),
A2 = Зх Vy 3z A(x, y, z), A'j => A2, Aj => A2,
Bi = Vy 3w Vs В(и, у, г), В2 = Зу Vz В(у, а, г), B! => В2 ,
С = Зу В(д, у, и), D = Vz В(г; г, г), С л А2; А2 ^ А2 .
3.
Для легенды варианта 2 практического задания п. 1 .7 (3) введем следующ предикаты:
А(лс, у, г) — «х уважает у по причине г».
В(*, у, v) — «jc дает у материальные средства v».
С(х, у, w) — «у возвращает д: долг, выраженный в w». Области определения переменных:
94_____________________________________________________________
у= (с, d, ...}, где с — художник, d —• скульптор, ...
z={e,f, ...}, где е — жалость,/'— мастерство, ...
У = {', 7, •••}. где i — деньги,} — помощь в организации выставки, ...
w= {g, h, ...}, где# — деньги, h — добрая репутация...
Посылки:
Если некоторый х уважает некоторого у по причине некоторого z, то первый всегда окажет второму конкретную материальную помощь, если имеется определенная вероятность того, что у как-то компенсирует затраты х:
Зх By 3z\(x, у, z) -> (Зх Зу Эй- С(х, у, w) -> V* V>' Vv B(*( у, v)).
Из приведенной легенды следует, что бизнесмен уважает художника за его мастерство:
А(в, с, J}.
Понятно также, что бизнесмен будет иметь добрую репутацию мецената за то, что он помог художнику в организации выставки его картин:
С(в, с, А).
Заключение: бизнесмен поможет художнику организовать выставку его картин:
В(в,с,/).
Доказать истинность составленной из этих предикатов клаузы не составит большого труда.
Для легенды варианта 5 практического задания п. 1.7 (3) можно ввести следующие предикаты:
А(л, у) — «х извергает у».
В — «Высокая урожайность».
С(г) — «Источником блага яшшется z». Области:
х = {а, Ь, ...}, где а — вулкан, Ь — гроза, ...
у = {с, d, ...}, где с — пепел, d — вода, ...
z={e,f, ...}, где е — Бог,/— природа, ... Посылки:
Все х извергают какие-то у: УхЗу А(х, у). Если некоторые х извергают какие-то у, то будет высокая урожайность:
Зх Зу А(х, у) -> В.
Высокая урожайность всегда несет благо людям: В -> Vz ОД.
Заключение: то, что источником блага является Господь Бог, не противоречит исходным посылкам:
ОД.
4.
Произведем трассировку работы ПРОлОГ-программы «Родственные отж шения» для первой дели варианта 12. Для этого имеющуюся профамму допо; ним клаузой:
81) свекор (х, у) <=
82) отец (х, z),
83) отец (z, и),
84) мать (у, и). Цель: 85) свекор (Петр, у).
Трассировка профаммы:
1. В: цель () - 85,
2. В: свекор (Петр, _) — 81,
3. В: отец (Петр, _) — 82,
4. П: отец (Петр, _) — 35,
15. П: отец (Петр, _) — 46,
16. У: отец (Петр, Ефим) — 47 у,
17. В: отец (Ефим, _) — 83,
18. П: отец (Ефим, _) — 35,
26. П: отец (Ефим, _) - 43,
27. У: отец (Ефим, Анатолий) — 44 у,
28. В: мать (_, Анатолий) — 84,
29. П: мать (_, Анатолий) — 54,
39. П: мать (_, Анатолий) — 64,
40. У: мать (Татьяна, Анатолий) — 65 у,
41. У: цель(') -85.
Из соответствующих фактов и правил составим противоречие:
свекор (Петр, у) v отец (Петр, г) v отец (z, и) v мать (у, и), отец (Петр, Ефим), отец (Ефим, Анатолий), мать (Татьяна, Анатолий) => 0.
Целевой дизъюнкт нейтрализуется предикатами под номерами 47, 44 и 6 когда переменные принимают конкретные значения:
у = Татьяна, z = Ефим, и = Анатолий.
