我正在检查图表是否已连接,并且由于某种原因在它应该为真时变得错误。
allConnected([]).
allConnected(A|L) :- checkConnect(A,L), allConnected(L).
checkConnect([],[]).
checkConnect(X, Head|Y) :- isConnected(X,Head), checkConnect(X,Y).
isConnected(X,Y) :- edge(X,Y); edge(Y,X).
edge(a,b).
edge(b,c).
edge(c,a).
我正在为我的谓词做的是检查 allConnected([a,b,c]) 中的每个节点是否都已连接。我应该是真实的,但无法查明我的错误,我尝试使用跟踪,但它没有帮助。