/* H = a T = [[a]] H = a T1 = [b] T2 = [c] H1 = a H2 = B H3 = [c] T = [] */ /* EXO3 */ app([],L,L). app([X|R],L,[X|M]) :- app(R,L,M). dernier(X,[X|[]]). dernier(X,[_|L]) :- dernier(X,L). mem(X,[X|_]). mem(X,[_|L]) :- mem(X,L). double([X|[]],[X|[X|[]]]). double([X|R],[X|[X|M]]) :- double(R,M). longueurpaire([]). longueurpaire([_|L]) :- longueurimpaire(L). longueurimpaire([_|[]]). longueurimpaire([_|L]) :- longueurpaire(L). rev([],[]). rev([X|L],D) :- rev(L,E), app(E,[X],D). prefixeapp(A,B) :- app(A,_,B). prefixe([],_). prefixe([X|A],[X|B]) :- prefixe(A,B).