0
在Prolog程序的規定如下:Prolog的削減和查詢結果
town(a).
town(b).
town(c).
town(d).
dam(e).
dam(f).
link(a,b).
link(a,c).
link(c,d).
link(b,d).
link(b,c).
link(c,e).
link(a,e).
link(d,f).
neighbour(X,Y):- link(X,Y) ; link(Y,X).
這些是從以下查詢正確的結果:
查詢1 - ?-dam(X), once(neighbour(X,Y)),town(Y).
結果:X=e Y=c; X=f Y=d
查詢2 - ?-dam(X), neighbour(X,Y),!,town(Y).
結果:X=e Y=c
查詢3 - ?-dam(X),!,neighbour(X,Y),town(Y).
結果:X=e Y=c; X=e Y=a
我猜這是作業。你可以在任何prolog系統中自己嘗試。 – gusbro
系統對所有三個都返回「否」,我幾乎可以肯定是不正確的。 –
你期待的結果是正確的。如果它對這些查詢返回「否」,我敢打賭你沒有諮詢(加載)你的代碼。 – gusbro