Si queremos invertir una lista en prolog lo que podemos hacer es utilizar el predicado union del post anterior y hacer lo siguiente :
inversa([], []).
inversa([H|T], L) :-
inversa(T, IT),
union(IT, [H], L).
Lo probamos :
inversa([1,2,3,4], X)
X = [4, 3, 2, 1]