foo :- inc(X, Y), % Implicit RELATION. X = zero, % MATCH X against the atom zero, impliclity match Y. something(X, Y). % same as something(zero, succ(zero)). bar :- inc(X, Y), % Same implicit relation. Y = succ(zero), % Implicitly match X against zero. something(X, Y). % same as something(zero, succ(zero)).