2012-04-09 3 views
0

Я застрял в течение очень долгого времени с ошибкой пролога в моей домашней работе.Пролог, дающий ошибку создания ошибки

Я пытаюсь сделать дополнение, используя is/2 и это всегда приводит к:

++Error[XSB/Runtime/P]: [Instantiation] ++Error[XSB]: [Runtime/C] Uninstantiated 
argument of evaluable function +/2 
    Goal: _Var + 2, probably as 2nd arg of is/2 

Любой указатель очень поможет мне в выполнении моей домашней работы.

ответ

1

Проблема заключается в том, что когда Prolog пытается вычислить значение Cost2, значение F остается неизвестным, и поэтому попытка добавления приводит к ошибке создания. Вы должны убедиться, что F является основным значением при достижении добавления.

+0

Но, когда я пытаюсь назначить значение F непосредственно вызову функции вместо Cost2, это F + Cost1, он правильно подбирает значение F. – stackuser

+0

Как я уже объяснил, известно ли значение F, дополнение работает отлично , Он сообщает об ошибке, только если значение F неизвестно. –