(0) Obligation:
Clauses:
minus(X, Y, Z) :- ','(f(X, 0), ','(!, =(Z, 0))).
f(X, Y) :- ','(!, =(X, Y)).
f(X, Y) :- f(X, Y).
=(X, X).
Query: minus(g,g,a)
(1) BuiltinConflictTransformerProof (EQUIVALENT transformation)
Renamed defined predicates conflicting with built-in predicates [PROLOG].
(2) Obligation:
Clauses:
minus(X, Y, Z) :- ','(f(X, 0), ','(!, user_defined_=(Z, 0))).
f(X, Y) :- ','(!, user_defined_=(X, Y)).
f(X, Y) :- f(X, Y).
user_defined_=(X, X).
Query: minus(g,g,a)
(3) PrologDeterminacyProcessorProof (EQUIVALENT transformation)
The root node satisfies the determinacy criterion.
(4) YES