/* CMISCE : Miscellaneous routines (compiled on DEC10) UTILITY Lawrence Updated: 11 September 81 */ %%% CMISCE requires modules: LISTRO, FLAG cgensym(Prefix,V) :- gensym(Prefix,V), !. cgensym(_,_). concat(N1,N2,N3) :- name(N1,Ls1), name(N2,Ls2), append(Ls1,Ls2,Ls3), name(N3,Ls3). gensym(Prefix,V) :- var(V), atom(Prefix), flag(gensym(Prefix),N,N), N2 is N + 1, flag(gensym(Prefix),_,N2), concat(Prefix,N2,V), !.