diff --git a/tut12/aufgabe1.pro b/tut12/aufgabe1.pro
new file mode 100644
index 0000000000000000000000000000000000000000..269c5b874763a72a74bb0e03a3f8d67668b8b706
--- /dev/null
+++ b/tut12/aufgabe1.pro
@@ -0,0 +1,10 @@
+increment(leaf(X), leaf(s(X))).
+increment(node(L, N, R), node(IncL, s(N), IncR)) :- increment(L, IncL),
+  increment(R, IncR).
+
+myAppend([], YS, YS).
+myAppend([X|XS], YS, [X|Res]) :- myAppend(XS, YS, Res).  
+
+inorder(leaf(X), [X]).
+inorder(node(L, N, R), Res) :- inorder(L, LRes), inorder(R, RRes),
+  myAppend(LRes, [N|RRes], Res).
diff --git a/tut12/aufgabe7.pro b/tut12/aufgabe7.pro
new file mode 100644
index 0000000000000000000000000000000000000000..d9d3fe739ea67342ec189b1a79152e6bc9c44d87
--- /dev/null
+++ b/tut12/aufgabe7.pro
@@ -0,0 +1,2 @@
+squares(1, [1]).
+squares(N, [NN,T2|R]) :- N > 1, T is N-1, squares(T, [T2|R]), NN is T2 + 2*T + 1.