在谓词Prolog中创建函数检查对象

时间:2017-11-11 19:18:20

标签: prolog

我最近开始学习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如果元素不是顶点,如何使此功能打印消息?

1 个答案:

答案 0 :(得分:0)

这样的东西
checkEdges(edge(X,Y,_)) :-
  ( vertex(X), vertex(Y) ->
    true
  ; write('not vertices'),nl ).