Ответ в теме: Расчет логической схемы на Prolog

      Комментарии к записи Ответ в теме: Расчет логической схемы на Prolog отключены
#2905

Я не понял что за схема изображена на рисунке, но двухвходовое логическое ИЛИ можно реализовать например так:

or(1, 1, 1).
or(1, 0, 1).
or(0, 1, 1).
or(0, 0, 0).

Если при этом вам нужно получить все варианты входных воздействий для известного выходного,- достаточно просто вызвать предикат or и передать ему известное значение:
solve(Output):-
  or(X1, X2, Output),
  write((X1, X2)), nl, fail; !.

В данном случае после вывода входных значений выполняется оператор fail, который приводит к запуску механизма поиска с возвратами. Когда варианты кончатся – выполнится код, расположенный после точки с запятой, там расположено отсечение. Более подробно про операторы отсечения и fail.