Распознавание дизъюнкции - Prolog

Узнай цену своей работы

Формулировка задачи:

Здравствуйте помогите пожалуйста решить эти задачи: 1)Определим операторы: :- op( 100, fy, ~). :- op( 110, xfy, &). :- op( 120, xfy, v). Булева формула есть терм, определяемый следующим образом: константы true и false - булевы формулы; если X и Y - булевы формулы, то и X v Y, X & Y, ~X - булевы формулы, здесь v и & - бинарные инфиксные опера-торы дизъюнкции и конъюнкции, а ~ - унарный оператор отрицания. Напишите программу, распознающую логические формулы в дизъюнктивной нормальной форме, т.е. форму-лы, являющиеся дизъюнкцией конъюнкций литералов, где литерал - атомарная формула или ее отрицание. 2)Определим операторы: :- op( 100, fy, ~). :- op( 110, xfy, &). :- op( 120, xfy, v). Булева формула есть терм, определяемый следующим образом: константы true и false - булевы формулы; если X и Y - булевы формулы, то и X v Y, X & Y, ~X - булевы формулы, здесь v и & - бинарные инфиксные опера-торы дизъюнкции и конъюнкции, а ~ - унарный оператор отрицания. Напишите программу, задающую отношение negation_inward(+F1,-F2), которое выполнено, если логическая формула F2 получается из логической формулы F1 внесением всех операторов отрицания внутрь конъюнкций и дизъюнкций. Подсказка. Вы должны написать по одному правилу для каждого следующего случая: (для краткости записи используем обозначения из математической логики) 1. Если исходная формула имеет вид true или false, то ответ совпадает с исходной формулой. 2. Если исходная формула имеет вид X или X, где X есть атом, то ответ совпадает с исходной форму-лой. 3. Если исходная формула имеет вид X, то результат равен рекурсивному применению предиката ne-gation_inward для X. 4. Если исходная формула имеет вид X & Y, то результат равен конъюнкции рекурсивных вызовов пре-диката negation_inward для X и Y. 5. Если исходная формула имеет вид X  Y, то результат равен дизъюнкции рекурсивных вызовов пре-диката negation_inward для X и Y. 6. Если исходная формула имеет вид (X  Y), то результат равен конъюнкции рекурсивных вызовов предиката negation_inward для X и Y (закон де Моргана). 7. Если исходная формула имеет вид (X & Y), то результат равен дизъюнкции рекурсивных вызовов предиката negation_inward для X и Y (закон де Моргана).

Решение задачи: «Распознавание дизъюнкции»

textual
Листинг программы
check((a v b v ~c) v d v k & l).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы