Sustitución de prólogos
¿Cómo puedo reemplazar una lista con otra lista que contenga la variable que se va a reemplazar? por ejemplo
rep([x, d, e, z, x, z, p], [x=z, z=x, d=c], R).
R = [z, c, e, x, z, x, p]
La x a la z y la z no cambia después de que se haya reemplazado.
Hasta ahora solo hice el que no tiene la lista
rep([], _, []).
rep(L1, H1=H2, L2) :-
rep(L1, H1, H2, L2).
rep([],_,_,[]).
rep([H|T], X1, X2, [X2|L]) :-
H=X1,
rep(T,X1,X2,L),
!.
rep([H|T],X1,X2,[H|L]) :-
rep(T,X1,X2,L).