/* concatena due liste - usa il cut*/
conc1([],L,L):- !.
conc1([X|L1],L2,[X|L3]) :- conc1(L1,L2,L3).
/* possibili goal:
?- conc([a,b,c],[e,f],L).
?- conc1([a,b,c],[e,f],L).
?- conc([a,b,c],X,L).
?- conc1([a,b,c],X,L).
?- conc(X,[a,b,c],L). /* attenzione questo va in loop */
?- conc1(X,[a,b,c],L).
?- conc(X,Y,[a,b,c]).
?- conc1(X,Y,[a,b,c]).
*/
Anche qui,come precedentemente per membro1, mi sembra che il Prolog risponda in modo sbagliato alle query con conc, diversamente dalle soluzioni, mentre con conc1 funziona.