:- dynamic base/2.go :- retractall(base(X, Y)), encore.encore :- nl, write('Lecture : '), read(Lu), traite(Lu).traite($) :- !, write('Au-revoir'), nl.traite(Exp) :- eval(Exp, Val), nl, write('Valeur de '), write(Exp),		write(' = '), write(Val), nl, encore.eval(Exp, Exp) :- number(Exp), !.eval(Exp, Val) :- atomic(Exp), !, valbase(Exp, Val).eval(Exp, Val) :- functor(Exp, F, 2), 				arg(1, Exp, Ag), arg(2,Exp,Ad),		  		eval(Ag, Valg), eval(Ad, Vald),		  		T =..[F, Valg, Vald], Val is T.valbase(Var, Val) :- base(Var, Val), !.valbase(Var, Val) :- nl, write('Valeur de '), write(Var), write(' ? '),			read(Val), asserta(base(Var, Val)).