我最近开始学习Prolog,我对谓词和函数有疑问。如何编写一个函数来检查谓词中的对象是否在另一个谓词中例如:
vertex(a).
edge(l,k,-1).
edge(k,l,4).
edge(a,z,-2).
checkEdges(edge(X,Y,_)) :- vertex(X),vertex(Y)
P.S如果元素不是顶点,如何使此功能打印消息?
答案 0 :(得分:0)
像
这样的东西checkEdges(edge(X,Y,_)) :-
( vertex(X), vertex(Y) ->
true
; write('not vertices'),nl ).