0

我正在尝试编译和查询此代码:

    
got('no').

inMap(X,Y):- print("From inMap").

mask(1,3).
doctor(2,1).

verify(X,Y):-
    (inMap(X,Y), ((\+(got('mask'); got('vaccine')),farCovid(X,Y)); True), 
    (print(X), print(Y); True),
    (doctor(X,Y), print(X), print(Y); True)).

当我的查询是:?-验证(2,1)。

它返回:

"From inMap""From farCovid"2121
true .

但是当我的查询是:?-验证(1,1)。

它返回:

"From inMap""From farCovid"11
ERROR: Arguments are not sufficiently instantiated
ERROR: In:
ERROR:   [10] verify(1,1)
ERROR:    [9] <user>

有人可以向我解释这里有什么问题吗,难道不应该在第二个查询中将 (1,1) 传递给医生 (X,Y) 并返回 false 吗?

提前致谢!

4

0 回答 0