% SWI Prolog % 0 = 0, n(0) = 1, n(n()) = 2... % scitani plus(0, X, X). plus(n(A), B, n(AB)) :- plus(A, B, AB). % nasobeni times(0, X, 0). times(n(A), B, C) :- times(A, B, Z), plus(Z, B, C). % je toto seznam? list([]). list([H|T]) :- list(T). % je prvkem seznamu? member(X, [X|T]). member(X, [Y|T]) :- X \=Y, member(X, T). % zretezeni append([], X, X). append([X|T], Y, [X|Z]) :- append(T, Y, Z).