add term variables

This commit is contained in:
Mark Thom
2018-09-24 23:33:47 -06:00
parent 5e30fa6264
commit 4cf1aa0d8f
6 changed files with 70 additions and 33 deletions

19
src/prolog/lib/terms.pl Normal file
View File

@@ -0,0 +1,19 @@
:- module(terms, [term_variables/2, numbervars/2, numbervars/3]).
term_variables(Term, Vars) :- '$term_variables'(Term, Vars).
numbervars(Term, N) :-
integer(N),
term_variables(Term, Vars),
numberlist(Vars, N, N1).
numbervars(Term, N0, N) :-
integer(N0),
integer(N),
term_variables(Term, Vars),
numberlist(Vars, N0, N).
numberlist([], N,N).
numberlist(['$VAR'(N0)|Vars], N0,N) :-
N1 is N0+1,
numberlist(Vars, N1,N).