Вопросы по теме 'prolog-toplevel'

Определение предикатов в SICStus Prolog/SWI-Prolog REPL
Я читаю http://cs.union.edu/~striegnk/learn-prolog-now/html/node3.html#subsec.l1.kb1 , но у меня возникли проблемы с запуском следующего предиката: SICStus 4.0.1 (x86-win32-nt-4): Tue May 15 21:17:49 WEST 2007 | ?- woman(mia). ! Existence error...
2298 просмотров
schedule 21.07.2023

как обрабатывать списки пролога?
У меня есть предикат m(L,L) , и я хочу, чтобы он возвращал список, который он принимает. Код такой: m([],[]). m([H|T],[H|L]) :- m(T,L). Когда я пытаюсь использовать его с этим примером: m([1,2,3,4,5,6,7,8,9,10],L) Я получаю это как...
430 просмотров
schedule 18.05.2023

Каковы плюсы и минусы использования ручной итерации списка по сравнению с рекурсией через сбой
Я сталкиваюсь с этим все время, и я никогда не уверен, каким образом атаковать это. Ниже приведены два метода обработки некоторых фактов сезона. Я пытаюсь выяснить, использовать ли метод 1 или 2, и каковы плюсы и минусы каждого, особенно большого...
2096 просмотров
schedule 17.03.2022

Членство в списке пролога, возвращено несколько результатов
У меня есть стандартная процедура определения принадлежности к списку: member(X, [X|_]). member(X, [_|T]) :- member(X, T). Я не понимаю, почему, когда задаю следующий запрос: ?- member(a,[a,b]). Результат True; False. Я...
3819 просмотров
schedule 04.11.2023

Как изменить «write_options» в прологе, чтобы напечатать длинный список?
По умолчанию SICStus Prolog отображает только первые десять элементов списка (после которых отображается ... ). Как заставить Prolog отображать все элементы длинного списка? Я пытался: set_prolog_flag(toplevel_print_options,...
587 просмотров
schedule 21.08.2022

Получите несколько решений в SWI-Prolog
Я новичок в SWI-Prolog (но имею некоторый опыт работы с Borland Prolog), и я столкнулся со странным поведением следующего тестового кода: test(10). test(1). Ожидается, что запрос ?-test(A) получит 2 решения, что-то вроде A = 10; A = 1 ....
5173 просмотров
schedule 28.04.2022

усечение списка: set_prolog_flag(toplevel_print_options, [max_depth(100)]) не имеет эффекта
На все вопросы о том, как отключить усечение списка, был ответ, чтобы использовать некоторые варианты этого: ?- set_prolog_flag(toplevel_print_options, [quoted(true), portray(true), max_depth(100), priority(699)]). У меня это не работает, см....
157 просмотров
schedule 20.05.2023

Почему `X=1,X=1.` печатает `X=1` вместо `true`
Я изучаю основы Пролога, и мне интересно, почему следующая строка печатает X = 1 вместо true ? ?- X=1,1=X. X = 1. -- Первое X=1 в моей команде — это присваивание, а второе будет проверкой на равенство.
57 просмотров
schedule 19.06.2023

Вывод пролога на Mac
У меня проблема с использованием пролога на Mac, я понял, как запустить его с помощью SWI-Prolog, но когда я запускаю его, он выдает ошибку и не дает ожидаемого результата Ожидаемый результат: Гомер, Барт male(homer). male(bart)....
41 просмотров
schedule 04.03.2022