Y различны, если они не
Х и Y не совпадают буквально;
Х и Y не сопоставимы;
значения арифметических выражений Х и Y не равны.
Давайте считать в данном случае, что Х и Y различны, если они не сопоставимы. Вот способ выразить это на Прологе:
Если Х и Y сопоставимы, то
цель
различны( X, Y) терпит неуспех
иначе цель
различны( X, Y) успешна.
Мы снова используем сочетание отсечения и
fail:
различны( X, X) :- !, fail.
различны( X, Y).
То же самое можно записать и в виде одного предложения:
различны( X, Y) :-
Х = Y, !, fail;
true.
Здесь
true - цель, которая всегда успешна.
Эти примеры показывают, что полезно иметь унарный предикат "not" (не), такой, что
nоt( Цель)
истинна, если
Цель не истинна. Определим теперь отношение
not следующим образом:
Если
Цель
успешна, то
not( Цель) неуспешна,
иначе
not( Цель)
успешна.
Это определение может быть записано на Прологе так:
not( Р) :-
P, !, fail;
true.
Начиная с этого момента мы будем предполагать, что
not - это встроенная прологовская процедура, которая ведет себя так, как это только что было определено. Будем также предполагать, что оператор
not определен как префиксный, так что цель
not( змея( X) )
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий