MAYBE TRS: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} DP: Strict: { cons#(mark(X1), X2) -> cons#(X1, X2), cons#(ok(X1), ok(X2)) -> cons#(X1, X2), from#(mark(X)) -> from#(X), from#(ok(X)) -> from#(X), s#(mark(X)) -> s#(X), s#(ok(X)) -> s#(X), active#(cons(X1, X2)) -> cons#(active(X1), X2), active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> cons#(X, from(s(X))), active#(from(X)) -> from#(s(X)), active#(from(X)) -> from#(active(X)), active#(from(X)) -> s#(X), active#(from(X)) -> active#(X), active#(s(X)) -> s#(active(X)), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> sel#(X1, active(X2)), active#(sel(X1, X2)) -> sel#(active(X1), X2), active#(sel(s(N), cons(X, XS))) -> sel#(N, XS), active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> minus#(X1, active(X2)), active#(minus(X1, X2)) -> minus#(active(X1), X2), active#(minus(s(X), s(Y))) -> minus#(X, Y), active#(quot(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> quot#(X1, active(X2)), active#(quot(X1, X2)) -> quot#(active(X1), X2), active#(quot(s(X), s(Y))) -> s#(quot(minus(X, Y), s(Y))), active#(quot(s(X), s(Y))) -> minus#(X, Y), active#(quot(s(X), s(Y))) -> quot#(minus(X, Y), s(Y)), active#(zWquot(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> zWquot#(X1, active(X2)), active#(zWquot(X1, X2)) -> zWquot#(active(X1), X2), active#(zWquot(cons(X, XS), cons(Y, YS))) -> cons#(quot(X, Y), zWquot(XS, YS)), active#(zWquot(cons(X, XS), cons(Y, YS))) -> quot#(X, Y), active#(zWquot(cons(X, XS), cons(Y, YS))) -> zWquot#(XS, YS), sel#(X1, mark(X2)) -> sel#(X1, X2), sel#(mark(X1), X2) -> sel#(X1, X2), sel#(ok(X1), ok(X2)) -> sel#(X1, X2), minus#(X1, mark(X2)) -> minus#(X1, X2), minus#(mark(X1), X2) -> minus#(X1, X2), minus#(ok(X1), ok(X2)) -> minus#(X1, X2), quot#(X1, mark(X2)) -> quot#(X1, X2), quot#(mark(X1), X2) -> quot#(X1, X2), quot#(ok(X1), ok(X2)) -> quot#(X1, X2), zWquot#(X1, mark(X2)) -> zWquot#(X1, X2), zWquot#(mark(X1), X2) -> zWquot#(X1, X2), zWquot#(ok(X1), ok(X2)) -> zWquot#(X1, X2), proper#(cons(X1, X2)) -> cons#(proper(X1), proper(X2)), proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(from(X)) -> from#(proper(X)), proper#(from(X)) -> proper#(X), proper#(s(X)) -> s#(proper(X)), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> sel#(proper(X1), proper(X2)), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> minus#(proper(X1), proper(X2)), proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> quot#(proper(X1), proper(X2)), proper#(quot(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> zWquot#(proper(X1), proper(X2)), proper#(zWquot(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X2), top#(mark(X)) -> proper#(X), top#(mark(X)) -> top#(proper(X)), top#(ok(X)) -> active#(X), top#(ok(X)) -> top#(active(X))} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} EDG: { (active#(sel(X1, X2)) -> sel#(active(X1), X2), sel#(ok(X1), ok(X2)) -> sel#(X1, X2)) (active#(sel(X1, X2)) -> sel#(active(X1), X2), sel#(mark(X1), X2) -> sel#(X1, X2)) (active#(sel(X1, X2)) -> sel#(active(X1), X2), sel#(X1, mark(X2)) -> sel#(X1, X2)) (active#(quot(X1, X2)) -> quot#(active(X1), X2), quot#(ok(X1), ok(X2)) -> quot#(X1, X2)) (active#(quot(X1, X2)) -> quot#(active(X1), X2), quot#(mark(X1), X2) -> quot#(X1, X2)) (active#(quot(X1, X2)) -> quot#(active(X1), X2), quot#(X1, mark(X2)) -> quot#(X1, X2)) (active#(zWquot(cons(X, XS), cons(Y, YS))) -> zWquot#(XS, YS), zWquot#(ok(X1), ok(X2)) -> zWquot#(X1, X2)) (active#(zWquot(cons(X, XS), cons(Y, YS))) -> zWquot#(XS, YS), zWquot#(mark(X1), X2) -> zWquot#(X1, X2)) (active#(zWquot(cons(X, XS), cons(Y, YS))) -> zWquot#(XS, YS), zWquot#(X1, mark(X2)) -> zWquot#(X1, X2)) (from#(ok(X)) -> from#(X), from#(ok(X)) -> from#(X)) (from#(ok(X)) -> from#(X), from#(mark(X)) -> from#(X)) (s#(ok(X)) -> s#(X), s#(ok(X)) -> s#(X)) (s#(ok(X)) -> s#(X), s#(mark(X)) -> s#(X)) (active#(from(X)) -> active#(X), active#(zWquot(cons(X, XS), cons(Y, YS))) -> zWquot#(XS, YS)) (active#(from(X)) -> active#(X), active#(zWquot(cons(X, XS), cons(Y, YS))) -> quot#(X, Y)) (active#(from(X)) -> active#(X), active#(zWquot(cons(X, XS), cons(Y, YS))) -> cons#(quot(X, Y), zWquot(XS, YS))) (active#(from(X)) -> active#(X), active#(zWquot(X1, X2)) -> zWquot#(active(X1), X2)) (active#(from(X)) -> active#(X), active#(zWquot(X1, X2)) -> zWquot#(X1, active(X2))) (active#(from(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2)) (active#(from(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(quot(s(X), s(Y))) -> quot#(minus(X, Y), s(Y))) (active#(from(X)) -> active#(X), active#(quot(s(X), s(Y))) -> minus#(X, Y)) (active#(from(X)) -> active#(X), active#(quot(s(X), s(Y))) -> s#(quot(minus(X, Y), s(Y)))) (active#(from(X)) -> active#(X), active#(quot(X1, X2)) -> quot#(active(X1), X2)) (active#(from(X)) -> active#(X), active#(quot(X1, X2)) -> quot#(X1, active(X2))) (active#(from(X)) -> active#(X), active#(quot(X1, X2)) -> active#(X2)) (active#(from(X)) -> active#(X), active#(quot(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(minus(s(X), s(Y))) -> minus#(X, Y)) (active#(from(X)) -> active#(X), active#(minus(X1, X2)) -> minus#(active(X1), X2)) (active#(from(X)) -> active#(X), active#(minus(X1, X2)) -> minus#(X1, active(X2))) (active#(from(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X2)) (active#(from(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(sel(s(N), cons(X, XS))) -> sel#(N, XS)) (active#(from(X)) -> active#(X), active#(sel(X1, X2)) -> sel#(active(X1), X2)) (active#(from(X)) -> active#(X), active#(sel(X1, X2)) -> sel#(X1, active(X2))) (active#(from(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X2)) (active#(from(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(s(X)) -> active#(X)) (active#(from(X)) -> active#(X), active#(s(X)) -> s#(active(X))) (active#(from(X)) -> active#(X), active#(from(X)) -> active#(X)) (active#(from(X)) -> active#(X), active#(from(X)) -> s#(X)) (active#(from(X)) -> active#(X), active#(from(X)) -> from#(active(X))) (active#(from(X)) -> active#(X), active#(from(X)) -> from#(s(X))) (active#(from(X)) -> active#(X), active#(from(X)) -> cons#(X, from(s(X)))) (active#(from(X)) -> active#(X), active#(cons(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(cons(X1, X2)) -> cons#(active(X1), X2)) (proper#(from(X)) -> proper#(X), proper#(zWquot(X1, X2)) -> proper#(X2)) (proper#(from(X)) -> proper#(X), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(from(X)) -> proper#(X), proper#(zWquot(X1, X2)) -> zWquot#(proper(X1), proper(X2))) (proper#(from(X)) -> proper#(X), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(from(X)) -> proper#(X), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(from(X)) -> proper#(X), proper#(quot(X1, X2)) -> quot#(proper(X1), proper(X2))) (proper#(from(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(from(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(from(X)) -> proper#(X), proper#(minus(X1, X2)) -> minus#(proper(X1), proper(X2))) (proper#(from(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(from(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(from(X)) -> proper#(X), proper#(sel(X1, X2)) -> sel#(proper(X1), proper(X2))) (proper#(from(X)) -> proper#(X), proper#(s(X)) -> proper#(X)) (proper#(from(X)) -> proper#(X), proper#(s(X)) -> s#(proper(X))) (proper#(from(X)) -> proper#(X), proper#(from(X)) -> proper#(X)) (proper#(from(X)) -> proper#(X), proper#(from(X)) -> from#(proper(X))) (proper#(from(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(from(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(from(X)) -> proper#(X), proper#(cons(X1, X2)) -> cons#(proper(X1), proper(X2))) (top#(mark(X)) -> proper#(X), proper#(zWquot(X1, X2)) -> proper#(X2)) (top#(mark(X)) -> proper#(X), proper#(zWquot(X1, X2)) -> proper#(X1)) (top#(mark(X)) -> proper#(X), proper#(zWquot(X1, X2)) -> zWquot#(proper(X1), proper(X2))) (top#(mark(X)) -> proper#(X), proper#(quot(X1, X2)) -> proper#(X2)) (top#(mark(X)) -> proper#(X), proper#(quot(X1, X2)) -> proper#(X1)) (top#(mark(X)) -> proper#(X), proper#(quot(X1, X2)) -> quot#(proper(X1), proper(X2))) (top#(mark(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X2)) (top#(mark(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X1)) (top#(mark(X)) -> proper#(X), proper#(minus(X1, X2)) -> minus#(proper(X1), proper(X2))) (top#(mark(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X2)) (top#(mark(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1)) (top#(mark(X)) -> proper#(X), proper#(sel(X1, X2)) -> sel#(proper(X1), proper(X2))) (top#(mark(X)) -> proper#(X), proper#(s(X)) -> proper#(X)) (top#(mark(X)) -> proper#(X), proper#(s(X)) -> s#(proper(X))) (top#(mark(X)) -> proper#(X), proper#(from(X)) -> proper#(X)) (top#(mark(X)) -> proper#(X), proper#(from(X)) -> from#(proper(X))) (top#(mark(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X2)) (top#(mark(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X1)) (top#(mark(X)) -> proper#(X), proper#(cons(X1, X2)) -> cons#(proper(X1), proper(X2))) (active#(from(X)) -> from#(s(X)), from#(ok(X)) -> from#(X)) (active#(from(X)) -> from#(s(X)), from#(mark(X)) -> from#(X)) (active#(s(X)) -> s#(active(X)), s#(ok(X)) -> s#(X)) (active#(s(X)) -> s#(active(X)), s#(mark(X)) -> s#(X)) (proper#(s(X)) -> s#(proper(X)), s#(ok(X)) -> s#(X)) (proper#(s(X)) -> s#(proper(X)), s#(mark(X)) -> s#(X)) (top#(ok(X)) -> top#(active(X)), top#(ok(X)) -> top#(active(X))) (top#(ok(X)) -> top#(active(X)), top#(ok(X)) -> active#(X)) (top#(ok(X)) -> top#(active(X)), top#(mark(X)) -> top#(proper(X))) (top#(ok(X)) -> top#(active(X)), top#(mark(X)) -> proper#(X)) (cons#(ok(X1), ok(X2)) -> cons#(X1, X2), cons#(ok(X1), ok(X2)) -> cons#(X1, X2)) (cons#(ok(X1), ok(X2)) -> cons#(X1, X2), cons#(mark(X1), X2) -> cons#(X1, X2)) (sel#(mark(X1), X2) -> sel#(X1, X2), sel#(ok(X1), ok(X2)) -> sel#(X1, X2)) (sel#(mark(X1), X2) -> sel#(X1, X2), sel#(mark(X1), X2) -> sel#(X1, X2)) (sel#(mark(X1), X2) -> sel#(X1, X2), sel#(X1, mark(X2)) -> sel#(X1, X2)) (minus#(X1, mark(X2)) -> minus#(X1, X2), minus#(ok(X1), ok(X2)) -> minus#(X1, X2)) (minus#(X1, mark(X2)) -> minus#(X1, X2), minus#(mark(X1), X2) -> minus#(X1, X2)) (minus#(X1, mark(X2)) -> minus#(X1, X2), minus#(X1, mark(X2)) -> minus#(X1, X2)) (minus#(ok(X1), ok(X2)) -> minus#(X1, X2), minus#(ok(X1), ok(X2)) -> minus#(X1, X2)) (minus#(ok(X1), ok(X2)) -> minus#(X1, X2), minus#(mark(X1), X2) -> minus#(X1, X2)) (minus#(ok(X1), ok(X2)) -> minus#(X1, X2), minus#(X1, mark(X2)) -> minus#(X1, X2)) (quot#(mark(X1), X2) -> quot#(X1, X2), quot#(ok(X1), ok(X2)) -> quot#(X1, X2)) (quot#(mark(X1), X2) -> quot#(X1, X2), quot#(mark(X1), X2) -> quot#(X1, X2)) (quot#(mark(X1), X2) -> quot#(X1, X2), quot#(X1, mark(X2)) -> quot#(X1, X2)) (zWquot#(X1, mark(X2)) -> zWquot#(X1, X2), zWquot#(ok(X1), ok(X2)) -> zWquot#(X1, X2)) (zWquot#(X1, mark(X2)) -> zWquot#(X1, X2), zWquot#(mark(X1), X2) -> zWquot#(X1, X2)) (zWquot#(X1, mark(X2)) -> zWquot#(X1, X2), zWquot#(X1, mark(X2)) -> zWquot#(X1, X2)) (zWquot#(ok(X1), ok(X2)) -> zWquot#(X1, X2), zWquot#(ok(X1), ok(X2)) -> zWquot#(X1, X2)) (zWquot#(ok(X1), ok(X2)) -> zWquot#(X1, X2), zWquot#(mark(X1), X2) -> zWquot#(X1, X2)) (zWquot#(ok(X1), ok(X2)) -> zWquot#(X1, X2), zWquot#(X1, mark(X2)) -> zWquot#(X1, X2)) (active#(cons(X1, X2)) -> active#(X1), active#(zWquot(cons(X, XS), cons(Y, YS))) -> zWquot#(XS, YS)) (active#(cons(X1, X2)) -> active#(X1), active#(zWquot(cons(X, XS), cons(Y, YS))) -> quot#(X, Y)) (active#(cons(X1, X2)) -> active#(X1), active#(zWquot(cons(X, XS), cons(Y, YS))) -> cons#(quot(X, Y), zWquot(XS, YS))) (active#(cons(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> zWquot#(active(X1), X2)) (active#(cons(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> zWquot#(X1, active(X2))) (active#(cons(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(cons(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(quot(s(X), s(Y))) -> quot#(minus(X, Y), s(Y))) (active#(cons(X1, X2)) -> active#(X1), active#(quot(s(X), s(Y))) -> minus#(X, Y)) (active#(cons(X1, X2)) -> active#(X1), active#(quot(s(X), s(Y))) -> s#(quot(minus(X, Y), s(Y)))) (active#(cons(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> quot#(active(X1), X2)) (active#(cons(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> quot#(X1, active(X2))) (active#(cons(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X2)) (active#(cons(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(minus(s(X), s(Y))) -> minus#(X, Y)) (active#(cons(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> minus#(active(X1), X2)) (active#(cons(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> minus#(X1, active(X2))) (active#(cons(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2)) (active#(cons(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(sel(s(N), cons(X, XS))) -> sel#(N, XS)) (active#(cons(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> sel#(active(X1), X2)) (active#(cons(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> sel#(X1, active(X2))) (active#(cons(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2)) (active#(cons(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(cons(X1, X2)) -> active#(X1), active#(s(X)) -> s#(active(X))) (active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> s#(X)) (active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> from#(active(X))) (active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> from#(s(X))) (active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> cons#(X, from(s(X)))) (active#(cons(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> cons#(active(X1), X2)) (active#(minus(X1, X2)) -> active#(X1), active#(zWquot(cons(X, XS), cons(Y, YS))) -> zWquot#(XS, YS)) (active#(minus(X1, X2)) -> active#(X1), active#(zWquot(cons(X, XS), cons(Y, YS))) -> quot#(X, Y)) (active#(minus(X1, X2)) -> active#(X1), active#(zWquot(cons(X, XS), cons(Y, YS))) -> cons#(quot(X, Y), zWquot(XS, YS))) (active#(minus(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> zWquot#(active(X1), X2)) (active#(minus(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> zWquot#(X1, active(X2))) (active#(minus(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(quot(s(X), s(Y))) -> quot#(minus(X, Y), s(Y))) (active#(minus(X1, X2)) -> active#(X1), active#(quot(s(X), s(Y))) -> minus#(X, Y)) (active#(minus(X1, X2)) -> active#(X1), active#(quot(s(X), s(Y))) -> s#(quot(minus(X, Y), s(Y)))) (active#(minus(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> quot#(active(X1), X2)) (active#(minus(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> quot#(X1, active(X2))) (active#(minus(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(minus(s(X), s(Y))) -> minus#(X, Y)) (active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> minus#(active(X1), X2)) (active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> minus#(X1, active(X2))) (active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(sel(s(N), cons(X, XS))) -> sel#(N, XS)) (active#(minus(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> sel#(active(X1), X2)) (active#(minus(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> sel#(X1, active(X2))) (active#(minus(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X1), active#(s(X)) -> s#(active(X))) (active#(minus(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X1), active#(from(X)) -> s#(X)) (active#(minus(X1, X2)) -> active#(X1), active#(from(X)) -> from#(active(X))) (active#(minus(X1, X2)) -> active#(X1), active#(from(X)) -> from#(s(X))) (active#(minus(X1, X2)) -> active#(X1), active#(from(X)) -> cons#(X, from(s(X)))) (active#(minus(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> cons#(active(X1), X2)) (active#(zWquot(X1, X2)) -> active#(X1), active#(zWquot(cons(X, XS), cons(Y, YS))) -> zWquot#(XS, YS)) (active#(zWquot(X1, X2)) -> active#(X1), active#(zWquot(cons(X, XS), cons(Y, YS))) -> quot#(X, Y)) (active#(zWquot(X1, X2)) -> active#(X1), active#(zWquot(cons(X, XS), cons(Y, YS))) -> cons#(quot(X, Y), zWquot(XS, YS))) (active#(zWquot(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> zWquot#(active(X1), X2)) (active#(zWquot(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> zWquot#(X1, active(X2))) (active#(zWquot(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X1), active#(quot(s(X), s(Y))) -> quot#(minus(X, Y), s(Y))) (active#(zWquot(X1, X2)) -> active#(X1), active#(quot(s(X), s(Y))) -> minus#(X, Y)) (active#(zWquot(X1, X2)) -> active#(X1), active#(quot(s(X), s(Y))) -> s#(quot(minus(X, Y), s(Y)))) (active#(zWquot(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> quot#(active(X1), X2)) (active#(zWquot(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> quot#(X1, active(X2))) (active#(zWquot(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X1), active#(minus(s(X), s(Y))) -> minus#(X, Y)) (active#(zWquot(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> minus#(active(X1), X2)) (active#(zWquot(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> minus#(X1, active(X2))) (active#(zWquot(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X1), active#(sel(s(N), cons(X, XS))) -> sel#(N, XS)) (active#(zWquot(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> sel#(active(X1), X2)) (active#(zWquot(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> sel#(X1, active(X2))) (active#(zWquot(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(zWquot(X1, X2)) -> active#(X1), active#(s(X)) -> s#(active(X))) (active#(zWquot(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(zWquot(X1, X2)) -> active#(X1), active#(from(X)) -> s#(X)) (active#(zWquot(X1, X2)) -> active#(X1), active#(from(X)) -> from#(active(X))) (active#(zWquot(X1, X2)) -> active#(X1), active#(from(X)) -> from#(s(X))) (active#(zWquot(X1, X2)) -> active#(X1), active#(from(X)) -> cons#(X, from(s(X)))) (active#(zWquot(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> cons#(active(X1), X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> zWquot#(proper(X1), proper(X2))) (proper#(sel(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> quot#(proper(X1), proper(X2))) (proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> minus#(proper(X1), proper(X2))) (proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> sel#(proper(X1), proper(X2))) (proper#(sel(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(s(X)) -> s#(proper(X))) (proper#(sel(X1, X2)) -> proper#(X1), proper#(from(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(from(X)) -> from#(proper(X))) (proper#(sel(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> cons#(proper(X1), proper(X2))) (proper#(quot(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> zWquot#(proper(X1), proper(X2))) (proper#(quot(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> quot#(proper(X1), proper(X2))) (proper#(quot(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> minus#(proper(X1), proper(X2))) (proper#(quot(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> sel#(proper(X1), proper(X2))) (proper#(quot(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(s(X)) -> s#(proper(X))) (proper#(quot(X1, X2)) -> proper#(X1), proper#(from(X)) -> proper#(X)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(from(X)) -> from#(proper(X))) (proper#(quot(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> cons#(proper(X1), proper(X2))) (active#(sel(s(N), cons(X, XS))) -> sel#(N, XS), sel#(ok(X1), ok(X2)) -> sel#(X1, X2)) (active#(sel(s(N), cons(X, XS))) -> sel#(N, XS), sel#(mark(X1), X2) -> sel#(X1, X2)) (active#(sel(s(N), cons(X, XS))) -> sel#(N, XS), sel#(X1, mark(X2)) -> sel#(X1, X2)) (active#(quot(s(X), s(Y))) -> minus#(X, Y), minus#(ok(X1), ok(X2)) -> minus#(X1, X2)) (active#(quot(s(X), s(Y))) -> minus#(X, Y), minus#(mark(X1), X2) -> minus#(X1, X2)) (active#(quot(s(X), s(Y))) -> minus#(X, Y), minus#(X1, mark(X2)) -> minus#(X1, X2)) (active#(zWquot(cons(X, XS), cons(Y, YS))) -> quot#(X, Y), quot#(ok(X1), ok(X2)) -> quot#(X1, X2)) (active#(zWquot(cons(X, XS), cons(Y, YS))) -> quot#(X, Y), quot#(mark(X1), X2) -> quot#(X1, X2)) (active#(zWquot(cons(X, XS), cons(Y, YS))) -> quot#(X, Y), quot#(X1, mark(X2)) -> quot#(X1, X2)) (active#(minus(X1, X2)) -> minus#(X1, active(X2)), minus#(ok(X1), ok(X2)) -> minus#(X1, X2)) (active#(minus(X1, X2)) -> minus#(X1, active(X2)), minus#(mark(X1), X2) -> minus#(X1, X2)) (active#(minus(X1, X2)) -> minus#(X1, active(X2)), minus#(X1, mark(X2)) -> minus#(X1, X2)) (active#(quot(s(X), s(Y))) -> quot#(minus(X, Y), s(Y)), quot#(ok(X1), ok(X2)) -> quot#(X1, X2)) (active#(quot(s(X), s(Y))) -> quot#(minus(X, Y), s(Y)), quot#(mark(X1), X2) -> quot#(X1, X2)) (active#(quot(s(X), s(Y))) -> quot#(minus(X, Y), s(Y)), quot#(X1, mark(X2)) -> quot#(X1, X2)) (proper#(cons(X1, X2)) -> cons#(proper(X1), proper(X2)), cons#(ok(X1), ok(X2)) -> cons#(X1, X2)) (proper#(cons(X1, X2)) -> cons#(proper(X1), proper(X2)), cons#(mark(X1), X2) -> cons#(X1, X2)) (proper#(minus(X1, X2)) -> minus#(proper(X1), proper(X2)), minus#(ok(X1), ok(X2)) -> minus#(X1, X2)) (proper#(minus(X1, X2)) -> minus#(proper(X1), proper(X2)), minus#(mark(X1), X2) -> minus#(X1, X2)) (proper#(minus(X1, X2)) -> minus#(proper(X1), proper(X2)), minus#(X1, mark(X2)) -> minus#(X1, X2)) (proper#(zWquot(X1, X2)) -> zWquot#(proper(X1), proper(X2)), zWquot#(ok(X1), ok(X2)) -> zWquot#(X1, X2)) (proper#(zWquot(X1, X2)) -> zWquot#(proper(X1), proper(X2)), zWquot#(mark(X1), X2) -> zWquot#(X1, X2)) (proper#(zWquot(X1, X2)) -> zWquot#(proper(X1), proper(X2)), zWquot#(X1, mark(X2)) -> zWquot#(X1, X2)) (active#(minus(X1, X2)) -> active#(X2), active#(zWquot(cons(X, XS), cons(Y, YS))) -> zWquot#(XS, YS)) (active#(minus(X1, X2)) -> active#(X2), active#(zWquot(cons(X, XS), cons(Y, YS))) -> quot#(X, Y)) (active#(minus(X1, X2)) -> active#(X2), active#(zWquot(cons(X, XS), cons(Y, YS))) -> cons#(quot(X, Y), zWquot(XS, YS))) (active#(minus(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> zWquot#(active(X1), X2)) (active#(minus(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> zWquot#(X1, active(X2))) (active#(minus(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X2), active#(quot(s(X), s(Y))) -> quot#(minus(X, Y), s(Y))) (active#(minus(X1, X2)) -> active#(X2), active#(quot(s(X), s(Y))) -> minus#(X, Y)) (active#(minus(X1, X2)) -> active#(X2), active#(quot(s(X), s(Y))) -> s#(quot(minus(X, Y), s(Y)))) (active#(minus(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> quot#(active(X1), X2)) (active#(minus(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> quot#(X1, active(X2))) (active#(minus(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X2), active#(minus(s(X), s(Y))) -> minus#(X, Y)) (active#(minus(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> minus#(active(X1), X2)) (active#(minus(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> minus#(X1, active(X2))) (active#(minus(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X2), active#(sel(s(N), cons(X, XS))) -> sel#(N, XS)) (active#(minus(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> sel#(active(X1), X2)) (active#(minus(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> sel#(X1, active(X2))) (active#(minus(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X2), active#(s(X)) -> s#(active(X))) (active#(minus(X1, X2)) -> active#(X2), active#(from(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X2), active#(from(X)) -> s#(X)) (active#(minus(X1, X2)) -> active#(X2), active#(from(X)) -> from#(active(X))) (active#(minus(X1, X2)) -> active#(X2), active#(from(X)) -> from#(s(X))) (active#(minus(X1, X2)) -> active#(X2), active#(from(X)) -> cons#(X, from(s(X)))) (active#(minus(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> cons#(active(X1), X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(zWquot(cons(X, XS), cons(Y, YS))) -> zWquot#(XS, YS)) (active#(zWquot(X1, X2)) -> active#(X2), active#(zWquot(cons(X, XS), cons(Y, YS))) -> quot#(X, Y)) (active#(zWquot(X1, X2)) -> active#(X2), active#(zWquot(cons(X, XS), cons(Y, YS))) -> cons#(quot(X, Y), zWquot(XS, YS))) (active#(zWquot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> zWquot#(active(X1), X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> zWquot#(X1, active(X2))) (active#(zWquot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(quot(s(X), s(Y))) -> quot#(minus(X, Y), s(Y))) (active#(zWquot(X1, X2)) -> active#(X2), active#(quot(s(X), s(Y))) -> minus#(X, Y)) (active#(zWquot(X1, X2)) -> active#(X2), active#(quot(s(X), s(Y))) -> s#(quot(minus(X, Y), s(Y)))) (active#(zWquot(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> quot#(active(X1), X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> quot#(X1, active(X2))) (active#(zWquot(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(minus(s(X), s(Y))) -> minus#(X, Y)) (active#(zWquot(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> minus#(active(X1), X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> minus#(X1, active(X2))) (active#(zWquot(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(sel(s(N), cons(X, XS))) -> sel#(N, XS)) (active#(zWquot(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> sel#(active(X1), X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> sel#(X1, active(X2))) (active#(zWquot(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X)) (active#(zWquot(X1, X2)) -> active#(X2), active#(s(X)) -> s#(active(X))) (active#(zWquot(X1, X2)) -> active#(X2), active#(from(X)) -> active#(X)) (active#(zWquot(X1, X2)) -> active#(X2), active#(from(X)) -> s#(X)) (active#(zWquot(X1, X2)) -> active#(X2), active#(from(X)) -> from#(active(X))) (active#(zWquot(X1, X2)) -> active#(X2), active#(from(X)) -> from#(s(X))) (active#(zWquot(X1, X2)) -> active#(X2), active#(from(X)) -> cons#(X, from(s(X)))) (active#(zWquot(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> cons#(active(X1), X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> zWquot#(proper(X1), proper(X2))) (proper#(sel(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> quot#(proper(X1), proper(X2))) (proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> minus#(proper(X1), proper(X2))) (proper#(sel(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> sel#(proper(X1), proper(X2))) (proper#(sel(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(s(X)) -> s#(proper(X))) (proper#(sel(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(from(X)) -> from#(proper(X))) (proper#(sel(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> cons#(proper(X1), proper(X2))) (proper#(quot(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> zWquot#(proper(X1), proper(X2))) (proper#(quot(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> quot#(proper(X1), proper(X2))) (proper#(quot(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> minus#(proper(X1), proper(X2))) (proper#(quot(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> sel#(proper(X1), proper(X2))) (proper#(quot(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(s(X)) -> s#(proper(X))) (proper#(quot(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(from(X)) -> from#(proper(X))) (proper#(quot(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> cons#(proper(X1), proper(X2))) (active#(quot(s(X), s(Y))) -> s#(quot(minus(X, Y), s(Y))), s#(ok(X)) -> s#(X)) (active#(quot(s(X), s(Y))) -> s#(quot(minus(X, Y), s(Y))), s#(mark(X)) -> s#(X)) (proper#(zWquot(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> cons#(proper(X1), proper(X2))) (proper#(zWquot(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X2), proper#(from(X)) -> from#(proper(X))) (proper#(zWquot(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X)) (proper#(zWquot(X1, X2)) -> proper#(X2), proper#(s(X)) -> s#(proper(X))) (proper#(zWquot(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(zWquot(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> sel#(proper(X1), proper(X2))) (proper#(zWquot(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> minus#(proper(X1), proper(X2))) (proper#(zWquot(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> quot#(proper(X1), proper(X2))) (proper#(zWquot(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> zWquot#(proper(X1), proper(X2))) (proper#(zWquot(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> cons#(proper(X1), proper(X2))) (proper#(minus(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(from(X)) -> from#(proper(X))) (proper#(minus(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(s(X)) -> s#(proper(X))) (proper#(minus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> sel#(proper(X1), proper(X2))) (proper#(minus(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> minus#(proper(X1), proper(X2))) (proper#(minus(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> quot#(proper(X1), proper(X2))) (proper#(minus(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> zWquot#(proper(X1), proper(X2))) (proper#(minus(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> cons#(proper(X1), proper(X2))) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(from(X)) -> from#(proper(X))) (proper#(cons(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> s#(proper(X))) (proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> sel#(proper(X1), proper(X2))) (proper#(cons(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> minus#(proper(X1), proper(X2))) (proper#(cons(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> quot#(proper(X1), proper(X2))) (proper#(cons(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> zWquot#(proper(X1), proper(X2))) (proper#(cons(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X2)) (active#(quot(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> cons#(active(X1), X2)) (active#(quot(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X2), active#(from(X)) -> cons#(X, from(s(X)))) (active#(quot(X1, X2)) -> active#(X2), active#(from(X)) -> from#(s(X))) (active#(quot(X1, X2)) -> active#(X2), active#(from(X)) -> from#(active(X))) (active#(quot(X1, X2)) -> active#(X2), active#(from(X)) -> s#(X)) (active#(quot(X1, X2)) -> active#(X2), active#(from(X)) -> active#(X)) (active#(quot(X1, X2)) -> active#(X2), active#(s(X)) -> s#(active(X))) (active#(quot(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X)) (active#(quot(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X2)) (active#(quot(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> sel#(X1, active(X2))) (active#(quot(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> sel#(active(X1), X2)) (active#(quot(X1, X2)) -> active#(X2), active#(sel(s(N), cons(X, XS))) -> sel#(N, XS)) (active#(quot(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X2)) (active#(quot(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> minus#(X1, active(X2))) (active#(quot(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> minus#(active(X1), X2)) (active#(quot(X1, X2)) -> active#(X2), active#(minus(s(X), s(Y))) -> minus#(X, Y)) (active#(quot(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X2)) (active#(quot(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> quot#(X1, active(X2))) (active#(quot(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> quot#(active(X1), X2)) (active#(quot(X1, X2)) -> active#(X2), active#(quot(s(X), s(Y))) -> s#(quot(minus(X, Y), s(Y)))) (active#(quot(X1, X2)) -> active#(X2), active#(quot(s(X), s(Y))) -> minus#(X, Y)) (active#(quot(X1, X2)) -> active#(X2), active#(quot(s(X), s(Y))) -> quot#(minus(X, Y), s(Y))) (active#(quot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)) (active#(quot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> zWquot#(X1, active(X2))) (active#(quot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> zWquot#(active(X1), X2)) (active#(quot(X1, X2)) -> active#(X2), active#(zWquot(cons(X, XS), cons(Y, YS))) -> cons#(quot(X, Y), zWquot(XS, YS))) (active#(quot(X1, X2)) -> active#(X2), active#(zWquot(cons(X, XS), cons(Y, YS))) -> quot#(X, Y)) (active#(quot(X1, X2)) -> active#(X2), active#(zWquot(cons(X, XS), cons(Y, YS))) -> zWquot#(XS, YS)) (active#(sel(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> cons#(active(X1), X2)) (active#(sel(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X2), active#(from(X)) -> cons#(X, from(s(X)))) (active#(sel(X1, X2)) -> active#(X2), active#(from(X)) -> from#(s(X))) (active#(sel(X1, X2)) -> active#(X2), active#(from(X)) -> from#(active(X))) (active#(sel(X1, X2)) -> active#(X2), active#(from(X)) -> s#(X)) (active#(sel(X1, X2)) -> active#(X2), active#(from(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X2), active#(s(X)) -> s#(active(X))) (active#(sel(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> sel#(X1, active(X2))) (active#(sel(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> sel#(active(X1), X2)) (active#(sel(X1, X2)) -> active#(X2), active#(sel(s(N), cons(X, XS))) -> sel#(N, XS)) (active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> minus#(X1, active(X2))) (active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> minus#(active(X1), X2)) (active#(sel(X1, X2)) -> active#(X2), active#(minus(s(X), s(Y))) -> minus#(X, Y)) (active#(sel(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> quot#(X1, active(X2))) (active#(sel(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> quot#(active(X1), X2)) (active#(sel(X1, X2)) -> active#(X2), active#(quot(s(X), s(Y))) -> s#(quot(minus(X, Y), s(Y)))) (active#(sel(X1, X2)) -> active#(X2), active#(quot(s(X), s(Y))) -> minus#(X, Y)) (active#(sel(X1, X2)) -> active#(X2), active#(quot(s(X), s(Y))) -> quot#(minus(X, Y), s(Y))) (active#(sel(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> zWquot#(X1, active(X2))) (active#(sel(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> zWquot#(active(X1), X2)) (active#(sel(X1, X2)) -> active#(X2), active#(zWquot(cons(X, XS), cons(Y, YS))) -> cons#(quot(X, Y), zWquot(XS, YS))) (active#(sel(X1, X2)) -> active#(X2), active#(zWquot(cons(X, XS), cons(Y, YS))) -> quot#(X, Y)) (active#(sel(X1, X2)) -> active#(X2), active#(zWquot(cons(X, XS), cons(Y, YS))) -> zWquot#(XS, YS)) (proper#(quot(X1, X2)) -> quot#(proper(X1), proper(X2)), quot#(X1, mark(X2)) -> quot#(X1, X2)) (proper#(quot(X1, X2)) -> quot#(proper(X1), proper(X2)), quot#(mark(X1), X2) -> quot#(X1, X2)) (proper#(quot(X1, X2)) -> quot#(proper(X1), proper(X2)), quot#(ok(X1), ok(X2)) -> quot#(X1, X2)) (proper#(sel(X1, X2)) -> sel#(proper(X1), proper(X2)), sel#(X1, mark(X2)) -> sel#(X1, X2)) (proper#(sel(X1, X2)) -> sel#(proper(X1), proper(X2)), sel#(mark(X1), X2) -> sel#(X1, X2)) (proper#(sel(X1, X2)) -> sel#(proper(X1), proper(X2)), sel#(ok(X1), ok(X2)) -> sel#(X1, X2)) (active#(zWquot(X1, X2)) -> zWquot#(X1, active(X2)), zWquot#(X1, mark(X2)) -> zWquot#(X1, X2)) (active#(zWquot(X1, X2)) -> zWquot#(X1, active(X2)), zWquot#(mark(X1), X2) -> zWquot#(X1, X2)) (active#(zWquot(X1, X2)) -> zWquot#(X1, active(X2)), zWquot#(ok(X1), ok(X2)) -> zWquot#(X1, X2)) (active#(quot(X1, X2)) -> quot#(X1, active(X2)), quot#(X1, mark(X2)) -> quot#(X1, X2)) (active#(quot(X1, X2)) -> quot#(X1, active(X2)), quot#(mark(X1), X2) -> quot#(X1, X2)) (active#(quot(X1, X2)) -> quot#(X1, active(X2)), quot#(ok(X1), ok(X2)) -> quot#(X1, X2)) (active#(sel(X1, X2)) -> sel#(X1, active(X2)), sel#(X1, mark(X2)) -> sel#(X1, X2)) (active#(sel(X1, X2)) -> sel#(X1, active(X2)), sel#(mark(X1), X2) -> sel#(X1, X2)) (active#(sel(X1, X2)) -> sel#(X1, active(X2)), sel#(ok(X1), ok(X2)) -> sel#(X1, X2)) (active#(zWquot(cons(X, XS), cons(Y, YS))) -> cons#(quot(X, Y), zWquot(XS, YS)), cons#(mark(X1), X2) -> cons#(X1, X2)) (active#(zWquot(cons(X, XS), cons(Y, YS))) -> cons#(quot(X, Y), zWquot(XS, YS)), cons#(ok(X1), ok(X2)) -> cons#(X1, X2)) (active#(minus(s(X), s(Y))) -> minus#(X, Y), minus#(X1, mark(X2)) -> minus#(X1, X2)) (active#(minus(s(X), s(Y))) -> minus#(X, Y), minus#(mark(X1), X2) -> minus#(X1, X2)) (active#(minus(s(X), s(Y))) -> minus#(X, Y), minus#(ok(X1), ok(X2)) -> minus#(X1, X2)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> cons#(proper(X1), proper(X2))) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(from(X)) -> from#(proper(X))) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(from(X)) -> proper#(X)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(s(X)) -> s#(proper(X))) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> sel#(proper(X1), proper(X2))) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> minus#(proper(X1), proper(X2))) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> quot#(proper(X1), proper(X2))) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> zWquot#(proper(X1), proper(X2))) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> cons#(proper(X1), proper(X2))) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(from(X)) -> from#(proper(X))) (proper#(minus(X1, X2)) -> proper#(X1), proper#(from(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(s(X)) -> s#(proper(X))) (proper#(minus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> sel#(proper(X1), proper(X2))) (proper#(minus(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> minus#(proper(X1), proper(X2))) (proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> quot#(proper(X1), proper(X2))) (proper#(minus(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> zWquot#(proper(X1), proper(X2))) (proper#(minus(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> cons#(proper(X1), proper(X2))) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(from(X)) -> from#(proper(X))) (proper#(cons(X1, X2)) -> proper#(X1), proper#(from(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(s(X)) -> s#(proper(X))) (proper#(cons(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> sel#(proper(X1), proper(X2))) (proper#(cons(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> minus#(proper(X1), proper(X2))) (proper#(cons(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> quot#(proper(X1), proper(X2))) (proper#(cons(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> zWquot#(proper(X1), proper(X2))) (proper#(cons(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X2)) (active#(quot(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> cons#(active(X1), X2)) (active#(quot(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X1), active#(from(X)) -> cons#(X, from(s(X)))) (active#(quot(X1, X2)) -> active#(X1), active#(from(X)) -> from#(s(X))) (active#(quot(X1, X2)) -> active#(X1), active#(from(X)) -> from#(active(X))) (active#(quot(X1, X2)) -> active#(X1), active#(from(X)) -> s#(X)) (active#(quot(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(quot(X1, X2)) -> active#(X1), active#(s(X)) -> s#(active(X))) (active#(quot(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(quot(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2)) (active#(quot(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> sel#(X1, active(X2))) (active#(quot(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> sel#(active(X1), X2)) (active#(quot(X1, X2)) -> active#(X1), active#(sel(s(N), cons(X, XS))) -> sel#(N, XS)) (active#(quot(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2)) (active#(quot(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> minus#(X1, active(X2))) (active#(quot(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> minus#(active(X1), X2)) (active#(quot(X1, X2)) -> active#(X1), active#(minus(s(X), s(Y))) -> minus#(X, Y)) (active#(quot(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X2)) (active#(quot(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> quot#(X1, active(X2))) (active#(quot(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> quot#(active(X1), X2)) (active#(quot(X1, X2)) -> active#(X1), active#(quot(s(X), s(Y))) -> s#(quot(minus(X, Y), s(Y)))) (active#(quot(X1, X2)) -> active#(X1), active#(quot(s(X), s(Y))) -> minus#(X, Y)) (active#(quot(X1, X2)) -> active#(X1), active#(quot(s(X), s(Y))) -> quot#(minus(X, Y), s(Y))) (active#(quot(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(quot(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> zWquot#(X1, active(X2))) (active#(quot(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> zWquot#(active(X1), X2)) (active#(quot(X1, X2)) -> active#(X1), active#(zWquot(cons(X, XS), cons(Y, YS))) -> cons#(quot(X, Y), zWquot(XS, YS))) (active#(quot(X1, X2)) -> active#(X1), active#(zWquot(cons(X, XS), cons(Y, YS))) -> quot#(X, Y)) (active#(quot(X1, X2)) -> active#(X1), active#(zWquot(cons(X, XS), cons(Y, YS))) -> zWquot#(XS, YS)) (active#(sel(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> cons#(active(X1), X2)) (active#(sel(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(from(X)) -> cons#(X, from(s(X)))) (active#(sel(X1, X2)) -> active#(X1), active#(from(X)) -> from#(s(X))) (active#(sel(X1, X2)) -> active#(X1), active#(from(X)) -> from#(active(X))) (active#(sel(X1, X2)) -> active#(X1), active#(from(X)) -> s#(X)) (active#(sel(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X1), active#(s(X)) -> s#(active(X))) (active#(sel(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> sel#(X1, active(X2))) (active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> sel#(active(X1), X2)) (active#(sel(X1, X2)) -> active#(X1), active#(sel(s(N), cons(X, XS))) -> sel#(N, XS)) (active#(sel(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> minus#(X1, active(X2))) (active#(sel(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> minus#(active(X1), X2)) (active#(sel(X1, X2)) -> active#(X1), active#(minus(s(X), s(Y))) -> minus#(X, Y)) (active#(sel(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> quot#(X1, active(X2))) (active#(sel(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> quot#(active(X1), X2)) (active#(sel(X1, X2)) -> active#(X1), active#(quot(s(X), s(Y))) -> s#(quot(minus(X, Y), s(Y)))) (active#(sel(X1, X2)) -> active#(X1), active#(quot(s(X), s(Y))) -> minus#(X, Y)) (active#(sel(X1, X2)) -> active#(X1), active#(quot(s(X), s(Y))) -> quot#(minus(X, Y), s(Y))) (active#(sel(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> zWquot#(X1, active(X2))) (active#(sel(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> zWquot#(active(X1), X2)) (active#(sel(X1, X2)) -> active#(X1), active#(zWquot(cons(X, XS), cons(Y, YS))) -> cons#(quot(X, Y), zWquot(XS, YS))) (active#(sel(X1, X2)) -> active#(X1), active#(zWquot(cons(X, XS), cons(Y, YS))) -> quot#(X, Y)) (active#(sel(X1, X2)) -> active#(X1), active#(zWquot(cons(X, XS), cons(Y, YS))) -> zWquot#(XS, YS)) (active#(from(X)) -> cons#(X, from(s(X))), cons#(mark(X1), X2) -> cons#(X1, X2)) (active#(from(X)) -> cons#(X, from(s(X))), cons#(ok(X1), ok(X2)) -> cons#(X1, X2)) (zWquot#(mark(X1), X2) -> zWquot#(X1, X2), zWquot#(X1, mark(X2)) -> zWquot#(X1, X2)) (zWquot#(mark(X1), X2) -> zWquot#(X1, X2), zWquot#(mark(X1), X2) -> zWquot#(X1, X2)) (zWquot#(mark(X1), X2) -> zWquot#(X1, X2), zWquot#(ok(X1), ok(X2)) -> zWquot#(X1, X2)) (quot#(ok(X1), ok(X2)) -> quot#(X1, X2), quot#(X1, mark(X2)) -> quot#(X1, X2)) (quot#(ok(X1), ok(X2)) -> quot#(X1, X2), quot#(mark(X1), X2) -> quot#(X1, X2)) (quot#(ok(X1), ok(X2)) -> quot#(X1, X2), quot#(ok(X1), ok(X2)) -> quot#(X1, X2)) (quot#(X1, mark(X2)) -> quot#(X1, X2), quot#(X1, mark(X2)) -> quot#(X1, X2)) (quot#(X1, mark(X2)) -> quot#(X1, X2), quot#(mark(X1), X2) -> quot#(X1, X2)) (quot#(X1, mark(X2)) -> quot#(X1, X2), quot#(ok(X1), ok(X2)) -> quot#(X1, X2)) (minus#(mark(X1), X2) -> minus#(X1, X2), minus#(X1, mark(X2)) -> minus#(X1, X2)) (minus#(mark(X1), X2) -> minus#(X1, X2), minus#(mark(X1), X2) -> minus#(X1, X2)) (minus#(mark(X1), X2) -> minus#(X1, X2), minus#(ok(X1), ok(X2)) -> minus#(X1, X2)) (sel#(ok(X1), ok(X2)) -> sel#(X1, X2), sel#(X1, mark(X2)) -> sel#(X1, X2)) (sel#(ok(X1), ok(X2)) -> sel#(X1, X2), sel#(mark(X1), X2) -> sel#(X1, X2)) (sel#(ok(X1), ok(X2)) -> sel#(X1, X2), sel#(ok(X1), ok(X2)) -> sel#(X1, X2)) (sel#(X1, mark(X2)) -> sel#(X1, X2), sel#(X1, mark(X2)) -> sel#(X1, X2)) (sel#(X1, mark(X2)) -> sel#(X1, X2), sel#(mark(X1), X2) -> sel#(X1, X2)) (sel#(X1, mark(X2)) -> sel#(X1, X2), sel#(ok(X1), ok(X2)) -> sel#(X1, X2)) (cons#(mark(X1), X2) -> cons#(X1, X2), cons#(mark(X1), X2) -> cons#(X1, X2)) (cons#(mark(X1), X2) -> cons#(X1, X2), cons#(ok(X1), ok(X2)) -> cons#(X1, X2)) (top#(mark(X)) -> top#(proper(X)), top#(mark(X)) -> proper#(X)) (top#(mark(X)) -> top#(proper(X)), top#(mark(X)) -> top#(proper(X))) (top#(mark(X)) -> top#(proper(X)), top#(ok(X)) -> active#(X)) (top#(mark(X)) -> top#(proper(X)), top#(ok(X)) -> top#(active(X))) (proper#(from(X)) -> from#(proper(X)), from#(mark(X)) -> from#(X)) (proper#(from(X)) -> from#(proper(X)), from#(ok(X)) -> from#(X)) (active#(from(X)) -> from#(active(X)), from#(mark(X)) -> from#(X)) (active#(from(X)) -> from#(active(X)), from#(ok(X)) -> from#(X)) (top#(ok(X)) -> active#(X), active#(cons(X1, X2)) -> cons#(active(X1), X2)) (top#(ok(X)) -> active#(X), active#(cons(X1, X2)) -> active#(X1)) (top#(ok(X)) -> active#(X), active#(from(X)) -> cons#(X, from(s(X)))) (top#(ok(X)) -> active#(X), active#(from(X)) -> from#(s(X))) (top#(ok(X)) -> active#(X), active#(from(X)) -> from#(active(X))) (top#(ok(X)) -> active#(X), active#(from(X)) -> s#(X)) (top#(ok(X)) -> active#(X), active#(from(X)) -> active#(X)) (top#(ok(X)) -> active#(X), active#(s(X)) -> s#(active(X))) (top#(ok(X)) -> active#(X), active#(s(X)) -> active#(X)) (top#(ok(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1)) (top#(ok(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X2)) (top#(ok(X)) -> active#(X), active#(sel(X1, X2)) -> sel#(X1, active(X2))) (top#(ok(X)) -> active#(X), active#(sel(X1, X2)) -> sel#(active(X1), X2)) (top#(ok(X)) -> active#(X), active#(sel(s(N), cons(X, XS))) -> sel#(N, XS)) (top#(ok(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X1)) (top#(ok(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X2)) (top#(ok(X)) -> active#(X), active#(minus(X1, X2)) -> minus#(X1, active(X2))) (top#(ok(X)) -> active#(X), active#(minus(X1, X2)) -> minus#(active(X1), X2)) (top#(ok(X)) -> active#(X), active#(minus(s(X), s(Y))) -> minus#(X, Y)) (top#(ok(X)) -> active#(X), active#(quot(X1, X2)) -> active#(X1)) (top#(ok(X)) -> active#(X), active#(quot(X1, X2)) -> active#(X2)) (top#(ok(X)) -> active#(X), active#(quot(X1, X2)) -> quot#(X1, active(X2))) (top#(ok(X)) -> active#(X), active#(quot(X1, X2)) -> quot#(active(X1), X2)) (top#(ok(X)) -> active#(X), active#(quot(s(X), s(Y))) -> s#(quot(minus(X, Y), s(Y)))) (top#(ok(X)) -> active#(X), active#(quot(s(X), s(Y))) -> minus#(X, Y)) (top#(ok(X)) -> active#(X), active#(quot(s(X), s(Y))) -> quot#(minus(X, Y), s(Y))) (top#(ok(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X1)) (top#(ok(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2)) (top#(ok(X)) -> active#(X), active#(zWquot(X1, X2)) -> zWquot#(X1, active(X2))) (top#(ok(X)) -> active#(X), active#(zWquot(X1, X2)) -> zWquot#(active(X1), X2)) (top#(ok(X)) -> active#(X), active#(zWquot(cons(X, XS), cons(Y, YS))) -> cons#(quot(X, Y), zWquot(XS, YS))) (top#(ok(X)) -> active#(X), active#(zWquot(cons(X, XS), cons(Y, YS))) -> quot#(X, Y)) (top#(ok(X)) -> active#(X), active#(zWquot(cons(X, XS), cons(Y, YS))) -> zWquot#(XS, YS)) (proper#(s(X)) -> proper#(X), proper#(cons(X1, X2)) -> cons#(proper(X1), proper(X2))) (proper#(s(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(from(X)) -> from#(proper(X))) (proper#(s(X)) -> proper#(X), proper#(from(X)) -> proper#(X)) (proper#(s(X)) -> proper#(X), proper#(s(X)) -> s#(proper(X))) (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X)) (proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> sel#(proper(X1), proper(X2))) (proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(minus(X1, X2)) -> minus#(proper(X1), proper(X2))) (proper#(s(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(quot(X1, X2)) -> quot#(proper(X1), proper(X2))) (proper#(s(X)) -> proper#(X), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(zWquot(X1, X2)) -> zWquot#(proper(X1), proper(X2))) (proper#(s(X)) -> proper#(X), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(zWquot(X1, X2)) -> proper#(X2)) (active#(s(X)) -> active#(X), active#(cons(X1, X2)) -> cons#(active(X1), X2)) (active#(s(X)) -> active#(X), active#(cons(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(from(X)) -> cons#(X, from(s(X)))) (active#(s(X)) -> active#(X), active#(from(X)) -> from#(s(X))) (active#(s(X)) -> active#(X), active#(from(X)) -> from#(active(X))) (active#(s(X)) -> active#(X), active#(from(X)) -> s#(X)) (active#(s(X)) -> active#(X), active#(from(X)) -> active#(X)) (active#(s(X)) -> active#(X), active#(s(X)) -> s#(active(X))) (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X)) (active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X2)) (active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> sel#(X1, active(X2))) (active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> sel#(active(X1), X2)) (active#(s(X)) -> active#(X), active#(sel(s(N), cons(X, XS))) -> sel#(N, XS)) (active#(s(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X2)) (active#(s(X)) -> active#(X), active#(minus(X1, X2)) -> minus#(X1, active(X2))) (active#(s(X)) -> active#(X), active#(minus(X1, X2)) -> minus#(active(X1), X2)) (active#(s(X)) -> active#(X), active#(minus(s(X), s(Y))) -> minus#(X, Y)) (active#(s(X)) -> active#(X), active#(quot(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(quot(X1, X2)) -> active#(X2)) (active#(s(X)) -> active#(X), active#(quot(X1, X2)) -> quot#(X1, active(X2))) (active#(s(X)) -> active#(X), active#(quot(X1, X2)) -> quot#(active(X1), X2)) (active#(s(X)) -> active#(X), active#(quot(s(X), s(Y))) -> s#(quot(minus(X, Y), s(Y)))) (active#(s(X)) -> active#(X), active#(quot(s(X), s(Y))) -> minus#(X, Y)) (active#(s(X)) -> active#(X), active#(quot(s(X), s(Y))) -> quot#(minus(X, Y), s(Y))) (active#(s(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2)) (active#(s(X)) -> active#(X), active#(zWquot(X1, X2)) -> zWquot#(X1, active(X2))) (active#(s(X)) -> active#(X), active#(zWquot(X1, X2)) -> zWquot#(active(X1), X2)) (active#(s(X)) -> active#(X), active#(zWquot(cons(X, XS), cons(Y, YS))) -> cons#(quot(X, Y), zWquot(XS, YS))) (active#(s(X)) -> active#(X), active#(zWquot(cons(X, XS), cons(Y, YS))) -> quot#(X, Y)) (active#(s(X)) -> active#(X), active#(zWquot(cons(X, XS), cons(Y, YS))) -> zWquot#(XS, YS)) (active#(from(X)) -> s#(X), s#(mark(X)) -> s#(X)) (active#(from(X)) -> s#(X), s#(ok(X)) -> s#(X)) (s#(mark(X)) -> s#(X), s#(mark(X)) -> s#(X)) (s#(mark(X)) -> s#(X), s#(ok(X)) -> s#(X)) (from#(mark(X)) -> from#(X), from#(mark(X)) -> from#(X)) (from#(mark(X)) -> from#(X), from#(ok(X)) -> from#(X)) (active#(zWquot(X1, X2)) -> zWquot#(active(X1), X2), zWquot#(X1, mark(X2)) -> zWquot#(X1, X2)) (active#(zWquot(X1, X2)) -> zWquot#(active(X1), X2), zWquot#(mark(X1), X2) -> zWquot#(X1, X2)) (active#(zWquot(X1, X2)) -> zWquot#(active(X1), X2), zWquot#(ok(X1), ok(X2)) -> zWquot#(X1, X2)) (active#(minus(X1, X2)) -> minus#(active(X1), X2), minus#(X1, mark(X2)) -> minus#(X1, X2)) (active#(minus(X1, X2)) -> minus#(active(X1), X2), minus#(mark(X1), X2) -> minus#(X1, X2)) (active#(minus(X1, X2)) -> minus#(active(X1), X2), minus#(ok(X1), ok(X2)) -> minus#(X1, X2)) (active#(cons(X1, X2)) -> cons#(active(X1), X2), cons#(mark(X1), X2) -> cons#(X1, X2)) (active#(cons(X1, X2)) -> cons#(active(X1), X2), cons#(ok(X1), ok(X2)) -> cons#(X1, X2)) } SCCS: Scc: {top#(mark(X)) -> top#(proper(X)), top#(ok(X)) -> top#(active(X))} Scc: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X2)} Scc: { zWquot#(X1, mark(X2)) -> zWquot#(X1, X2), zWquot#(mark(X1), X2) -> zWquot#(X1, X2), zWquot#(ok(X1), ok(X2)) -> zWquot#(X1, X2)} Scc: { quot#(X1, mark(X2)) -> quot#(X1, X2), quot#(mark(X1), X2) -> quot#(X1, X2), quot#(ok(X1), ok(X2)) -> quot#(X1, X2)} Scc: { minus#(X1, mark(X2)) -> minus#(X1, X2), minus#(mark(X1), X2) -> minus#(X1, X2), minus#(ok(X1), ok(X2)) -> minus#(X1, X2)} Scc: { sel#(X1, mark(X2)) -> sel#(X1, X2), sel#(mark(X1), X2) -> sel#(X1, X2), sel#(ok(X1), ok(X2)) -> sel#(X1, X2)} Scc: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)} Scc: {s#(mark(X)) -> s#(X), s#(ok(X)) -> s#(X)} Scc: {from#(mark(X)) -> from#(X), from#(ok(X)) -> from#(X)} Scc: { cons#(mark(X1), X2) -> cons#(X1, X2), cons#(ok(X1), ok(X2)) -> cons#(X1, X2)} SCC: Strict: {top#(mark(X)) -> top#(proper(X)), top#(ok(X)) -> top#(active(X))} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} Fail SCC: Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(proper#) = 0 Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)} EDG: {(proper#(s(X)) -> proper#(X), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X)) (proper#(s(X)) -> proper#(X), proper#(from(X)) -> proper#(X)) (proper#(s(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(from(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(from(X)) -> proper#(X)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(from(X)) -> proper#(X)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(from(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(from(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(from(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(from(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(from(X)) -> proper#(X), proper#(from(X)) -> proper#(X)) (proper#(from(X)) -> proper#(X), proper#(s(X)) -> proper#(X)) (proper#(from(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(from(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(from(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(from(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(from(X)) -> proper#(X), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(from(X)) -> proper#(X), proper#(quot(X1, X2)) -> proper#(X2)) (proper#(from(X)) -> proper#(X), proper#(zWquot(X1, X2)) -> proper#(X1))} SCCS: Scc: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)} SCC: Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(proper#) = 0 Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)} EDG: {(proper#(s(X)) -> proper#(X), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X)) (proper#(s(X)) -> proper#(X), proper#(from(X)) -> proper#(X)) (proper#(s(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(from(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(from(X)) -> proper#(X)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(quot(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(from(X)) -> proper#(X)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(from(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(from(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(from(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(from(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(from(X)) -> proper#(X), proper#(from(X)) -> proper#(X)) (proper#(from(X)) -> proper#(X), proper#(s(X)) -> proper#(X)) (proper#(from(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(from(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(from(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(from(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(from(X)) -> proper#(X), proper#(quot(X1, X2)) -> proper#(X1)) (proper#(from(X)) -> proper#(X), proper#(zWquot(X1, X2)) -> proper#(X1))} SCCS: Scc: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)} SCC: Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2), proper#(quot(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(proper#) = 0 Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)} EDG: {(proper#(sel(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(from(X)) -> proper#(X), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(from(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(from(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(from(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(from(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(from(X)) -> proper#(X), proper#(s(X)) -> proper#(X)) (proper#(from(X)) -> proper#(X), proper#(from(X)) -> proper#(X)) (proper#(from(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(from(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(from(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(from(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(from(X)) -> proper#(X)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(from(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(from(X)) -> proper#(X)) (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X)) (proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1))} SCCS: Scc: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)} SCC: Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(from(X)) -> proper#(X), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(proper#) = 0 Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)} EDG: {(proper#(sel(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X)) (proper#(s(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1))} SCCS: Scc: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)} SCC: Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(proper#) = 0 Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)} EDG: {(proper#(sel(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(zWquot(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X)) (proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(zWquot(X1, X2)) -> proper#(X1))} SCCS: Scc: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)} SCC: Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1), proper#(zWquot(X1, X2)) -> proper#(X1)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(proper#) = 0 Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)} EDG: {(proper#(cons(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X)) (proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X1))} SCCS: Scc: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)} SCC: Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(proper#) = 0 Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)} EDG: {(proper#(cons(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(s(X)) -> proper#(X)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(s(X)) -> proper#(X), proper#(s(X)) -> proper#(X)) (proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(s(X)) -> proper#(X), proper#(minus(X1, X2)) -> proper#(X1))} SCCS: Scc: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)} SCC: Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(s(X)) -> proper#(X), proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(proper#) = 0 Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)} EDG: {(proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(sel(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(sel(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1))} SCCS: Scc: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)} SCC: Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(sel(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(proper#) = 0 Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)} EDG: {(proper#(cons(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(cons(X1, X2)) -> proper#(X2)) (proper#(cons(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1))} SCCS: Scc: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)} SCC: Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X2), proper#(minus(X1, X2)) -> proper#(X1)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(proper#) = 0 Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)} EDG: {(proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)) (proper#(minus(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(cons(X1, X2)) -> proper#(X1)) (proper#(cons(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1))} SCCS: Scc: { proper#(cons(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)} SCC: Strict: { proper#(cons(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(proper#) = 0 Strict: {proper#(minus(X1, X2)) -> proper#(X1)} EDG: {(proper#(minus(X1, X2)) -> proper#(X1), proper#(minus(X1, X2)) -> proper#(X1))} SCCS: Scc: {proper#(minus(X1, X2)) -> proper#(X1)} SCC: Strict: {proper#(minus(X1, X2)) -> proper#(X1)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(proper#) = 0 Strict: {} Qed SCC: Strict: { zWquot#(X1, mark(X2)) -> zWquot#(X1, X2), zWquot#(mark(X1), X2) -> zWquot#(X1, X2), zWquot#(ok(X1), ok(X2)) -> zWquot#(X1, X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(zWquot#) = 0 Strict: {zWquot#(X1, mark(X2)) -> zWquot#(X1, X2), zWquot#(mark(X1), X2) -> zWquot#(X1, X2)} EDG: {(zWquot#(mark(X1), X2) -> zWquot#(X1, X2), zWquot#(mark(X1), X2) -> zWquot#(X1, X2)) (zWquot#(mark(X1), X2) -> zWquot#(X1, X2), zWquot#(X1, mark(X2)) -> zWquot#(X1, X2)) (zWquot#(X1, mark(X2)) -> zWquot#(X1, X2), zWquot#(X1, mark(X2)) -> zWquot#(X1, X2)) (zWquot#(X1, mark(X2)) -> zWquot#(X1, X2), zWquot#(mark(X1), X2) -> zWquot#(X1, X2))} SCCS: Scc: {zWquot#(X1, mark(X2)) -> zWquot#(X1, X2), zWquot#(mark(X1), X2) -> zWquot#(X1, X2)} SCC: Strict: {zWquot#(X1, mark(X2)) -> zWquot#(X1, X2), zWquot#(mark(X1), X2) -> zWquot#(X1, X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(zWquot#) = 1 Strict: {zWquot#(mark(X1), X2) -> zWquot#(X1, X2)} EDG: {(zWquot#(mark(X1), X2) -> zWquot#(X1, X2), zWquot#(mark(X1), X2) -> zWquot#(X1, X2))} SCCS: Scc: {zWquot#(mark(X1), X2) -> zWquot#(X1, X2)} SCC: Strict: {zWquot#(mark(X1), X2) -> zWquot#(X1, X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(zWquot#) = 0 Strict: {} Qed SCC: Strict: { quot#(X1, mark(X2)) -> quot#(X1, X2), quot#(mark(X1), X2) -> quot#(X1, X2), quot#(ok(X1), ok(X2)) -> quot#(X1, X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(quot#) = 0 Strict: { quot#(X1, mark(X2)) -> quot#(X1, X2), quot#(ok(X1), ok(X2)) -> quot#(X1, X2)} EDG: {(quot#(ok(X1), ok(X2)) -> quot#(X1, X2), quot#(ok(X1), ok(X2)) -> quot#(X1, X2)) (quot#(ok(X1), ok(X2)) -> quot#(X1, X2), quot#(X1, mark(X2)) -> quot#(X1, X2)) (quot#(X1, mark(X2)) -> quot#(X1, X2), quot#(X1, mark(X2)) -> quot#(X1, X2)) (quot#(X1, mark(X2)) -> quot#(X1, X2), quot#(ok(X1), ok(X2)) -> quot#(X1, X2))} SCCS: Scc: { quot#(X1, mark(X2)) -> quot#(X1, X2), quot#(ok(X1), ok(X2)) -> quot#(X1, X2)} SCC: Strict: { quot#(X1, mark(X2)) -> quot#(X1, X2), quot#(ok(X1), ok(X2)) -> quot#(X1, X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(quot#) = 0 Strict: {quot#(X1, mark(X2)) -> quot#(X1, X2)} EDG: {(quot#(X1, mark(X2)) -> quot#(X1, X2), quot#(X1, mark(X2)) -> quot#(X1, X2))} SCCS: Scc: {quot#(X1, mark(X2)) -> quot#(X1, X2)} SCC: Strict: {quot#(X1, mark(X2)) -> quot#(X1, X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(quot#) = 1 Strict: {} Qed SCC: Strict: { minus#(X1, mark(X2)) -> minus#(X1, X2), minus#(mark(X1), X2) -> minus#(X1, X2), minus#(ok(X1), ok(X2)) -> minus#(X1, X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(minus#) = 0 Strict: {minus#(X1, mark(X2)) -> minus#(X1, X2), minus#(mark(X1), X2) -> minus#(X1, X2)} EDG: {(minus#(mark(X1), X2) -> minus#(X1, X2), minus#(mark(X1), X2) -> minus#(X1, X2)) (minus#(mark(X1), X2) -> minus#(X1, X2), minus#(X1, mark(X2)) -> minus#(X1, X2)) (minus#(X1, mark(X2)) -> minus#(X1, X2), minus#(X1, mark(X2)) -> minus#(X1, X2)) (minus#(X1, mark(X2)) -> minus#(X1, X2), minus#(mark(X1), X2) -> minus#(X1, X2))} SCCS: Scc: {minus#(X1, mark(X2)) -> minus#(X1, X2), minus#(mark(X1), X2) -> minus#(X1, X2)} SCC: Strict: {minus#(X1, mark(X2)) -> minus#(X1, X2), minus#(mark(X1), X2) -> minus#(X1, X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(minus#) = 0 Strict: {minus#(X1, mark(X2)) -> minus#(X1, X2)} EDG: {(minus#(X1, mark(X2)) -> minus#(X1, X2), minus#(X1, mark(X2)) -> minus#(X1, X2))} SCCS: Scc: {minus#(X1, mark(X2)) -> minus#(X1, X2)} SCC: Strict: {minus#(X1, mark(X2)) -> minus#(X1, X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(minus#) = 1 Strict: {} Qed SCC: Strict: { sel#(X1, mark(X2)) -> sel#(X1, X2), sel#(mark(X1), X2) -> sel#(X1, X2), sel#(ok(X1), ok(X2)) -> sel#(X1, X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(sel#) = 0 Strict: {sel#(X1, mark(X2)) -> sel#(X1, X2), sel#(mark(X1), X2) -> sel#(X1, X2)} EDG: {(sel#(mark(X1), X2) -> sel#(X1, X2), sel#(mark(X1), X2) -> sel#(X1, X2)) (sel#(mark(X1), X2) -> sel#(X1, X2), sel#(X1, mark(X2)) -> sel#(X1, X2)) (sel#(X1, mark(X2)) -> sel#(X1, X2), sel#(X1, mark(X2)) -> sel#(X1, X2)) (sel#(X1, mark(X2)) -> sel#(X1, X2), sel#(mark(X1), X2) -> sel#(X1, X2))} SCCS: Scc: {sel#(X1, mark(X2)) -> sel#(X1, X2), sel#(mark(X1), X2) -> sel#(X1, X2)} SCC: Strict: {sel#(X1, mark(X2)) -> sel#(X1, X2), sel#(mark(X1), X2) -> sel#(X1, X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(sel#) = 1 Strict: {sel#(mark(X1), X2) -> sel#(X1, X2)} EDG: {(sel#(mark(X1), X2) -> sel#(X1, X2), sel#(mark(X1), X2) -> sel#(X1, X2))} SCCS: Scc: {sel#(mark(X1), X2) -> sel#(X1, X2)} SCC: Strict: {sel#(mark(X1), X2) -> sel#(X1, X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(sel#) = 0 Strict: {} Qed SCC: Strict: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(active#) = 0 Strict: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)} EDG: {(active#(s(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2)) (active#(s(X)) -> active#(X), active#(quot(X1, X2)) -> active#(X2)) (active#(s(X)) -> active#(X), active#(quot(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X2)) (active#(s(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X2)) (active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X)) (active#(s(X)) -> active#(X), active#(from(X)) -> active#(X)) (active#(s(X)) -> active#(X), active#(cons(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(quot(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X2)) (active#(quot(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2)) (active#(quot(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2)) (active#(quot(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(quot(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(quot(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X2), active#(from(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X)) (active#(zWquot(X1, X2)) -> active#(X2), active#(from(X)) -> active#(X)) (active#(zWquot(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X2), active#(from(X)) -> active#(X)) (active#(quot(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X)) (active#(quot(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X2)) (active#(quot(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X2)) (active#(quot(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X2)) (active#(quot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X2), active#(from(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(cons(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(cons(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(cons(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2)) (active#(cons(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2)) (active#(cons(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X2)) (active#(cons(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(from(X)) -> active#(X), active#(cons(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(from(X)) -> active#(X)) (active#(from(X)) -> active#(X), active#(s(X)) -> active#(X)) (active#(from(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X2)) (active#(from(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X2)) (active#(from(X)) -> active#(X), active#(quot(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(quot(X1, X2)) -> active#(X2)) (active#(from(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2))} SCCS: Scc: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)} SCC: Strict: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(active#) = 0 Strict: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)} EDG: {(active#(minus(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X2), active#(from(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2)) (active#(from(X)) -> active#(X), active#(quot(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X2)) (active#(from(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X2)) (active#(from(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(s(X)) -> active#(X)) (active#(from(X)) -> active#(X), active#(from(X)) -> active#(X)) (active#(from(X)) -> active#(X), active#(cons(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(cons(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2)) (active#(cons(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2)) (active#(cons(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(cons(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(quot(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(quot(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2)) (active#(quot(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2)) (active#(quot(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X1)) (active#(quot(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X1), active#(quot(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(s(X)) -> active#(X), active#(cons(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(from(X)) -> active#(X)) (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X)) (active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X2)) (active#(s(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X2)) (active#(s(X)) -> active#(X), active#(quot(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(from(X)) -> active#(X)) (active#(zWquot(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X)) (active#(zWquot(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X2), active#(from(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2))} SCCS: Scc: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)} SCC: Strict: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2), active#(quot(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(active#) = 0 Strict: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)} EDG: {(active#(minus(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X2), active#(from(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(cons(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2)) (active#(cons(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2)) (active#(cons(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(cons(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2)) (active#(s(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X2)) (active#(s(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X2)) (active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X)) (active#(s(X)) -> active#(X), active#(from(X)) -> active#(X)) (active#(s(X)) -> active#(X), active#(cons(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(cons(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(from(X)) -> active#(X)) (active#(from(X)) -> active#(X), active#(s(X)) -> active#(X)) (active#(from(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X2)) (active#(from(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X2)) (active#(from(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(from(X)) -> active#(X)) (active#(zWquot(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X)) (active#(zWquot(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X2), active#(from(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2))} SCCS: Scc: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)} SCC: Strict: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(active#) = 0 Strict: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)} EDG: {(active#(zWquot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X)) (active#(zWquot(X1, X2)) -> active#(X2), active#(from(X)) -> active#(X)) (active#(zWquot(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2)) (active#(from(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X2)) (active#(from(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(s(X)) -> active#(X)) (active#(from(X)) -> active#(X), active#(from(X)) -> active#(X)) (active#(from(X)) -> active#(X), active#(cons(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(cons(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(from(X)) -> active#(X)) (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X)) (active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X2)) (active#(s(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(cons(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(cons(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(cons(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2)) (active#(cons(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X2), active#(from(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X2)) (active#(minus(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2))} SCCS: Scc: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)} SCC: Strict: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(active#) = 0 Strict: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)} EDG: {(active#(s(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2)) (active#(s(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X)) (active#(s(X)) -> active#(X), active#(from(X)) -> active#(X)) (active#(s(X)) -> active#(X), active#(cons(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(minus(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X)) (active#(zWquot(X1, X2)) -> active#(X2), active#(from(X)) -> active#(X)) (active#(zWquot(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(minus(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(minus(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(cons(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(cons(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(cons(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(from(X)) -> active#(X), active#(cons(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(from(X)) -> active#(X)) (active#(from(X)) -> active#(X), active#(s(X)) -> active#(X)) (active#(from(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(minus(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2))} SCCS: Scc: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)} SCC: Strict: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(minus(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(active#) = 0 Strict: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)} EDG: {(active#(s(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2)) (active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X)) (active#(s(X)) -> active#(X), active#(from(X)) -> active#(X)) (active#(s(X)) -> active#(X), active#(cons(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(sel(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(sel(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(sel(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(from(X)) -> active#(X)) (active#(zWquot(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X)) (active#(zWquot(X1, X2)) -> active#(X2), active#(sel(X1, X2)) -> active#(X1)) (active#(zWquot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)) (active#(cons(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(cons(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(cons(X1, X2)) -> active#(X1), active#(sel(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(from(X)) -> active#(X), active#(cons(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(from(X)) -> active#(X)) (active#(from(X)) -> active#(X), active#(s(X)) -> active#(X)) (active#(from(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2))} SCCS: Scc: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)} SCC: Strict: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(sel(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(active#) = 0 Strict: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2)} EDG: {(active#(zWquot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(s(X)) -> active#(X)) (active#(zWquot(X1, X2)) -> active#(X2), active#(from(X)) -> active#(X)) (active#(zWquot(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(s(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2)) (active#(s(X)) -> active#(X), active#(s(X)) -> active#(X)) (active#(s(X)) -> active#(X), active#(from(X)) -> active#(X)) (active#(s(X)) -> active#(X), active#(cons(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(cons(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(from(X)) -> active#(X)) (active#(from(X)) -> active#(X), active#(s(X)) -> active#(X)) (active#(from(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2)) (active#(cons(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(cons(X1, X2)) -> active#(X1), active#(s(X)) -> active#(X)) (active#(cons(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2))} SCCS: Scc: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2)} SCC: Strict: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(s(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(active#) = 0 Strict: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2)} EDG: {(active#(zWquot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(from(X)) -> active#(X)) (active#(zWquot(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X)) (active#(cons(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)) (active#(from(X)) -> active#(X), active#(cons(X1, X2)) -> active#(X1)) (active#(from(X)) -> active#(X), active#(from(X)) -> active#(X)) (active#(from(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2))} SCCS: Scc: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2)} SCC: Strict: { active#(cons(X1, X2)) -> active#(X1), active#(from(X)) -> active#(X), active#(zWquot(X1, X2)) -> active#(X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(active#) = 0 Strict: { active#(cons(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)} EDG: {(active#(zWquot(X1, X2)) -> active#(X2), active#(zWquot(X1, X2)) -> active#(X2)) (active#(zWquot(X1, X2)) -> active#(X2), active#(cons(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1)) (active#(cons(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2))} SCCS: Scc: { active#(cons(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)} SCC: Strict: { active#(cons(X1, X2)) -> active#(X1), active#(zWquot(X1, X2)) -> active#(X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(active#) = 0 Strict: {active#(cons(X1, X2)) -> active#(X1)} EDG: {(active#(cons(X1, X2)) -> active#(X1), active#(cons(X1, X2)) -> active#(X1))} SCCS: Scc: {active#(cons(X1, X2)) -> active#(X1)} SCC: Strict: {active#(cons(X1, X2)) -> active#(X1)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(active#) = 0 Strict: {} Qed SCC: Strict: {s#(mark(X)) -> s#(X), s#(ok(X)) -> s#(X)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(s#) = 0 Strict: {s#(ok(X)) -> s#(X)} EDG: {(s#(ok(X)) -> s#(X), s#(ok(X)) -> s#(X))} SCCS: Scc: {s#(ok(X)) -> s#(X)} SCC: Strict: {s#(ok(X)) -> s#(X)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(s#) = 0 Strict: {} Qed SCC: Strict: {from#(mark(X)) -> from#(X), from#(ok(X)) -> from#(X)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(from#) = 0 Strict: {from#(ok(X)) -> from#(X)} EDG: {(from#(ok(X)) -> from#(X), from#(ok(X)) -> from#(X))} SCCS: Scc: {from#(ok(X)) -> from#(X)} SCC: Strict: {from#(ok(X)) -> from#(X)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(from#) = 0 Strict: {} Qed SCC: Strict: { cons#(mark(X1), X2) -> cons#(X1, X2), cons#(ok(X1), ok(X2)) -> cons#(X1, X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(cons#) = 0 Strict: {cons#(ok(X1), ok(X2)) -> cons#(X1, X2)} EDG: {(cons#(ok(X1), ok(X2)) -> cons#(X1, X2), cons#(ok(X1), ok(X2)) -> cons#(X1, X2))} SCCS: Scc: {cons#(ok(X1), ok(X2)) -> cons#(X1, X2)} SCC: Strict: {cons#(ok(X1), ok(X2)) -> cons#(X1, X2)} Weak: { cons(mark(X1), X2) -> mark(cons(X1, X2)), cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)), from(mark(X)) -> mark(from(X)), from(ok(X)) -> ok(from(X)), s(mark(X)) -> mark(s(X)), s(ok(X)) -> ok(s(X)), active(cons(X1, X2)) -> cons(active(X1), X2), active(from(X)) -> mark(cons(X, from(s(X)))), active(from(X)) -> from(active(X)), active(s(X)) -> s(active(X)), active(sel(X1, X2)) -> sel(X1, active(X2)), active(sel(X1, X2)) -> sel(active(X1), X2), active(sel(s(N), cons(X, XS))) -> mark(sel(N, XS)), active(sel(0(), cons(X, XS))) -> mark(X), active(minus(X, 0())) -> mark(0()), active(minus(X1, X2)) -> minus(X1, active(X2)), active(minus(X1, X2)) -> minus(active(X1), X2), active(minus(s(X), s(Y))) -> mark(minus(X, Y)), active(quot(X1, X2)) -> quot(X1, active(X2)), active(quot(X1, X2)) -> quot(active(X1), X2), active(quot(s(X), s(Y))) -> mark(s(quot(minus(X, Y), s(Y)))), active(quot(0(), s(Y))) -> mark(0()), active(zWquot(XS, nil())) -> mark(nil()), active(zWquot(X1, X2)) -> zWquot(X1, active(X2)), active(zWquot(X1, X2)) -> zWquot(active(X1), X2), active(zWquot(cons(X, XS), cons(Y, YS))) -> mark(cons(quot(X, Y), zWquot(XS, YS))), active(zWquot(nil(), XS)) -> mark(nil()), sel(X1, mark(X2)) -> mark(sel(X1, X2)), sel(mark(X1), X2) -> mark(sel(X1, X2)), sel(ok(X1), ok(X2)) -> ok(sel(X1, X2)), minus(X1, mark(X2)) -> mark(minus(X1, X2)), minus(mark(X1), X2) -> mark(minus(X1, X2)), minus(ok(X1), ok(X2)) -> ok(minus(X1, X2)), quot(X1, mark(X2)) -> mark(quot(X1, X2)), quot(mark(X1), X2) -> mark(quot(X1, X2)), quot(ok(X1), ok(X2)) -> ok(quot(X1, X2)), zWquot(X1, mark(X2)) -> mark(zWquot(X1, X2)), zWquot(mark(X1), X2) -> mark(zWquot(X1, X2)), zWquot(ok(X1), ok(X2)) -> ok(zWquot(X1, X2)), proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)), proper(from(X)) -> from(proper(X)), proper(s(X)) -> s(proper(X)), proper(sel(X1, X2)) -> sel(proper(X1), proper(X2)), proper(0()) -> ok(0()), proper(minus(X1, X2)) -> minus(proper(X1), proper(X2)), proper(quot(X1, X2)) -> quot(proper(X1), proper(X2)), proper(nil()) -> ok(nil()), proper(zWquot(X1, X2)) -> zWquot(proper(X1), proper(X2)), top(mark(X)) -> top(proper(X)), top(ok(X)) -> top(active(X))} SPSC: Simple Projection: pi(cons#) = 0 Strict: {} Qed