Merge pull request #1754 from triska/dif
ENHANCED: more compact definition of dif/2
This commit is contained in:
@@ -59,16 +59,13 @@ verify_attributes(Var, Value, Goals) :-
|
|||||||
dif(X, Y) :-
|
dif(X, Y) :-
|
||||||
X \== Y,
|
X \== Y,
|
||||||
( X \= Y -> true
|
( X \= Y -> true
|
||||||
; ( term_variables(X, XVars),
|
; term_variables(dif(X,Y), Vars),
|
||||||
term_variables(Y, YVars),
|
dif_set_variables(Vars, X, Y)
|
||||||
dif_set_variables(XVars, X, Y),
|
|
||||||
dif_set_variables(YVars, X, Y)
|
|
||||||
)
|
|
||||||
).
|
).
|
||||||
|
|
||||||
gather_dif_goals(_, []) --> [].
|
gather_dif_goals(_, []) --> [].
|
||||||
gather_dif_goals(V, [(X \== Y) | Goals]) -->
|
gather_dif_goals(V, [(X \== Y) | Goals]) -->
|
||||||
( { term_variables(X, [V0 | _]),
|
( { term_variables(X-Y, [V0 | _]),
|
||||||
V == V0 } ->
|
V == V0 } ->
|
||||||
[dif:dif(X, Y)]
|
[dif:dif(X, Y)]
|
||||||
; []
|
; []
|
||||||
|
|||||||
Reference in New Issue
Block a user