Я пытаюсь использовать файл сценария PROLOG с правилами
в пакетном режиме (не в интерактивном режиме).
Использование swi-prolog в Ubuntu Linux,
хорошо работает в интерактивном режиме Пролога.
Но как запустить пролог в пакетном режиме?(не интерактивный режим).
Итак, цель состоит в том, чтобы вызвать swipl с аргументом запроса
и посмотреть результаты
как выходные данные в терминале.
В идеале,
также видеть в выходных данных терминала, какие правила являются «истиной» для каждого входного запроса.
Мой пролог db.pl file:
likes(john,jane).
likes(jane,john).
likes(jack,jane).
% and a single Rule below:
friends(X,Y) :- likes(X,Y) , likes(Y, X).
Я попытался запустить в Терминале:
swipl -s db.pl -t friends(X,Y)
, где:
friends(X,Y)
- это цель / запрос, который я хочу оценить с помощью Правила в db.pl.
Ожидаемый результат:
john,jane
Идеальный вывод с "истинными" номерами правил:
john,jane,Rule01
Фактический результат:
bash: syntax error near unexpected token `('
Не можетнайдите простой пример кода
о том, как достичь этой цели в прологе ...