Obținerea tuturor soluțiilor: ?- append(L1, L2, [1,2,3,4]). L1 = [], L2 = [1, 2, 3, 4] ; L1 = [1], L2 = [2, 3, 4] ; L1 = [1, 2], L2 = [3, 4] ; L1 = [1, 2, 3], L2 = [4] ; L1 = [1, 2, 3, 4], L2 = [] ; false. ?- findall((L1, L2), (append(L1, L2, [1,2,3,4,5]), L1=[_|_], L2\=[]), Sols). Sols = [([1], [2, 3, 4, 5]), ([1, 2], [3, 4, 5]), ([1, 2, 3], [4, 5]), ([1, 2, 3, 4], [5])]. ?- forall(member(X, [1,2,3,4,5]), ( X > 0, X < 6)). true. ?- forall(member(X, [1,2,3,4,5]), ( X > 0, X < 5)). false. Write și format: ?- min(1,2,X), write(X). 1 X = 1 . ?- min(1,2,X), format("X este ~w ~n X chiar este ~w ~n Atat~n", [X, X]). X este 1 X chiar este 1 Atat X = 1 ;