logical-purity

diferente / 2 - ¿existe una definición pura y determinada?

different(Xs, Ys) :- member(X, Xs), non_member(X, Ys). different(Xs, Ys) :- member(Y, Ys), non_member(Y, Xs). M ... ]) tiene éxito. También podría fallar. Por lo tanto, una solución que falla para ambos está bien (tal vez incluso más fina).

¿Qué uso tiene if / 3?

El predicado if_/3 parece ser bastante popular entre los pocos contribuyentes principales en la parte Prolog de Stack Overfl ... use este predicado y proporcione poca explicación de por qué se usa, que un no experto en Prolog podría entender fácilmente.