I need to define a predicate acyclic/1 that takes a graph in as input and determine if that graph is acyclic. So from my understanding
graph1(a,b).
graph1(b,c).
graph1(c,a).
Will return no and
graph2(a,b).
graph2(b,c).
will return yes
I made a predicate to determine if 2 nodes in a graph are connected and if so they will return yes.
isConnected(X,Y) :- a(X,Z), isConnected(Z,Y).
is there a way that I can use this to determine if a graph is acyclic?
I do not want to use any predefined predicates.