'$VAR'(N)
,
where N is an integer starting from FirstN.
FirstN is used as the value of N for the first
variable in Term (starting from the left). The second distinct
variable in Term is given a value of N satisfying
"N is FirstN + 1" and so on. The last variable in Term
has the value LastN-1.
'$VAR'(<int>)
where <int>
is not less than
FirstN are uniformly replaced by variables. '$VAR''
subterms with the same integer are replaced by the same variable.
Also a version unnumbervars/2 is provided which calls unnumbervars/3 with the second parameter set to 0.
Examples:
| ?- subsumes_chk(a(X,f,Y,X),a(U,V,b,S)). no | ?- subsumes_chk(a(X,Y,X),a(b,b,b)). X = _595884 Y = _595624
variant(Term1, Term2) :- subsumes_chk(Term1, Term2), subsumes_chk(Term2, Term1). |