- •Построение доказательств в логике высказываний
- •Аксиоматический метод
- •Принцип резолюций
- •Метод Вонга
- •Метод натурального исчисления
- •Задания на практическую работу по логике высказываний
- •Решения
- •Примеры решения задач
- •С помощью средств предыдущего примера доказать клаузу:
- •Составить легенды для приведенных ниже четырех клауз.
- •Операции над предикатами и кванторами
- •Построение доказательств в логике предикатов
- •Задания на практическую работу по логике предикатов
- •Разбор решений задач по логике предикатов
Разбор решений задач по логике предикатов
1.
Установим истинность следующих логических выражений путем конкре! зации, Для варианта 10 имеем следующее тождество:
Эх (А(х) -» В(*)) - VxA(x) -» Зх В(лг). Доказательство;
Зх (А(х) -* В(х)) = (А(я) -» В(о)) v(А(Ь) -> В(А)) =
= А(й) vВ(д)vА(6)vВ(й) = (А(а)vA(A))v(B(e)vB(ft)) =
= Зд: А(х) vЗх В(х) = Ух А(х) -> Зх В(х). Для варианта 19 имеем следующую клаузу:
Зх\/у Р(*, у) ^ Зх Р(й, х). Для доказательства ее истинности избавимся от кванторов в обеих частях к
90
пса
(Р(а, fl) л Р(й,b)}v(Р(й, в) л Р(6, Ь}} => Р(Ъ,a)vP(b, Ь) • Р(й,a)vР(а, Ь}, Р(в, Ъ]vР(/>, л), Р(а, в)vP(ft,ft), Р(А,a)vР(Ь, а) =* Р(6, *) ; Р(й, а)vР(а, Ь), Р(в, *)vР(*, в), Р(а, а)vР(й, А),Р(Й, и) =>
Последняя клауза верна в силу аксиомы порядка.
2.
Решения для второго задания приведем для всех вариантов. Ответы нетрудно будет отыскать, если знать, каким образом были составлены логические выражения. Замена в соответствии с принципом двойственности предполагает одновременную перестановку местами всех заключений и всех посылок, а также замену обозначений:
Vo3,vо. л,sitpoinf, (,) о (;), А о В, а ^>b,b=> с, с=> а, х о и, у оv,z<^>w.
Для варианта 1:
из принципа двойственности по варианту 9. Для варианта 2:
В3 vC^AjvB^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 = Зи А(я, и, с) л 3xVzA(x,b,z),
Для варианта 3:
из принципа двойственности по варианту 2. Для варианта 4:
из принципа двойственности по варианту 10. Для варианта 5:
А1( В3 -> G! => А2 л В^С'тлВз лС2,
Aj,B3vCj,A2vВь В2vС2 зз- О,
А, • VxУгА(д:, дг, г), А2 = Зи 3vА(н,v,v),A: =^> А2 ,
Ci= шлС'2,С'2) =VzA(s, и, г),G! =>C2 ,C2 =C2 лС2 =Vw3rA(a,v, и) л Эд:А(л,b, с). Для варианта 6:
Для варианта 7:
из принципа двойственности по варианту 12. Для варианта 8:
^', В, vC'j=> А2 л С2; В2 л и;1 ,
1 — 1 ----л А ' — £
A; v ApBjvCj, A2 v C2) B2 vCj =>0, At ^> A2,
А! = А\ vAj=VyVzA(a, у,z)vVv3wA(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 со следующими обозначениями: А! = А\ vAj=VzЭхA(a,x,z)vVwЗи А(и,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:
AjvBjvA'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 = ЭхVzB(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),
— ^ VWТR(лVТ\rf"1 --V/Trtlnл 7lf— ^VV/TAlt" Т -ТI
т — 1]л v^JJIи. л. 4»)\ ^--i~~vх* **\**) **5 */ ? ^—1 — ^АV4r-**\-*, 4f? ^j
* А 1
С2 = Зи VwА(н, я, >v),D! «VzВ(г, с,z),D2 = Зи» В(с, и>, и>). Для варианта 17:
А, (А -> С) -> (А л B!) ^> В2 л В2,
А = VA- Зг А(г,b,x) =VzЗх А(х,b,z) =Vu3^ А(у,b, и),B! -VA- ЗуVzВ(лг, у,z) = шДВ'2,В2) =^> В2 л В"2 =
• VH3w3vВ(н,v, н1) л 3u3zVvB(z, и,v), С =VxVzВ(д:, я,z). Для варианта 18:
(А -> B!) -> (B!vС), С => В2 лВ"2>
А = VHА(н, а, Ь}, С = Ух Зу А(х, у, а),
B! = /«/(Bj.B'i) =VH3vVwВ(н,v,w) =Vz3^VxB(z,y,x) => =>B2 лB2 =VH3w3vВ(н,v, и>) л Зд: 3jVzВ(д:,j, г). Для варианта 19.
С, AIvВ, В -> С => А2 л А2,
А! = (илА2,А2) = Зн VyVxA(u,x, у) => А2 л А2 = = Зи 3vVwА(и,v, и1) л 3v3№VaA(№,v, н), В =VA- ЗгB(Ar, я,z) =Vz.3*B(z, я, д:), С -VxЗуVzB(JC, у,z) =Vw3vVwВ(н,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 л С? =VyVzЗхB(z, у, дс) л ЗуVzЗх В(у,z,x). Для варианта 21:
В2 -> A",B!vGI, С2 ->AL
л
А; = А(а, *, с), А; = А(«, Ь, </), А! = Зг А(а, и, г) =
= шЯА'2,А2) =^ А'2лА2 = V*3zA(jt,b,z) лVy3zA(c, у, г),
Б! - VyVsA(fr, у, г) => 3*VyVzА(дт, у, г) = В2,
G! = ЗхVzА(х, а, г) => Зх ЗуVz\(x, у, г) = С2. Для варианта 22.
С vС" => В, (В -> А) -> (ВvС),
А = Эу Y*A(fl, д:, у), С =V«VzЗхA(z, и, х) =sup(C, С"),
В = Vx3zB(x,b,z) =Vw3vB(u,b,v) =VzЗх В(г,b,x),
Vx3y3zA(x,Z,y)v3wVv3wA(w,r,w) -C'vC" =>C. Для варианта 23:
A!vB;vС',A2vВ]vС", В2 ^>Ciл С2,
А! => А2, в; => в2, в; => в2, с' => с,
А! = VwVvVwА(и,v,w),A2 = У^А(д:, а, *),B; * Уд: Зу В(д:, Ь, у), В'( =VyЗг В(я, у, г),
В2 = Зи> В(о, 6, w), С" => С => С, л С2, С' =VMVvС(н,v, и),
С" = VvVwC(v,w, а), С =VHVvЗи>C(w,v,w),
G! =Vw3v3wC(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=Vy3wVsВ(и, у, г), В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, то первый всегда окажет второму конкретную материальную помощь, если имеется определенная вероятность того, что у как-то компенсирует затраты х:
Зх By3z\(x, у,z) -> (Зх Зу Эй- С(х, у,w) ->V*V>'VvB(*( у,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= Ефим, и = Анатолий.