I'm am trying to build a list that lists all the friends from and to two people in database. The problem I'm running into is that I get stuck in a infinite loop. This is what i have so far.
is_friends(From,To):- friend(From,To).
is_friends(From,To):- friend(From,Z), is_friends(Z,To).
Here is the database i'm working with,
friend(christian,margaret).
friend(christian,jas).
friend(christian,todd).
friend(christian,ji).
friend(christian,geener).
friend(todd,christian).
friend(todd,susan).
friend(susan,todd).
friend(jas,christian).
friend(jas,geener).
friend(jas,clark).
friend(geener,christian).
friend(geener,jas).
friend(geener,ji).
friend(clark,pat).
friend(pat,mike).
friend(pat,clark).
friend(margaret,christian).
friend(ji,christian).
friend(ji,geener).
I guess i'm wondering is there a way for prolog to remember that i already checked a database and can move on to the next one?
This is what my output is supposed to look like
is_friends(From, To).
L = [christian, jas, clark).