node(F,Blank) :- def(F,L),  length(L,A), functor(Blank,F,A).

slot(F,Name,X,Y) --> 
	{def(F,Names)}, 
	join(F,Name,Names,X,Y).
join(F,Name,Names,Old,New,Term1,Term2) :- 
	length(Names,Arity),
	length(L1,Arity), 
	nth0(Pos,Names,Name),
	length(Before,Pos), 
	append(Before,[Old|After],L1), 
	append(Before,[New|After],L2), 
	Term1 =.. [F|L1], 
	Term2 =.. [F|L2]. 
