Задачи по съждителна логика
В тази статия ще покажем няколко формули и възможните им оценки с помощта на табличния метод.
Първа задача
Ще се опитаме да разберем кога е вярна тази формула: ϕ = (p ∧ q) ∨ ¬q. Записваме в таблицата съждителните символи p и q:
След това дописваме към таблицата първата част на формулата: (p ∧ q), отрицанието ¬q и после цялата формула:
Сега изчисляваме стойностите в третата колона, това е проста конюнкция, а също и за отрицанието – там просто заместваме обратните стойности на тези във втората колона:
Накрая изчисляваме стойностите в последната колона. Това е цялата формула. Според нашата таблица изчисляваме дизюнкцията „между третата и четвъртата колона“. Резултат:
Втора задача
Същото условие, друга формула: ϕ = (p ∧ ¬q) ⇔ (¬p ⇒ q). Виждаме, че във формулата има съждителните символи p и q и техните отрицания. Първо си правим таблица с двата символа и техните отрицания:
След това добавяме формулите p ∧ ¬q и ¬p ⇒ q, които вече лесно оценяваме, защото в таблицата имаме както оценките на отделните съждения, така и на техните отрицания. Таблицата изглежда така:
Накрая остава да оценим цялата формула, която е еквивалентност между двете последни колони:
Трета задача
Третата задача вече ще е малко по-сложна, ще опитаме с три съждителни символа, при което изчисляването на таблицата се усложнява. Формулата ще изглежда така: ϕ = (¬(p ⇒ q)) ∧ (r ⇔ (¬p ∨ q)).
Тъй като имаме три съждителни символа, общият брой вариации на оценките ще е равен на осем:
Нататък ще действаме както в предишния случай, всяка колона оценяваме във всичките осем реда. Цялата таблица ще изглежда така:
Четвърта задача
Тази задача няма да зададем като обикновена формула, а като текстова задача. Трима приятели, които искат да отидат на луд купон, където манекенки с голи гърди ще раздават закуски, не се харесват съвсем и си поставят условия, при които ще отидат на купона. Казват се Мартин, Йордан и Петър. Правилата са следните:
- Ако Мартин отиде, ще отиде и Йордан.
- На купона ще дойде Петър или, ако там дойде Мартин, няма да дойде Йордан.
- Петър ще дойде тогава и само тогава, когато не дойде Мартин или не дойде Йордан.
Въпросът е: могат ли всички да дойдат на купона? Ако не, кой може да отиде на купона, без да наруши никое правило?
Първо трябва да препишем предишните словесни съждения със съждителни символи и формули. Затова нека означим съждителните символи M, J и P (Мартин, Йордан, Петър) и всеки от тях ще означава съждение от вида „Мартин ще отиде на купона“. Първото правило можем да препишем така: M ⇒ J – „ако M, то J“, тоест „ако Мартин отиде на купона, то Йордан ще отиде на купона“.
Второто правило ще препишем така. Правилото започва с изречението „На купона ще дойде Петър или…“, така че очевидно ще ни трябва дизюнкция. Засега записваме това: P ∨ … Следващата част на изречението казва: „ако там дойде Мартин, няма да дойде Йордан“. Това е импликация, при което от дясната страна още трябва да използваме отрицание. „няма да дойде Йордан“ = ¬J. Цялата импликация би изглеждала така: M ⇒ ¬J. Присъединяваме я към предишната дизюнкция: P ∨ (M ⇒ ¬J).
Третото правило ще препишем така: започваме с „Петър ще дойде тогава и само тогава“. Това означава еквивалентност: P ⇔ … След това имаме „не дойде Мартин или не дойде Йордан“, което записваме така: ¬M ∨ ¬J. Съставяме всичко заедно: (P ⇔ (¬M ∨ ¬J)).
Сега вмъкваме всички формули в таблицата и изчисляваме стойностите:
Въпросът беше могат ли и тримата да отидат на дивия купон. Отговорът намираме в първия ред. Той съответства на случая, когато всички момчета отиват – това се вижда от трите единици в първите три колони. Изпълнени ли са всички условия? Първото да (четвъртата колона), второто също (петата колона), но последното не (последната колона), там има нула. Това означава, че ако отидат и тримата, третото условие няма да е изпълнено.
Затова търсим онези редове, в които на позициите, представляващи условията (тоест последните три колони), има само единици. Единицата означава, че условието е изпълнено. Виждаме, че това се случва в два случая: когато отидат Йордан и Петър, но Мартин не, и когато отиде само Петър.
Можеш да го изчислиш и като добавиш към таблицата формулата ϕ, която ще е конюнкция на трите условия. Така тя ще изглежда: ϕ = ((M ⇒ J) ∧ (P ∨ (M ⇒ ¬J)) ∧ (P ⇔ (¬M ∨ ¬J))). Така изразяваме това, което искаме – да са изпълнени всички формули (всички условия). Тогава таблицата ще изглежда така:
Още няколко задачи по табличния метод
Тъй като съм написал програма, която може от дадена формула автоматично да състави цялата таблица, трябва да я използвам както подобава и затова следват още няколко решени формули:
Формула: ((a ∧ ¬b) ∨ (b ∧ (b ⇒ a))). Таблица:
Формула: (a ∨ ¬a) ⇔ (b ∧ ¬b). Таблица:
Формула: ¬(a ∨ b) ⇔ (¬b ∧ ¬a). Таблица:
Формула: ϕ = (¬p ⇔ (q ∧ r)) ⇒ (p ∨ ¬(p ∧ q)). Таблица:
Формула: ϕ = ¬(p ⇔ ¬q) ∧ (r ⇒ ¬p) ∧ (p ∨ r). Таблица:
Глави: Съждителна логика, Истинност на формулите, Задачи по съждителна логика