- •Построение доказательств в логике высказываний
- •Аксиоматический метод
- •Принцип резолюций
- •Метод Вонга
- •Метод натурального исчисления
- •Задания на практическую работу по логике высказываний
- •Доказать аксиоматическим методом истинность клаузы:
- •Доказать методом Вонга истинность следующей клаузы:
- •Доказать методом резолюций истинность следующей клаузы:
- •Пусть задана система аксиом :
- •Решения
- •Примеры решения задач
- •Доказать методом натурального исчисления истинность следующей клаузы:
- •С помощью средств предыдущего примера доказать клаузу:
- •Составить легенды для приведенных ниже четырех клауз.
- •Операции над предикатами и кванторами
- •Построение доказательств в логике предикатов
- •Задания на практическую работу по логике предикатов
- •Разбор решений задач по логике предикатов
Задания на практическую работу по логике предикатов
Установить истинность логического выражения своего варианта путем конкретизации.
x y Р(х, у) => х у Р(х, у)
x у (А(у) v B(x)) = х А(х) v х В(х)
х (В(х)&А) = х В(х) & А
x (А(х) -> В) = x А(х) -> В,
x y Р(х, у) => x Р(х, х),
х (А(х) v B(x)) = х А(х) v х В(х)
х А(х) -> x B(x) => x (А(х) -> В(x))
х (А(х) -> В) = x А(х) -> В
х y (А(x) -> В(у)) = х A(x) -> x В(х)
х (А(х) -> В(х)) = x А(х) -> х В(х)
x A(x) v x B(x) => x (A(x) v B(x))
х А(х) v x В(х) = х у (А(х) v B(y))
х (А -> В(х)) = А -> х В(х)
x y Р(х, у) => x у Р(х, у),
х y Р(х, у) => х у Р(х, у),
x у Р(х, у) => х у Р(х, у),
х y (A(x) v В(у)) . y х (А(х) v B<y)),
yP(a,y)^ y xP(x,y),
х y Р(х, у) => х Р(х, Ь),
x (A v B(x)) = A v x В (л),
x A(x) v x В(х) = x y (A(x) v B(y)),
х А(х) ~> x В(х) * x y (A(x) -> В(у)),
x (А -> В(х)) = А -> x В(х),
х Р(х, х) => х у Р(х, у),
x Р(х, Ь) => у x P(x? у).
2.
Доказать истинность предикатных клауз методом резолюций.
1. Vz B(*, z, г) v 3v A(*, v, *), VH В(н, и, я) v Vy Vs А(у, у, г) =>
=> 3w В(№, с, w) л Эм А(и, м, и); 3w V« B(A, u, w) л Зг Vx B(x, с; г).
2. Зх VzB(x, /», г) -> Vw A(w, b, w), 3xVzA(x, г, г) v VxB(e, x, x) v VH A(a, *, и) =
VwA(v, b, w);BuVcB(it, v, г) л ЗиA(a, и, с) л Vu3zB(u, b, z) л 3xVzA(x, b,
4ю Мос Зг В(д-б яб ф)б Уи Зн- А(иб цб н1) м 3я Мц ВОб гб г) м Зг У* А(хб сб я) =Ю :ЮМос3РЮФ(чб д-б ц) л Мт3мИ(Рб мб и)ж 3м3цИ(Фб мб и») л 3яФ(иб яб я) л 3мМц В(иб мб ф)ю
5. VA: Уг A(x, x, z), Эх Зу_В(дг, jc, y) -> Уг А(г, b, z) =>
=> Зи 3 v А(и, v, v) л ЗгВ(г, z, г); Ум 3v A(a, v, и) л Зу В(а, у, а) л Эх А(х, Ь, с).
6. А(Ъ, b, c), VvVn- B(c, v, w}, V« В(и, н, а) => Vv А(Ь, v, b) л Зи В(с, и, м) л л ЗиЗх А(и? д:, с); Ух В(х, с, а) л УуУг А(у, у, г) л Vy B(c, у, у).
7. УиЗи-А(й, и, w) vB(c, с, с) v3wVHA(«, с, w) v Уи>В(6, w, w), Vw3uB(w,u, «)=> =>ЗиА(н, с, а) л 3v Зи>В(и>, v, w); 3v 3wB(b, v, w) лЗгА(г, с, z) лЗдтУуВ(у,х, а).
8. Vy VzA(fl, у, г) v Vv3wA(>v, v, v), Уд- УгВ(лг, a, z) V_VA- B(x, с, а) => ^> Зи Уг А(н, z, с) л Зд: B(jc, д:, а); Зу В(Ь, у, Ь) л Зу В(с, у, а).
9. Vz A(z, b, z) v Уд- B(x,_x, x), 4z3x A(a, x, z) v Уиви А(и, b, w) => => 3w A(a, w, w) л Vy B(a, у, л); Зд: А(дс, л;, с) л 3v3w B(v, v, w).
10. VyVzA(a, y, z) v VwB(a, w, w) v УуЗдА(дг, у, с), 3«УгВ(н, и, г) -> Зд:УуА(д:, у, а)=> ^> Зд: УгВ(х, z, z) л Уи»ЗгА(г, w, w) л Уи>3ы В(и, 6, и»); Зи Ун>А(и, w, с).
11. Уд: УуВ(д-,у,у) v VwA(w, w, w), Эх VyB(b,y,x) v VvA(u, v, b) v УиВ(н, с, в) => => ЗиЗи-В^, и, н1); Уи VvA(u, н, v) л 3w B(w, c, w).
12. Уу УгА(д,у,z) vУи'В(>с, л, н-) v VH3vA(v, и, с), 3jcB(jc, и, с) -^ УуУгА(г,у,г)=> ^> Зг VJtА(г, х, с); Зд: УгВ(а, л:, г) л А{й, и, и) л Уг Зд: В(д:, 6, г) л 3zA(a, z, г).
13. ЗиА(к, Ь, с) -> (3*> 3n>B(v, г, и-) ~> 3vA(Ј, v, v)), 3yB(a,y, а) v V*A(Ј, д:, jc) v v Уд: Vw B(jc, и, и) => Уд: A(JC, jc, c) -> Зу Зг А(А, у, г); В(а, в, и).
14. VwB(b, c±w), Уд- ЗгВ(д:, А,г), УгА(а,г,г)^ЗыВ(и, с, а) лЗ№В(с, и, и>)л
л Зи VwA(A, и, и»); 3zVwA(z, и1, г) лУиЗи>В(н, н1, TV) л Зи'А{и', я, н1).
15. Vv А(а, v, 6) v VvA(c, v, с),Ун А(«, и, и) v Уд:3№В(д:, w, а) ^>
=> 3v Зи> B(b, v, w} л Зу УгВ(г, у, у); ЗиЗ>уА{и, и, w} л Зн А(м, а, и).
16. Зд:А(дг, *, с) -^ (ЗхУгВ(а, д:, г) -> УгА(й, a, z)), Ун-ЗгВО, z, .v) v
v3jc УгА(дг,г,г) vУгВ(г, с,г)=>УгА(в,й,г)->Зи VwA{«, a, w)',3wB(c, w, w).
17. 3zVjcA(jc, А, г), (Уд-ЗгА(г, и, д-) -> V* VzB(x, а, г)) -> (ЗиУуА(у, и, и) л л Уд- Эу Уг В(д-, у, г)) => Уи Зи> 3v В(и, v, и>) л Зн Зг Vv B(z, и, v).
18. (УиА(н, а, Ь) -> Зг Уу Зд:В(г, у, ж)) -> (Ум 3v ywB(w, v, w) v Уд: ЗуА(д:,у, a)), Зн VvA(H, v, a) => Va3)f3vB(tf, v, w) л Зд- Зу Уг В(х, у, z).
19. Зд- Уу ЗгВ{д:,_у, г), Зи Vy УхА(н, х, у) v Уд: ЗгВ(дг, а, г), Уг 3;сВ(г, а, х) -> -> Уи 3v У w В(и, v, w) => Эй 3v Vw А(н, v, w) л 3v 3w Ун A(w, v, и).
20. УД- Зу А(у, ж) -* Уд: Уу Зг B(JC,- yr.z), Зи Vr A(u, v) -> Уг Уд: Зу В(х, г, у), Уу Зд: А(дг, у) v 3v Ун A(v, и) => Уу Уг Зд: В(г, у, х) л Зу Уг Зд: В(у, г, д:).
21. Зд- Уу Уг А(д-, у, г) -> А(а, и, с), Уу Уг А(Ь, у, г) v 3jc Уг A(JC, а, г), 3jc Зу Уг A(JC, у, г) -> А(Й, b, d) ^> Ух Зг А(х, и, г) л Уу Зг А(а, у, г).
22. Vr qv^l^Afy. 7. vW=1u VrlwAri/ v и-^^Чг VrRCv h r\ (Wu^vTMu A «> _ь.
1.11. Задания на практическую работу по логике предикатов____________^^^ 8
23. VH Vv Vie A(w, v, w) v Vx 3>» B(x, fi, j?) v Vw Vv С(н, v, и), 3* А(х, а, л) v v Vy Зг B(a, .у, г) v Vv VH C(v, и, a), Vw В(д, ft, и1) =>
=> VH 3v 3w С(и, v, w) л Зл: Vj> 3z C(x, y, z).
24. 3u Уи> A(u, a, w) v 3v Vw A(Ј, v, w) => 3v Зи-A(a, v, w) л V« 3w А(н, и, tv); Vtt3v3M»A(w, v, w) л A(6, a, rf); А(й, a, с) л VH Vv3ivA(tt, v, w).
25. ayVzBO7, «, z) -> Vtf Vv А(й, v, w), VwVvA(v, «3 a) v Vj3H Vs В(и, у, г), Уг В(г, г, г) => з^ В(в, у, А) л Зл Vy Зг А(х, у, г); Зн w Зи- А(н, v, w}.
3.
Для легенды вашего варианта (см. п. 1.7, задание 3) введите соответствуй щие предикаты, составьте предикатную клаузу и докажите ее истинность мет< дом резолюций. Если предикаты для вашей клаузы ввести затруднительно, npi думайте новую легенду, для которой введение предикатов и кванторов было б возможно.
4.
Задана ПРОлОГ-программа «Родственные отношения». Необходимо вь полнить трассировку программы отдельно для двух целей, предварительно вве,! недостающие предикаты и правила. Так как может существовать несколько зн. чений для переменных х и у, удовлетворяющих одной и той же цели, при трасс] ровке допустимо ограничиться одним истинным значением х или у. Кроме тог ввиду большого числа повторных вызовов, разрешается указывать только пе] вую и последнюю строки повторяющихся вызовов, например:
81. В: муж (Феликс) — 85,
82. П: муж (Феликс) — 1, ...
99. П: муж (Феликс) — 18,
100. У: муж (Феликс) — 19.
ПРО лОГ-программа «Родственные отношения» муж (х) — х мужчина, дочь (х, у) — х дочь у, жен (х) — х женшина, сын (х, у)-~~х сын у, отец (х, у)~х отец у, род (х, у) — х родитель у, мать (х, у) — х мать у, брат (х, у) — х брат у, сестра (х, у) — х сестра у. Клаузы:
I) муж (Николай). 2) муж (Иван). 3) муж (Степан). 4) муж (Сергей). 5) муж (Павел). 6) муж (Игорь). 7) муж (Анатолий). 8) муж (Иосиф). 9) муж (Роман). 10) муж (Кирилл).
II) муж: (Дмитрий). 12) муж (Максим).
14л мг'гмс СПетпУ
1. логика
17) муж (Вадим).
19) муж (Феликс).
21) жен (Ольга).
23) жен (Жанна).
25) жен (Алиса).
27) жен (Елена).
29) жен (Полина).
31) жен (Наталья).
33) жен (Белла).
35) отец (Николай, Иван).
37) отец (Иван, Ольга).
39) отец (Иван, Татьяна).
41) отец (Павел, Роман).
43) отец (Иосиф, Ирина).
45) отец (Ефим, Полина).
47) отец (Петр, Ефим).
49) отец (Петр, Анна).
51) отец (Дмитрий, Наталья).
53) отец (Олег, Евгений).
55) мать (Екатерина, Елена).
57) мать (Елена, Юрий).
59) мать (Мария, Ольга).
61) мать (луиза, Евгений).
63) мать (Мария, Сергей).
18) муж (Олег). 20) жен (Мария). 22) жен (Татьяна). 24) жен (Ирина). 26) жен (Екатерина). 28) жен (Виктория). 30) жен (луиза). 32) жен (Барбара). 34) жен (Анна). 36) отец (Степан, Мария). 38) отец (Иван, Сергей). 40) отец (Сергей, Виктория). 42) отец (Сергей, Дмитрий). 44) отец (Ефим, Анатолий). 46) отец (Юрий, Вадим). 48) отец (Петр, Юрий). 50) отец (Максим, Петр). 52) отец (Феликс, Олег). 54) мать (Алиса, Петр). 56) мать (Елена, Ефим). 58) мать (Елена, Анна). 60) мать (Анна, Виктория). 62) мать (Татьяна, Полина). 64) мать (Анна, Олег).
70) мать (Ольга, Павел). 72) мать (Ирина, Игорь). 74) мать (Барбара, Роман). 76) род (х, у) <= мать (х, у).
65) мать (Татьяна, Анатолий). 66) мать (Анна, Дмитрий). 67) мать (Виктория, Белла). 68) матъ (Мария, Татьяна). 69) мать (Ольга, Жанна). 71) мать (Жанна, Ирина). 73) мать (Ирина, Кирилл). 75) род (х, у) <= отец (х, у).
77) сын (х, у) <=род (у, х), муж (х).
78) дочь (х, у) <=род (у, х), жен (х).
79) брат (х, у) <= род (z, х),~род (г, у), муж (х), х # у.
80) сестра (х, у) <= род (г, х), род (z, у), жен (х),х* у. Цели:
1. тесть (Феликс, у), племянник (Павел, у).
3. двоюр. брат (Вадим, у), внучка (х, Сергей).
4. дядя (Ефим, у), свекровь (Мария, у).
5. невестка (х, Максим), внук (х, Анна).
6. племянница (Жанна, у), внук (Роман, у).
7. теща (Елена, у), внучка (Белла, у).
8. теща (Мария, j), свекор (х, Елена).
9. внук (Евгений, у), дядя (Юрий, у).
10. тетя (Татьяна, у), двоюр. брат (Дмитрий, у).
11. зять (Петр, у)} тетя (Ольга, у).
12. свекор (Петр, у), внучка (Полина, у).
13. свекровь (х, луиза), дядя (Сергей, у).
14. тесть (х, Сергей), двоюр. брат (Вадим, у).
15. теща (х, Сергей), двоюр. сестра (х, Виктория).
16. троюр. сестра (х, Белла), зять (Сергей, у).
17. племянник (Вадим, у), внучка (Ирина, у).
18. невестка (Анна, у), двоюр. сестра (Виктория, у).
19. невестка (Елена, у)} племянница (Виктория, у).
20. двоюр. сестра (Жанна, у), племянник (х, Ефим).
21. троюр. сестра (Наталья, у), свекор (Иван, у).
22. тесть (Петр, у), троюр. брат (Роман, у).
23. племянница (х, Сергей), зять (Ефим, у).
24. внучка (х, Мария), двоюр. сестра (Белла, у).
25. двоюр. сестра (х, Полина), зять (х, Петр).
