ошибка инстанции в индомене - PullRequest
0 голосов
/ 20 апреля 2019

У меня есть решатель на плате, его общая форма решателя нравится ниже:

solver(Board):-
    constraints(Board),
    search(Board).

Он передает предикат ограничения, но в поисковой части есть ошибка, которая приведена ниже:

search(Board):-
    term_variables(Board,Vars),
    sd:labeling(Vars).

Ошибка возникает в предикате маркировки, и ошибка:

ошибка создания экземпляра в индомене (_258 ​​{[9 .. 13, 15 ... 20]})

Так в чем проблема?(Я не вижу никакой проблемы в предикате индомена).

1 Ответ

0 голосов
/ 26 апреля 2019

Как упомянуто @jschimpf в комментарии, жизненно важным моментом здесь является , смешивание функций двух библиотек может быть невозможным . Следовательно, безопасный код поощряется для использования тех же возможностей той же библиотеки, что и возможный. То же самое происходит и здесь. constraint(Board) с использованием #= (в виде целочисленной приостановки) из библиотеки ic, но в labeling код пытается использовать библиотеку sc. Это источник проблемы.

Вы должны заметить, что это может быть одной из причин этого сообщения об ошибке.

...