У меня есть этот предикат, который я не могу заставить работать.
Предикат следует использовать следующим образом: вы даете предикату список вещей (KnowledgeList) и необъявленную переменную (ExtractedList).
Затем предикат должен продолжить заполнение ExtractedList.
Чтобы заполнить ExtractedList, он перебирает элементы KnowledgeList,
создает новый список извлеченных вещей и добавляет этот список в ExtractedList.
Я знаю, что, возможно, мне следует использовать рекурсию, чтобы решить эту проблему, но сейчас я чувствую себя в тупике.
extractedKnowledge(KnowledgeList, ExtractedList) :-
list(KnowledgeList),
ExtractedList = [],
length(KnowledgeList,ListLength),
for(X,1,ListLength),
nth(X,KnowledgeList,ListElement),
...?