我试图在Prolog中使用R& N的AI教科书来解决独角兽问题,但是在调用我的查询后我立即得到了一个未被捕获的异常(我知道这可以做一个跟踪)。
magical:-
forall(
( fd_domain_bool([Immortal, Mythical, Mammal, Horned, Magical]),
fd_labeling([Immortal, Mythical, Mammal, Horned, Magical])
),
( (immortal#==>(mythical))
; (#\mythical#==>(#\immortal#/\mammal))
; (horned#==>immortal#\/mammal)
; (magical#==>horned)
)).
引起异常的原因是什么?我尝试重新格式化参数,使得fd_domain_bool和fd_labeling之后的所有内容都是一个参数,这个实现将每一行作为自己的参数,并将所有内容作为forall()中的一个参数。