indomain中的实例化错误

时间:2019-04-20 15:04:31

标签: prolog eclipse-clp

我有一个求解器,其求解器的一般形式如下:

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

它通过了约束谓词,但是下面的搜索部分出现错误:

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

该错误在标签谓词中发生,并且错误是:

  

indomain实例化错误(_258 {[9 .. 13,15 .. 20]})

那是什么问题? (我看不到indomain谓词中的任何问题)。

1 个答案:

答案 0 :(得分:0)

正如@jschimpf在评论中提到的那样,这里的重点是可能无法混合两个库的功能。因此,安全代码被提升为尽可能使用相同库的相同功能。同样的事情在这里发生。 constraint(Board)使用#=库中的ic(作为整数暂停),但是在labeling中,代码尝试使用sc库。这就是问题的根源。

您应该注意,这可能是导致此错误消息的原因之一。