Code Prolog de l'algorithme simple retour arrière

simpleRetourArriere(Affectation) :-
variables(Variables),
simpleRetourArriere(Variables,[],Affectation).

simpleRetourArriere([],_,[]).
simpleRetourArriere([X:DX|Variables],AffectationPartielle,[(X,V)|Solution]) :-
member(V,DX),
teste((X,V),AffectationPartielle),
simpleRetourArriere(Variables,[(X,V)|AffectationPartielle],Solution).

teste(_,[]).
teste(Ai,[Aj|L]) :-
consistants(Ai,Aj),
teste(Ai,L).