Why is this prolog query both true and false?
(Note: this answer is somewhat of a guess) Consider how Prolog determines whether f(a,c) is true or not. It checks the first rule, f(a,b), and doesn’t find a match, but the second rule, f(a,c) matches. Therefore, f(a,c) is true. Furthermore, since there are no more rules for f, there is no point in allowing a … Read more