YES TRS: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} DP: Strict: { mark#(U12(X)) -> mark#(X), mark#(U12(X)) -> U12#(mark(X)), mark#(U12(X)) -> active#(U12(mark(X))), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U11(X1, X2)) -> U11#(mark(X1), X2), mark#(tt()) -> active#(tt()), mark#(U21(X)) -> mark#(X), mark#(U21(X)) -> active#(U21(mark(X))), mark#(U21(X)) -> U21#(mark(X)), mark#(U31(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), mark#(U31(X1, X2)) -> U31#(mark(X1), X2), mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3), mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3), mark#(s(X)) -> mark#(X), mark#(s(X)) -> active#(s(mark(X))), mark#(s(X)) -> s#(mark(X)), mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)), mark#(0()) -> active#(0()), U12#(mark(X)) -> U12#(X), U12#(active(X)) -> U12#(X), isNat#(mark(X)) -> isNat#(X), isNat#(active(X)) -> isNat#(X), active#(U12(tt())) -> mark#(tt()), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(s(V1))) -> isNat#(V1), active#(isNat(s(V1))) -> U21#(isNat(V1)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(isNat(plus(V1, V2))) -> isNat#(V1), active#(isNat(plus(V1, V2))) -> U11#(isNat(V1), V2), active#(isNat(0())) -> mark#(tt()), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U11(tt(), V2)) -> U12#(isNat(V2)), active#(U11(tt(), V2)) -> isNat#(V2), active#(U21(tt())) -> mark#(tt()), active#(U31(tt(), N)) -> mark#(N), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U42(tt(), M, N)) -> s#(plus(N, M)), active#(U42(tt(), M, N)) -> plus#(N, M), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(U41(tt(), M, N)) -> isNat#(N), active#(U41(tt(), M, N)) -> U42#(isNat(N), M, N), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), active#(plus(N, s(M))) -> isNat#(M), active#(plus(N, s(M))) -> U41#(isNat(M), M, N), active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), active#(plus(N, 0())) -> isNat#(N), active#(plus(N, 0())) -> U31#(isNat(N), N), U11#(X1, mark(X2)) -> U11#(X1, X2), U11#(X1, active(X2)) -> U11#(X1, X2), U11#(mark(X1), X2) -> U11#(X1, X2), U11#(active(X1), X2) -> U11#(X1, X2), U21#(mark(X)) -> U21#(X), U21#(active(X)) -> U21#(X), U31#(X1, mark(X2)) -> U31#(X1, X2), U31#(X1, active(X2)) -> U31#(X1, X2), U31#(mark(X1), X2) -> U31#(X1, X2), U31#(active(X1), X2) -> U31#(X1, X2), U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3), U42#(active(X1), X2, X3) -> U42#(X1, X2, X3), U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(X1, X2, active(X3)) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(active(X1), X2, X3) -> U41#(X1, X2, X3), s#(mark(X)) -> s#(X), s#(active(X)) -> s#(X), plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2), plus#(mark(X1), X2) -> plus#(X1, X2), plus#(active(X1), X2) -> plus#(X1, X2)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} EDG: { (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, 0())) -> U31#(isNat(N), N)) (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, 0())) -> isNat#(N)) (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, 0())) -> mark#(U31(isNat(N), N))) (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, s(M))) -> U41#(isNat(M), M, N)) (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, s(M))) -> isNat#(M)) (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U41(tt(), M, N)) -> U42#(isNat(N), M, N)) (mark#(isNat(X)) -> active#(isNat(X)), active#(U41(tt(), M, N)) -> isNat#(N)) (mark#(isNat(X)) -> active#(isNat(X)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U42(tt(), M, N)) -> plus#(N, M)) (mark#(isNat(X)) -> active#(isNat(X)), active#(U42(tt(), M, N)) -> s#(plus(N, M))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U31(tt(), N)) -> mark#(N)) (mark#(isNat(X)) -> active#(isNat(X)), active#(U21(tt())) -> mark#(tt())) (mark#(isNat(X)) -> active#(isNat(X)), active#(U11(tt(), V2)) -> isNat#(V2)) (mark#(isNat(X)) -> active#(isNat(X)), active#(U11(tt(), V2)) -> U12#(isNat(V2))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(0())) -> mark#(tt())) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> U11#(isNat(V1), V2)) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> isNat#(V1)) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> U21#(isNat(V1))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> isNat#(V1)) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U12(tt())) -> mark#(tt())) (mark#(s(X)) -> s#(mark(X)), s#(active(X)) -> s#(X)) (mark#(s(X)) -> s#(mark(X)), s#(mark(X)) -> s#(X)) (active#(isNat(0())) -> mark#(tt()), mark#(tt()) -> active#(tt())) (active#(isNat(s(V1))) -> U21#(isNat(V1)), U21#(active(X)) -> U21#(X)) (active#(isNat(s(V1))) -> U21#(isNat(V1)), U21#(mark(X)) -> U21#(X)) (mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3), U42#(active(X1), X2, X3) -> U42#(X1, X2, X3)) (mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3), U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3)) (mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)) (mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3), U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3)) (U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(active(X1), X2, X3) -> U42#(X1, X2, X3)) (U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3)) (U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3)) (U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(active(X1), X2, X3) -> U42#(X1, X2, X3)) (U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3)) (U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3)) (U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3), U42#(active(X1), X2, X3) -> U42#(X1, X2, X3)) (U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3), U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3)) (U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)) (U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3), U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3)) (U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(active(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(X1, X2, active(X3)) -> U41#(X1, X2, X3)) (U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3)) (U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(active(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, X2, active(X3)) -> U41#(X1, X2, X3)) (U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3)) (U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(active(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(X1, X2, active(X3)) -> U41#(X1, X2, X3)) (U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3)) (mark#(U12(X)) -> mark#(X), mark#(0()) -> active#(0())) (mark#(U12(X)) -> mark#(X), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2))) (mark#(U12(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U12(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U12(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(s(X)) -> s#(mark(X))) (mark#(U12(X)) -> mark#(X), mark#(s(X)) -> active#(s(mark(X)))) (mark#(U12(X)) -> mark#(X), mark#(s(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3)) (mark#(U12(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U12(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3)) (mark#(U12(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U12(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(U31(X1, X2)) -> U31#(mark(X1), X2)) (mark#(U12(X)) -> mark#(X), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U12(X)) -> mark#(X), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(U21(X)) -> U21#(mark(X))) (mark#(U12(X)) -> mark#(X), mark#(U21(X)) -> active#(U21(mark(X)))) (mark#(U12(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(tt()) -> active#(tt())) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> U11#(mark(X1), X2)) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U12(X)) -> mark#(X), mark#(U12(X)) -> active#(U12(mark(X)))) (mark#(U12(X)) -> mark#(X), mark#(U12(X)) -> U12#(mark(X))) (mark#(U12(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(s(X)) -> mark#(X), mark#(0()) -> active#(0())) (mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2))) (mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(s(X)) -> s#(mark(X))) (mark#(s(X)) -> mark#(X), mark#(s(X)) -> active#(s(mark(X)))) (mark#(s(X)) -> mark#(X), mark#(s(X)) -> mark#(X)) (mark#(s(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3)) (mark#(s(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(s(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3)) (mark#(s(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(s(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(U31(X1, X2)) -> U31#(mark(X1), X2)) (mark#(s(X)) -> mark#(X), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(s(X)) -> mark#(X), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(U21(X)) -> U21#(mark(X))) (mark#(s(X)) -> mark#(X), mark#(U21(X)) -> active#(U21(mark(X)))) (mark#(s(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(s(X)) -> mark#(X), mark#(tt()) -> active#(tt())) (mark#(s(X)) -> mark#(X), mark#(U11(X1, X2)) -> U11#(mark(X1), X2)) (mark#(s(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(s(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(s(X)) -> mark#(X), mark#(U12(X)) -> active#(U12(mark(X)))) (mark#(s(X)) -> mark#(X), mark#(U12(X)) -> U12#(mark(X))) (mark#(s(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (U12#(active(X)) -> U12#(X), U12#(active(X)) -> U12#(X)) (U12#(active(X)) -> U12#(X), U12#(mark(X)) -> U12#(X)) (isNat#(active(X)) -> isNat#(X), isNat#(active(X)) -> isNat#(X)) (isNat#(active(X)) -> isNat#(X), isNat#(mark(X)) -> isNat#(X)) (U21#(active(X)) -> U21#(X), U21#(active(X)) -> U21#(X)) (U21#(active(X)) -> U21#(X), U21#(mark(X)) -> U21#(X)) (s#(active(X)) -> s#(X), s#(active(X)) -> s#(X)) (s#(active(X)) -> s#(X), s#(mark(X)) -> s#(X)) (mark#(U31(X1, X2)) -> U31#(mark(X1), X2), U31#(active(X1), X2) -> U31#(X1, X2)) (mark#(U31(X1, X2)) -> U31#(mark(X1), X2), U31#(mark(X1), X2) -> U31#(X1, X2)) (mark#(U31(X1, X2)) -> U31#(mark(X1), X2), U31#(X1, active(X2)) -> U31#(X1, X2)) (mark#(U31(X1, X2)) -> U31#(mark(X1), X2), U31#(X1, mark(X2)) -> U31#(X1, X2)) (active#(U41(tt(), M, N)) -> isNat#(N), isNat#(active(X)) -> isNat#(X)) (active#(U41(tt(), M, N)) -> isNat#(N), isNat#(mark(X)) -> isNat#(X)) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(plus(N, 0())) -> U31#(isNat(N), N)) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(plus(N, 0())) -> isNat#(N)) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(plus(N, 0())) -> mark#(U31(isNat(N), N))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(plus(N, s(M))) -> U41#(isNat(M), M, N)) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(plus(N, s(M))) -> isNat#(M)) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U41(tt(), M, N)) -> U42#(isNat(N), M, N)) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U41(tt(), M, N)) -> isNat#(N)) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U42(tt(), M, N)) -> plus#(N, M)) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U42(tt(), M, N)) -> s#(plus(N, M))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U31(tt(), N)) -> mark#(N)) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U21(tt())) -> mark#(tt())) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U11(tt(), V2)) -> isNat#(V2)) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U11(tt(), V2)) -> U12#(isNat(V2))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(0())) -> mark#(tt())) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> U11#(isNat(V1), V2)) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> isNat#(V1)) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(s(V1))) -> U21#(isNat(V1))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(s(V1))) -> isNat#(V1)) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U12(tt())) -> mark#(tt())) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(plus(X1, X2)) -> mark#(X2)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(plus(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(s(X)) -> s#(mark(X))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(s(X)) -> active#(s(mark(X)))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(s(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U31(X1, X2)) -> U31#(mark(X1), X2)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U31(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U21(X)) -> U21#(mark(X))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U21(X)) -> active#(U21(mark(X)))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U21(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> U11#(mark(X1), X2)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U12(X)) -> active#(U12(mark(X)))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U12(X)) -> U12#(mark(X))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U12(X)) -> mark#(X)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2))) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(plus(X1, X2)) -> mark#(X2)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(plus(X1, X2)) -> mark#(X1)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(s(X)) -> s#(mark(X))) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(s(X)) -> active#(s(mark(X)))) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(s(X)) -> mark#(X)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U31(X1, X2)) -> U31#(mark(X1), X2)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U31(X1, X2)) -> mark#(X1)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U21(X)) -> U21#(mark(X))) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U21(X)) -> active#(U21(mark(X)))) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U21(X)) -> mark#(X)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U11(X1, X2)) -> U11#(mark(X1), X2)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(isNat(X)) -> active#(isNat(X))) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U12(X)) -> active#(U12(mark(X)))) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U12(X)) -> U12#(mark(X))) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U12(X)) -> mark#(X)) (U11#(X1, mark(X2)) -> U11#(X1, X2), U11#(active(X1), X2) -> U11#(X1, X2)) (U11#(X1, mark(X2)) -> U11#(X1, X2), U11#(mark(X1), X2) -> U11#(X1, X2)) (U11#(X1, mark(X2)) -> U11#(X1, X2), U11#(X1, active(X2)) -> U11#(X1, X2)) (U11#(X1, mark(X2)) -> U11#(X1, X2), U11#(X1, mark(X2)) -> U11#(X1, X2)) (U11#(mark(X1), X2) -> U11#(X1, X2), U11#(active(X1), X2) -> U11#(X1, X2)) (U11#(mark(X1), X2) -> U11#(X1, X2), U11#(mark(X1), X2) -> U11#(X1, X2)) (U11#(mark(X1), X2) -> U11#(X1, X2), U11#(X1, active(X2)) -> U11#(X1, X2)) (U11#(mark(X1), X2) -> U11#(X1, X2), U11#(X1, mark(X2)) -> U11#(X1, X2)) (U31#(X1, mark(X2)) -> U31#(X1, X2), U31#(active(X1), X2) -> U31#(X1, X2)) (U31#(X1, mark(X2)) -> U31#(X1, X2), U31#(mark(X1), X2) -> U31#(X1, X2)) (U31#(X1, mark(X2)) -> U31#(X1, X2), U31#(X1, active(X2)) -> U31#(X1, X2)) (U31#(X1, mark(X2)) -> U31#(X1, X2), U31#(X1, mark(X2)) -> U31#(X1, X2)) (U31#(mark(X1), X2) -> U31#(X1, X2), U31#(active(X1), X2) -> U31#(X1, X2)) (U31#(mark(X1), X2) -> U31#(X1, X2), U31#(mark(X1), X2) -> U31#(X1, X2)) (U31#(mark(X1), X2) -> U31#(X1, X2), U31#(X1, active(X2)) -> U31#(X1, X2)) (U31#(mark(X1), X2) -> U31#(X1, X2), U31#(X1, mark(X2)) -> U31#(X1, X2)) (plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(active(X1), X2) -> plus#(X1, X2)) (plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(mark(X1), X2) -> plus#(X1, X2)) (plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2)) (plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(X1, mark(X2)) -> plus#(X1, X2)) (plus#(mark(X1), X2) -> plus#(X1, X2), plus#(active(X1), X2) -> plus#(X1, X2)) (plus#(mark(X1), X2) -> plus#(X1, X2), plus#(mark(X1), X2) -> plus#(X1, X2)) (plus#(mark(X1), X2) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2)) (plus#(mark(X1), X2) -> plus#(X1, X2), plus#(X1, mark(X2)) -> plus#(X1, X2)) (active#(isNat(s(V1))) -> isNat#(V1), isNat#(active(X)) -> isNat#(X)) (active#(isNat(s(V1))) -> isNat#(V1), isNat#(mark(X)) -> isNat#(X)) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, 0())) -> U31#(isNat(N), N)) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, 0())) -> isNat#(N)) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, 0())) -> mark#(U31(isNat(N), N))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, s(M))) -> U41#(isNat(M), M, N)) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, s(M))) -> isNat#(M)) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U41(tt(), M, N)) -> U42#(isNat(N), M, N)) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U41(tt(), M, N)) -> isNat#(N)) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U42(tt(), M, N)) -> plus#(N, M)) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U42(tt(), M, N)) -> s#(plus(N, M))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U31(tt(), N)) -> mark#(N)) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U21(tt())) -> mark#(tt())) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U11(tt(), V2)) -> isNat#(V2)) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U11(tt(), V2)) -> U12#(isNat(V2))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(0())) -> mark#(tt())) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(plus(V1, V2))) -> U11#(isNat(V1), V2)) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(plus(V1, V2))) -> isNat#(V1)) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> U21#(isNat(V1))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> isNat#(V1)) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U12(tt())) -> mark#(tt())) (active#(U11(tt(), V2)) -> isNat#(V2), isNat#(active(X)) -> isNat#(X)) (active#(U11(tt(), V2)) -> isNat#(V2), isNat#(mark(X)) -> isNat#(X)) (active#(plus(N, 0())) -> U31#(isNat(N), N), U31#(active(X1), X2) -> U31#(X1, X2)) (active#(plus(N, 0())) -> U31#(isNat(N), N), U31#(mark(X1), X2) -> U31#(X1, X2)) (active#(plus(N, 0())) -> U31#(isNat(N), N), U31#(X1, active(X2)) -> U31#(X1, X2)) (active#(plus(N, 0())) -> U31#(isNat(N), N), U31#(X1, mark(X2)) -> U31#(X1, X2)) (active#(isNat(plus(V1, V2))) -> U11#(isNat(V1), V2), U11#(active(X1), X2) -> U11#(X1, X2)) (active#(isNat(plus(V1, V2))) -> U11#(isNat(V1), V2), U11#(mark(X1), X2) -> U11#(X1, X2)) (active#(isNat(plus(V1, V2))) -> U11#(isNat(V1), V2), U11#(X1, active(X2)) -> U11#(X1, X2)) (active#(isNat(plus(V1, V2))) -> U11#(isNat(V1), V2), U11#(X1, mark(X2)) -> U11#(X1, X2)) (active#(plus(N, s(M))) -> U41#(isNat(M), M, N), U41#(active(X1), X2, X3) -> U41#(X1, X2, X3)) (active#(plus(N, s(M))) -> U41#(isNat(M), M, N), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)) (active#(plus(N, s(M))) -> U41#(isNat(M), M, N), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (active#(plus(N, s(M))) -> U41#(isNat(M), M, N), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (active#(plus(N, s(M))) -> U41#(isNat(M), M, N), U41#(X1, X2, active(X3)) -> U41#(X1, X2, X3)) (active#(plus(N, s(M))) -> U41#(isNat(M), M, N), U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3)) (mark#(U21(X)) -> active#(U21(mark(X))), active#(plus(N, 0())) -> U31#(isNat(N), N)) (mark#(U21(X)) -> active#(U21(mark(X))), active#(plus(N, 0())) -> isNat#(N)) (mark#(U21(X)) -> active#(U21(mark(X))), active#(plus(N, 0())) -> mark#(U31(isNat(N), N))) (mark#(U21(X)) -> active#(U21(mark(X))), active#(plus(N, s(M))) -> U41#(isNat(M), M, N)) (mark#(U21(X)) -> active#(U21(mark(X))), active#(plus(N, s(M))) -> isNat#(M)) (mark#(U21(X)) -> active#(U21(mark(X))), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U21(X)) -> active#(U21(mark(X))), active#(U41(tt(), M, N)) -> U42#(isNat(N), M, N)) (mark#(U21(X)) -> active#(U21(mark(X))), active#(U41(tt(), M, N)) -> isNat#(N)) (mark#(U21(X)) -> active#(U21(mark(X))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U21(X)) -> active#(U21(mark(X))), active#(U42(tt(), M, N)) -> plus#(N, M)) (mark#(U21(X)) -> active#(U21(mark(X))), active#(U42(tt(), M, N)) -> s#(plus(N, M))) (mark#(U21(X)) -> active#(U21(mark(X))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U21(X)) -> active#(U21(mark(X))), active#(U31(tt(), N)) -> mark#(N)) (mark#(U21(X)) -> active#(U21(mark(X))), active#(U21(tt())) -> mark#(tt())) (mark#(U21(X)) -> active#(U21(mark(X))), active#(U11(tt(), V2)) -> isNat#(V2)) (mark#(U21(X)) -> active#(U21(mark(X))), active#(U11(tt(), V2)) -> U12#(isNat(V2))) (mark#(U21(X)) -> active#(U21(mark(X))), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U21(X)) -> active#(U21(mark(X))), active#(isNat(0())) -> mark#(tt())) (mark#(U21(X)) -> active#(U21(mark(X))), active#(isNat(plus(V1, V2))) -> U11#(isNat(V1), V2)) (mark#(U21(X)) -> active#(U21(mark(X))), active#(isNat(plus(V1, V2))) -> isNat#(V1)) (mark#(U21(X)) -> active#(U21(mark(X))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U21(X)) -> active#(U21(mark(X))), active#(isNat(s(V1))) -> U21#(isNat(V1))) (mark#(U21(X)) -> active#(U21(mark(X))), active#(isNat(s(V1))) -> isNat#(V1)) (mark#(U21(X)) -> active#(U21(mark(X))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U21(X)) -> active#(U21(mark(X))), active#(U12(tt())) -> mark#(tt())) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(plus(X1, X2)) -> mark#(X2)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(plus(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(s(X)) -> s#(mark(X))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(s(X)) -> active#(s(mark(X)))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(s(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U31(X1, X2)) -> U31#(mark(X1), X2)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U31(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U21(X)) -> U21#(mark(X))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U21(X)) -> active#(U21(mark(X)))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U21(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> U11#(mark(X1), X2)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U12(X)) -> active#(U12(mark(X)))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U12(X)) -> U12#(mark(X))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U12(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(s(X)) -> s#(mark(X))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(s(X)) -> active#(s(mark(X)))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(s(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U31(X1, X2)) -> U31#(mark(X1), X2)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U31(X1, X2)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U21(X)) -> U21#(mark(X))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U21(X)) -> active#(U21(mark(X)))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U21(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> U11#(mark(X1), X2)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U12(X)) -> active#(U12(mark(X)))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U12(X)) -> U12#(mark(X))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U12(X)) -> mark#(X)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(0()) -> active#(0())) (mark#(U31(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(s(X)) -> s#(mark(X))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(s(X)) -> active#(s(mark(X)))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> U31#(mark(X1), X2)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U21(X)) -> U21#(mark(X))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U21(X)) -> active#(U21(mark(X)))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(tt()) -> active#(tt())) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> U11#(mark(X1), X2)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U12(X)) -> active#(U12(mark(X)))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U12(X)) -> U12#(mark(X))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(0()) -> active#(0())) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> s#(mark(X))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> active#(s(mark(X)))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2)) -> U31#(mark(X1), X2)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U21(X)) -> U21#(mark(X))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U21(X)) -> active#(U21(mark(X)))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(tt()) -> active#(tt())) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2)) -> U11#(mark(X1), X2)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U12(X)) -> active#(U12(mark(X)))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U12(X)) -> U12#(mark(X))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(plus(N, 0())) -> U31#(isNat(N), N)) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(plus(N, 0())) -> isNat#(N)) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(plus(N, 0())) -> mark#(U31(isNat(N), N))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(plus(N, s(M))) -> U41#(isNat(M), M, N)) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(plus(N, s(M))) -> isNat#(M)) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> U42#(isNat(N), M, N)) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> isNat#(N)) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> plus#(N, M)) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> s#(plus(N, M))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U31(tt(), N)) -> mark#(N)) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U21(tt())) -> mark#(tt())) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> isNat#(V2)) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> U12#(isNat(V2))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(0())) -> mark#(tt())) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> U11#(isNat(V1), V2)) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> isNat#(V1)) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(s(V1))) -> U21#(isNat(V1))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(s(V1))) -> isNat#(V1)) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U12(tt())) -> mark#(tt())) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(s(X)) -> s#(mark(X))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(s(X)) -> active#(s(mark(X)))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(s(X)) -> mark#(X)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U31(X1, X2)) -> U31#(mark(X1), X2)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U31(X1, X2)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U21(X)) -> U21#(mark(X))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U21(X)) -> active#(U21(mark(X)))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U21(X)) -> mark#(X)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U11(X1, X2)) -> U11#(mark(X1), X2)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(isNat(X)) -> active#(isNat(X))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U12(X)) -> active#(U12(mark(X)))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U12(X)) -> U12#(mark(X))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U12(X)) -> mark#(X)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U12(X)) -> mark#(X)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U12(X)) -> U12#(mark(X))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U12(X)) -> active#(U12(mark(X)))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(isNat(X)) -> active#(isNat(X))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U11(X1, X2)) -> U11#(mark(X1), X2)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U21(X)) -> mark#(X)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U21(X)) -> active#(U21(mark(X)))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U21(X)) -> U21#(mark(X))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U31(X1, X2)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U31(X1, X2)) -> U31#(mark(X1), X2)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(s(X)) -> mark#(X)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(s(X)) -> active#(s(mark(X)))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(s(X)) -> s#(mark(X))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(plus(X1, X2)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(plus(X1, X2)) -> mark#(X2)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U12(tt())) -> mark#(tt())) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(s(V1))) -> isNat#(V1)) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(s(V1))) -> U21#(isNat(V1))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> isNat#(V1)) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> U11#(isNat(V1), V2)) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(0())) -> mark#(tt())) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> U12#(isNat(V2))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> isNat#(V2)) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U21(tt())) -> mark#(tt())) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U31(tt(), N)) -> mark#(N)) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> s#(plus(N, M))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> plus#(N, M)) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> isNat#(N)) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> U42#(isNat(N), M, N)) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(plus(N, s(M))) -> isNat#(M)) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(plus(N, s(M))) -> U41#(isNat(M), M, N)) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(plus(N, 0())) -> mark#(U31(isNat(N), N))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(plus(N, 0())) -> isNat#(N)) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(plus(N, 0())) -> U31#(isNat(N), N)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U12(X)) -> U12#(mark(X))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U12(X)) -> active#(U12(mark(X)))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> U11#(mark(X1), X2)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(tt()) -> active#(tt())) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U21(X)) -> active#(U21(mark(X)))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U21(X)) -> U21#(mark(X))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> U31#(mark(X1), X2)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(s(X)) -> active#(s(mark(X)))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(s(X)) -> s#(mark(X))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(0()) -> active#(0())) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U12(X)) -> U12#(mark(X))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U12(X)) -> active#(U12(mark(X)))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2)) -> U11#(mark(X1), X2)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(tt()) -> active#(tt())) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U21(X)) -> active#(U21(mark(X)))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U21(X)) -> U21#(mark(X))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2)) -> U31#(mark(X1), X2)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> active#(s(mark(X)))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> s#(mark(X))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(0()) -> active#(0())) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U12(X)) -> U12#(mark(X))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U12(X)) -> active#(U12(mark(X)))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> U11#(mark(X1), X2)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(tt()) -> active#(tt())) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> active#(U21(mark(X)))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> U21#(mark(X))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> U31#(mark(X1), X2)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(s(X)) -> active#(s(mark(X)))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(s(X)) -> s#(mark(X))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(0()) -> active#(0())) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U12(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U12(X)) -> U12#(mark(X))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U12(X)) -> active#(U12(mark(X)))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> U11#(mark(X1), X2)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U21(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U21(X)) -> active#(U21(mark(X)))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U21(X)) -> U21#(mark(X))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U31(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U31(X1, X2)) -> U31#(mark(X1), X2)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(s(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(s(X)) -> active#(s(mark(X)))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(s(X)) -> s#(mark(X))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2))) (mark#(s(X)) -> active#(s(mark(X))), active#(U12(tt())) -> mark#(tt())) (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(s(V1))) -> isNat#(V1)) (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(s(V1))) -> U21#(isNat(V1))) (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(plus(V1, V2))) -> isNat#(V1)) (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(plus(V1, V2))) -> U11#(isNat(V1), V2)) (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(0())) -> mark#(tt())) (mark#(s(X)) -> active#(s(mark(X))), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(s(X)) -> active#(s(mark(X))), active#(U11(tt(), V2)) -> U12#(isNat(V2))) (mark#(s(X)) -> active#(s(mark(X))), active#(U11(tt(), V2)) -> isNat#(V2)) (mark#(s(X)) -> active#(s(mark(X))), active#(U21(tt())) -> mark#(tt())) (mark#(s(X)) -> active#(s(mark(X))), active#(U31(tt(), N)) -> mark#(N)) (mark#(s(X)) -> active#(s(mark(X))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(s(X)) -> active#(s(mark(X))), active#(U42(tt(), M, N)) -> s#(plus(N, M))) (mark#(s(X)) -> active#(s(mark(X))), active#(U42(tt(), M, N)) -> plus#(N, M)) (mark#(s(X)) -> active#(s(mark(X))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(s(X)) -> active#(s(mark(X))), active#(U41(tt(), M, N)) -> isNat#(N)) (mark#(s(X)) -> active#(s(mark(X))), active#(U41(tt(), M, N)) -> U42#(isNat(N), M, N)) (mark#(s(X)) -> active#(s(mark(X))), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(s(X)) -> active#(s(mark(X))), active#(plus(N, s(M))) -> isNat#(M)) (mark#(s(X)) -> active#(s(mark(X))), active#(plus(N, s(M))) -> U41#(isNat(M), M, N)) (mark#(s(X)) -> active#(s(mark(X))), active#(plus(N, 0())) -> mark#(U31(isNat(N), N))) (mark#(s(X)) -> active#(s(mark(X))), active#(plus(N, 0())) -> isNat#(N)) (mark#(s(X)) -> active#(s(mark(X))), active#(plus(N, 0())) -> U31#(isNat(N), N)) (mark#(U12(X)) -> active#(U12(mark(X))), active#(U12(tt())) -> mark#(tt())) (mark#(U12(X)) -> active#(U12(mark(X))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U12(X)) -> active#(U12(mark(X))), active#(isNat(s(V1))) -> isNat#(V1)) (mark#(U12(X)) -> active#(U12(mark(X))), active#(isNat(s(V1))) -> U21#(isNat(V1))) (mark#(U12(X)) -> active#(U12(mark(X))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U12(X)) -> active#(U12(mark(X))), active#(isNat(plus(V1, V2))) -> isNat#(V1)) (mark#(U12(X)) -> active#(U12(mark(X))), active#(isNat(plus(V1, V2))) -> U11#(isNat(V1), V2)) (mark#(U12(X)) -> active#(U12(mark(X))), active#(isNat(0())) -> mark#(tt())) (mark#(U12(X)) -> active#(U12(mark(X))), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U12(X)) -> active#(U12(mark(X))), active#(U11(tt(), V2)) -> U12#(isNat(V2))) (mark#(U12(X)) -> active#(U12(mark(X))), active#(U11(tt(), V2)) -> isNat#(V2)) (mark#(U12(X)) -> active#(U12(mark(X))), active#(U21(tt())) -> mark#(tt())) (mark#(U12(X)) -> active#(U12(mark(X))), active#(U31(tt(), N)) -> mark#(N)) (mark#(U12(X)) -> active#(U12(mark(X))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U12(X)) -> active#(U12(mark(X))), active#(U42(tt(), M, N)) -> s#(plus(N, M))) (mark#(U12(X)) -> active#(U12(mark(X))), active#(U42(tt(), M, N)) -> plus#(N, M)) (mark#(U12(X)) -> active#(U12(mark(X))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U12(X)) -> active#(U12(mark(X))), active#(U41(tt(), M, N)) -> isNat#(N)) (mark#(U12(X)) -> active#(U12(mark(X))), active#(U41(tt(), M, N)) -> U42#(isNat(N), M, N)) (mark#(U12(X)) -> active#(U12(mark(X))), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U12(X)) -> active#(U12(mark(X))), active#(plus(N, s(M))) -> isNat#(M)) (mark#(U12(X)) -> active#(U12(mark(X))), active#(plus(N, s(M))) -> U41#(isNat(M), M, N)) (mark#(U12(X)) -> active#(U12(mark(X))), active#(plus(N, 0())) -> mark#(U31(isNat(N), N))) (mark#(U12(X)) -> active#(U12(mark(X))), active#(plus(N, 0())) -> isNat#(N)) (mark#(U12(X)) -> active#(U12(mark(X))), active#(plus(N, 0())) -> U31#(isNat(N), N)) (active#(U41(tt(), M, N)) -> U42#(isNat(N), M, N), U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3)) (active#(U41(tt(), M, N)) -> U42#(isNat(N), M, N), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (active#(U41(tt(), M, N)) -> U42#(isNat(N), M, N), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (active#(U41(tt(), M, N)) -> U42#(isNat(N), M, N), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)) (active#(U41(tt(), M, N)) -> U42#(isNat(N), M, N), U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3)) (active#(U41(tt(), M, N)) -> U42#(isNat(N), M, N), U42#(active(X1), X2, X3) -> U42#(X1, X2, X3)) (active#(plus(N, s(M))) -> isNat#(M), isNat#(mark(X)) -> isNat#(X)) (active#(plus(N, s(M))) -> isNat#(M), isNat#(active(X)) -> isNat#(X)) (active#(U42(tt(), M, N)) -> plus#(N, M), plus#(X1, mark(X2)) -> plus#(X1, X2)) (active#(U42(tt(), M, N)) -> plus#(N, M), plus#(X1, active(X2)) -> plus#(X1, X2)) (active#(U42(tt(), M, N)) -> plus#(N, M), plus#(mark(X1), X2) -> plus#(X1, X2)) (active#(U42(tt(), M, N)) -> plus#(N, M), plus#(active(X1), X2) -> plus#(X1, X2)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U12(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U12(X)) -> U12#(mark(X))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U12(X)) -> active#(U12(mark(X)))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(isNat(X)) -> active#(isNat(X))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U11(X1, X2)) -> U11#(mark(X1), X2)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(tt()) -> active#(tt())) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U21(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U21(X)) -> active#(U21(mark(X)))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U21(X)) -> U21#(mark(X))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U31(X1, X2)) -> U31#(mark(X1), X2)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(s(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(s(X)) -> active#(s(mark(X)))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(s(X)) -> s#(mark(X))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(0()) -> active#(0())) (active#(isNat(plus(V1, V2))) -> isNat#(V1), isNat#(mark(X)) -> isNat#(X)) (active#(isNat(plus(V1, V2))) -> isNat#(V1), isNat#(active(X)) -> isNat#(X)) (plus#(active(X1), X2) -> plus#(X1, X2), plus#(X1, mark(X2)) -> plus#(X1, X2)) (plus#(active(X1), X2) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2)) (plus#(active(X1), X2) -> plus#(X1, X2), plus#(mark(X1), X2) -> plus#(X1, X2)) (plus#(active(X1), X2) -> plus#(X1, X2), plus#(active(X1), X2) -> plus#(X1, X2)) (plus#(X1, active(X2)) -> plus#(X1, X2), plus#(X1, mark(X2)) -> plus#(X1, X2)) (plus#(X1, active(X2)) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2)) (plus#(X1, active(X2)) -> plus#(X1, X2), plus#(mark(X1), X2) -> plus#(X1, X2)) (plus#(X1, active(X2)) -> plus#(X1, X2), plus#(active(X1), X2) -> plus#(X1, X2)) (U31#(active(X1), X2) -> U31#(X1, X2), U31#(X1, mark(X2)) -> U31#(X1, X2)) (U31#(active(X1), X2) -> U31#(X1, X2), U31#(X1, active(X2)) -> U31#(X1, X2)) (U31#(active(X1), X2) -> U31#(X1, X2), U31#(mark(X1), X2) -> U31#(X1, X2)) (U31#(active(X1), X2) -> U31#(X1, X2), U31#(active(X1), X2) -> U31#(X1, X2)) (U31#(X1, active(X2)) -> U31#(X1, X2), U31#(X1, mark(X2)) -> U31#(X1, X2)) (U31#(X1, active(X2)) -> U31#(X1, X2), U31#(X1, active(X2)) -> U31#(X1, X2)) (U31#(X1, active(X2)) -> U31#(X1, X2), U31#(mark(X1), X2) -> U31#(X1, X2)) (U31#(X1, active(X2)) -> U31#(X1, X2), U31#(active(X1), X2) -> U31#(X1, X2)) (U11#(active(X1), X2) -> U11#(X1, X2), U11#(X1, mark(X2)) -> U11#(X1, X2)) (U11#(active(X1), X2) -> U11#(X1, X2), U11#(X1, active(X2)) -> U11#(X1, X2)) (U11#(active(X1), X2) -> U11#(X1, X2), U11#(mark(X1), X2) -> U11#(X1, X2)) (U11#(active(X1), X2) -> U11#(X1, X2), U11#(active(X1), X2) -> U11#(X1, X2)) (U11#(X1, active(X2)) -> U11#(X1, X2), U11#(X1, mark(X2)) -> U11#(X1, X2)) (U11#(X1, active(X2)) -> U11#(X1, X2), U11#(X1, active(X2)) -> U11#(X1, X2)) (U11#(X1, active(X2)) -> U11#(X1, X2), U11#(mark(X1), X2) -> U11#(X1, X2)) (U11#(X1, active(X2)) -> U11#(X1, X2), U11#(active(X1), X2) -> U11#(X1, X2)) (mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)), plus#(X1, mark(X2)) -> plus#(X1, X2)) (mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)), plus#(X1, active(X2)) -> plus#(X1, X2)) (mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)), plus#(mark(X1), X2) -> plus#(X1, X2)) (mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)), plus#(active(X1), X2) -> plus#(X1, X2)) (active#(U42(tt(), M, N)) -> s#(plus(N, M)), s#(mark(X)) -> s#(X)) (active#(U42(tt(), M, N)) -> s#(plus(N, M)), s#(active(X)) -> s#(X)) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U12(tt())) -> mark#(tt())) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(isNat(s(V1))) -> isNat#(V1)) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(isNat(s(V1))) -> U21#(isNat(V1))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> isNat#(V1)) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> U11#(isNat(V1), V2)) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(isNat(0())) -> mark#(tt())) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U11(tt(), V2)) -> U12#(isNat(V2))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U11(tt(), V2)) -> isNat#(V2)) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U21(tt())) -> mark#(tt())) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U31(tt(), N)) -> mark#(N)) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U42(tt(), M, N)) -> s#(plus(N, M))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U42(tt(), M, N)) -> plus#(N, M)) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U41(tt(), M, N)) -> isNat#(N)) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U41(tt(), M, N)) -> U42#(isNat(N), M, N)) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(plus(N, s(M))) -> isNat#(M)) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(plus(N, s(M))) -> U41#(isNat(M), M, N)) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(plus(N, 0())) -> mark#(U31(isNat(N), N))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(plus(N, 0())) -> isNat#(N)) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(plus(N, 0())) -> U31#(isNat(N), N)) (active#(plus(N, 0())) -> isNat#(N), isNat#(mark(X)) -> isNat#(X)) (active#(plus(N, 0())) -> isNat#(N), isNat#(active(X)) -> isNat#(X)) (active#(U31(tt(), N)) -> mark#(N), mark#(U12(X)) -> mark#(X)) (active#(U31(tt(), N)) -> mark#(N), mark#(U12(X)) -> U12#(mark(X))) (active#(U31(tt(), N)) -> mark#(N), mark#(U12(X)) -> active#(U12(mark(X)))) (active#(U31(tt(), N)) -> mark#(N), mark#(isNat(X)) -> active#(isNat(X))) (active#(U31(tt(), N)) -> mark#(N), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U31(tt(), N)) -> mark#(N), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U31(tt(), N)) -> mark#(N), mark#(U11(X1, X2)) -> U11#(mark(X1), X2)) (active#(U31(tt(), N)) -> mark#(N), mark#(tt()) -> active#(tt())) (active#(U31(tt(), N)) -> mark#(N), mark#(U21(X)) -> mark#(X)) (active#(U31(tt(), N)) -> mark#(N), mark#(U21(X)) -> active#(U21(mark(X)))) (active#(U31(tt(), N)) -> mark#(N), mark#(U21(X)) -> U21#(mark(X))) (active#(U31(tt(), N)) -> mark#(N), mark#(U31(X1, X2)) -> mark#(X1)) (active#(U31(tt(), N)) -> mark#(N), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(U31(tt(), N)) -> mark#(N), mark#(U31(X1, X2)) -> U31#(mark(X1), X2)) (active#(U31(tt(), N)) -> mark#(N), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(U31(tt(), N)) -> mark#(N), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U31(tt(), N)) -> mark#(N), mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3)) (active#(U31(tt(), N)) -> mark#(N), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(U31(tt(), N)) -> mark#(N), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U31(tt(), N)) -> mark#(N), mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3)) (active#(U31(tt(), N)) -> mark#(N), mark#(s(X)) -> mark#(X)) (active#(U31(tt(), N)) -> mark#(N), mark#(s(X)) -> active#(s(mark(X)))) (active#(U31(tt(), N)) -> mark#(N), mark#(s(X)) -> s#(mark(X))) (active#(U31(tt(), N)) -> mark#(N), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U31(tt(), N)) -> mark#(N), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U31(tt(), N)) -> mark#(N), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(U31(tt(), N)) -> mark#(N), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2))) (active#(U31(tt(), N)) -> mark#(N), mark#(0()) -> active#(0())) (mark#(U11(X1, X2)) -> U11#(mark(X1), X2), U11#(X1, mark(X2)) -> U11#(X1, X2)) (mark#(U11(X1, X2)) -> U11#(mark(X1), X2), U11#(X1, active(X2)) -> U11#(X1, X2)) (mark#(U11(X1, X2)) -> U11#(mark(X1), X2), U11#(mark(X1), X2) -> U11#(X1, X2)) (mark#(U11(X1, X2)) -> U11#(mark(X1), X2), U11#(active(X1), X2) -> U11#(X1, X2)) (s#(mark(X)) -> s#(X), s#(mark(X)) -> s#(X)) (s#(mark(X)) -> s#(X), s#(active(X)) -> s#(X)) (U21#(mark(X)) -> U21#(X), U21#(mark(X)) -> U21#(X)) (U21#(mark(X)) -> U21#(X), U21#(active(X)) -> U21#(X)) (isNat#(mark(X)) -> isNat#(X), isNat#(mark(X)) -> isNat#(X)) (isNat#(mark(X)) -> isNat#(X), isNat#(active(X)) -> isNat#(X)) (U12#(mark(X)) -> U12#(X), U12#(mark(X)) -> U12#(X)) (U12#(mark(X)) -> U12#(X), U12#(active(X)) -> U12#(X)) (mark#(U21(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(U12(X)) -> U12#(mark(X))) (mark#(U21(X)) -> mark#(X), mark#(U12(X)) -> active#(U12(mark(X)))) (mark#(U21(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> U11#(mark(X1), X2)) (mark#(U21(X)) -> mark#(X), mark#(tt()) -> active#(tt())) (mark#(U21(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(U21(X)) -> active#(U21(mark(X)))) (mark#(U21(X)) -> mark#(X), mark#(U21(X)) -> U21#(mark(X))) (mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> U31#(mark(X1), X2)) (mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> U42#(mark(X1), X2, X3)) (mark#(U21(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U21(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3)) (mark#(U21(X)) -> mark#(X), mark#(s(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(s(X)) -> active#(s(mark(X)))) (mark#(U21(X)) -> mark#(X), mark#(s(X)) -> s#(mark(X))) (mark#(U21(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U21(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U21(X)) -> mark#(X), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2))) (mark#(U21(X)) -> mark#(X), mark#(0()) -> active#(0())) (U41#(active(X1), X2, X3) -> U41#(X1, X2, X3), U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3)) (U41#(active(X1), X2, X3) -> U41#(X1, X2, X3), U41#(X1, X2, active(X3)) -> U41#(X1, X2, X3)) (U41#(active(X1), X2, X3) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (U41#(active(X1), X2, X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (U41#(active(X1), X2, X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(active(X1), X2, X3) -> U41#(X1, X2, X3), U41#(active(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3)) (U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(X1, X2, active(X3)) -> U41#(X1, X2, X3)) (U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(active(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(X1, X2, active(X3)) -> U41#(X1, X2, X3), U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3)) (U41#(X1, X2, active(X3)) -> U41#(X1, X2, X3), U41#(X1, X2, active(X3)) -> U41#(X1, X2, X3)) (U41#(X1, X2, active(X3)) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, X2, active(X3)) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, X2, active(X3)) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(X1, X2, active(X3)) -> U41#(X1, X2, X3), U41#(active(X1), X2, X3) -> U41#(X1, X2, X3)) (U42#(active(X1), X2, X3) -> U42#(X1, X2, X3), U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3)) (U42#(active(X1), X2, X3) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (U42#(active(X1), X2, X3) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (U42#(active(X1), X2, X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)) (U42#(active(X1), X2, X3) -> U42#(X1, X2, X3), U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3)) (U42#(active(X1), X2, X3) -> U42#(X1, X2, X3), U42#(active(X1), X2, X3) -> U42#(X1, X2, X3)) (U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3)) (U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3)) (U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(active(X1), X2, X3) -> U42#(X1, X2, X3)) (U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3)) (U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3)) (U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(active(X1), X2, X3) -> U42#(X1, X2, X3)) (mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3), U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3)) (mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3), U41#(X1, X2, active(X3)) -> U41#(X1, X2, X3)) (mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)) (mark#(U41(X1, X2, X3)) -> U41#(mark(X1), X2, X3), U41#(active(X1), X2, X3) -> U41#(X1, X2, X3)) (active#(U11(tt(), V2)) -> U12#(isNat(V2)), U12#(mark(X)) -> U12#(X)) (active#(U11(tt(), V2)) -> U12#(isNat(V2)), U12#(active(X)) -> U12#(X)) (active#(U21(tt())) -> mark#(tt()), mark#(tt()) -> active#(tt())) (active#(U12(tt())) -> mark#(tt()), mark#(tt()) -> active#(tt())) (mark#(U21(X)) -> U21#(mark(X)), U21#(mark(X)) -> U21#(X)) (mark#(U21(X)) -> U21#(mark(X)), U21#(active(X)) -> U21#(X)) (mark#(U12(X)) -> U12#(mark(X)), U12#(mark(X)) -> U12#(X)) (mark#(U12(X)) -> U12#(mark(X)), U12#(active(X)) -> U12#(X)) } SCCS: Scc: { plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2), plus#(mark(X1), X2) -> plus#(X1, X2), plus#(active(X1), X2) -> plus#(X1, X2)} Scc: { s#(mark(X)) -> s#(X), s#(active(X)) -> s#(X)} Scc: { U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(X1, X2, active(X3)) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(active(X1), X2, X3) -> U41#(X1, X2, X3)} Scc: { U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3), U42#(active(X1), X2, X3) -> U42#(X1, X2, X3)} Scc: { U31#(X1, mark(X2)) -> U31#(X1, X2), U31#(X1, active(X2)) -> U31#(X1, X2), U31#(mark(X1), X2) -> U31#(X1, X2), U31#(active(X1), X2) -> U31#(X1, X2)} Scc: { U21#(mark(X)) -> U21#(X), U21#(active(X)) -> U21#(X)} Scc: { U11#(X1, mark(X2)) -> U11#(X1, X2), U11#(X1, active(X2)) -> U11#(X1, X2), U11#(mark(X1), X2) -> U11#(X1, X2), U11#(active(X1), X2) -> U11#(X1, X2)} Scc: { isNat#(mark(X)) -> isNat#(X), isNat#(active(X)) -> isNat#(X)} Scc: { U12#(mark(X)) -> U12#(X), U12#(active(X)) -> U12#(X)} Scc: { mark#(U12(X)) -> mark#(X), mark#(U12(X)) -> active#(U12(mark(X))), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U21(X)) -> active#(U21(mark(X))), mark#(U31(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), mark#(s(X)) -> mark#(X), mark#(s(X)) -> active#(s(mark(X))), mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U31(tt(), N)) -> mark#(N), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), active#(plus(N, 0())) -> mark#(U31(isNat(N), N))} SCC: Strict: { plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2), plus#(mark(X1), X2) -> plus#(X1, X2), plus#(active(X1), X2) -> plus#(X1, X2)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(plus#) = 0 Strict: { plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2), plus#(mark(X1), X2) -> plus#(X1, X2)} EDG: {(plus#(X1, active(X2)) -> plus#(X1, X2), plus#(mark(X1), X2) -> plus#(X1, X2)) (plus#(X1, active(X2)) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2)) (plus#(X1, active(X2)) -> plus#(X1, X2), plus#(X1, mark(X2)) -> plus#(X1, X2)) (plus#(mark(X1), X2) -> plus#(X1, X2), plus#(X1, mark(X2)) -> plus#(X1, X2)) (plus#(mark(X1), X2) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2)) (plus#(mark(X1), X2) -> plus#(X1, X2), plus#(mark(X1), X2) -> plus#(X1, X2)) (plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(X1, mark(X2)) -> plus#(X1, X2)) (plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2)) (plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(mark(X1), X2) -> plus#(X1, X2))} SCCS: Scc: { plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2), plus#(mark(X1), X2) -> plus#(X1, X2)} SCC: Strict: { plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2), plus#(mark(X1), X2) -> plus#(X1, X2)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(plus#) = 0 Strict: { plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2)} EDG: {(plus#(X1, active(X2)) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2)) (plus#(X1, active(X2)) -> plus#(X1, X2), plus#(X1, mark(X2)) -> plus#(X1, X2)) (plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(X1, mark(X2)) -> plus#(X1, X2)) (plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2))} SCCS: Scc: { plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2)} SCC: Strict: { plus#(X1, mark(X2)) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(plus#) = 1 Strict: {plus#(X1, active(X2)) -> plus#(X1, X2)} EDG: {(plus#(X1, active(X2)) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2))} SCCS: Scc: {plus#(X1, active(X2)) -> plus#(X1, X2)} SCC: Strict: {plus#(X1, active(X2)) -> plus#(X1, X2)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(plus#) = 1 Strict: {} Qed SCC: Strict: { s#(mark(X)) -> s#(X), s#(active(X)) -> s#(X)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(s#) = 0 Strict: {s#(active(X)) -> s#(X)} EDG: {(s#(active(X)) -> s#(X), s#(active(X)) -> s#(X))} SCCS: Scc: {s#(active(X)) -> s#(X)} SCC: Strict: {s#(active(X)) -> s#(X)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(s#) = 0 Strict: {} Qed SCC: Strict: { U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(X1, X2, active(X3)) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(active(X1), X2, X3) -> U41#(X1, X2, X3)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U41#) = 2 Strict: { U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(active(X1), X2, X3) -> U41#(X1, X2, X3)} EDG: {(U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(active(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3)) (U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(active(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3)) (U41#(active(X1), X2, X3) -> U41#(X1, X2, X3), U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3)) (U41#(active(X1), X2, X3) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (U41#(active(X1), X2, X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (U41#(active(X1), X2, X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(active(X1), X2, X3) -> U41#(X1, X2, X3), U41#(active(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3)) (U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(active(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3)) (U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(active(X1), X2, X3) -> U41#(X1, X2, X3))} SCCS: Scc: { U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(active(X1), X2, X3) -> U41#(X1, X2, X3)} SCC: Strict: { U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(active(X1), X2, X3) -> U41#(X1, X2, X3)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U41#) = 0 Strict: { U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)} EDG: {(U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3)) (U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3)) (U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3)) (U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3)) (U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3))} SCCS: Scc: { U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)} SCC: Strict: { U41#(X1, X2, mark(X3)) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U41#) = 2 Strict: { U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)} EDG: {(U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)) (U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3))} SCCS: Scc: { U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)} SCC: Strict: { U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(mark(X1), X2, X3) -> U41#(X1, X2, X3)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U41#) = 0 Strict: { U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)} EDG: {(U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3)) (U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3))} SCCS: Scc: { U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)} SCC: Strict: { U41#(X1, mark(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U41#) = 1 Strict: {U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)} EDG: {(U41#(X1, active(X2), X3) -> U41#(X1, X2, X3), U41#(X1, active(X2), X3) -> U41#(X1, X2, X3))} SCCS: Scc: {U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)} SCC: Strict: {U41#(X1, active(X2), X3) -> U41#(X1, X2, X3)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U41#) = 1 Strict: {} Qed SCC: Strict: { U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3), U42#(active(X1), X2, X3) -> U42#(X1, X2, X3)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U42#) = 0 Strict: { U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3)} EDG: {(U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3)) (U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3)) (U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3)) (U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3)) (U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3), U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3)) (U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)) (U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3), U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3)) (U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3)) (U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3)) (U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3)) (U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3))} SCCS: Scc: { U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3)} SCC: Strict: { U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(mark(X1), X2, X3) -> U42#(X1, X2, X3)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U42#) = 0 Strict: { U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)} EDG: {(U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3)) (U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3)) (U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3)) (U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3)) (U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3))} SCCS: Scc: { U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)} SCC: Strict: { U42#(X1, X2, mark(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U42#) = 2 Strict: {U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)} EDG: {(U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, active(X2), X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3))} SCCS: Scc: {U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)} SCC: Strict: {U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, active(X2), X3) -> U42#(X1, X2, X3)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U42#) = 1 Strict: {U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)} EDG: {(U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)) (U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)) (U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3))} SCCS: Scc: {U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)} SCC: Strict: {U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, mark(X2), X3) -> U42#(X1, X2, X3)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U42#) = 1 Strict: {U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)} EDG: {(U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3), U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3))} SCCS: Scc: {U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)} SCC: Strict: {U42#(X1, X2, active(X3)) -> U42#(X1, X2, X3)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U42#) = 2 Strict: {} Qed SCC: Strict: { U31#(X1, mark(X2)) -> U31#(X1, X2), U31#(X1, active(X2)) -> U31#(X1, X2), U31#(mark(X1), X2) -> U31#(X1, X2), U31#(active(X1), X2) -> U31#(X1, X2)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U31#) = 1 Strict: { U31#(X1, mark(X2)) -> U31#(X1, X2), U31#(mark(X1), X2) -> U31#(X1, X2), U31#(active(X1), X2) -> U31#(X1, X2)} EDG: {(U31#(mark(X1), X2) -> U31#(X1, X2), U31#(active(X1), X2) -> U31#(X1, X2)) (U31#(mark(X1), X2) -> U31#(X1, X2), U31#(mark(X1), X2) -> U31#(X1, X2)) (U31#(mark(X1), X2) -> U31#(X1, X2), U31#(X1, mark(X2)) -> U31#(X1, X2)) (U31#(active(X1), X2) -> U31#(X1, X2), U31#(X1, mark(X2)) -> U31#(X1, X2)) (U31#(active(X1), X2) -> U31#(X1, X2), U31#(mark(X1), X2) -> U31#(X1, X2)) (U31#(active(X1), X2) -> U31#(X1, X2), U31#(active(X1), X2) -> U31#(X1, X2)) (U31#(X1, mark(X2)) -> U31#(X1, X2), U31#(X1, mark(X2)) -> U31#(X1, X2)) (U31#(X1, mark(X2)) -> U31#(X1, X2), U31#(mark(X1), X2) -> U31#(X1, X2)) (U31#(X1, mark(X2)) -> U31#(X1, X2), U31#(active(X1), X2) -> U31#(X1, X2))} SCCS: Scc: { U31#(X1, mark(X2)) -> U31#(X1, X2), U31#(mark(X1), X2) -> U31#(X1, X2), U31#(active(X1), X2) -> U31#(X1, X2)} SCC: Strict: { U31#(X1, mark(X2)) -> U31#(X1, X2), U31#(mark(X1), X2) -> U31#(X1, X2), U31#(active(X1), X2) -> U31#(X1, X2)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U31#) = 0 Strict: {U31#(X1, mark(X2)) -> U31#(X1, X2), U31#(mark(X1), X2) -> U31#(X1, X2)} EDG: {(U31#(mark(X1), X2) -> U31#(X1, X2), U31#(mark(X1), X2) -> U31#(X1, X2)) (U31#(mark(X1), X2) -> U31#(X1, X2), U31#(X1, mark(X2)) -> U31#(X1, X2)) (U31#(X1, mark(X2)) -> U31#(X1, X2), U31#(X1, mark(X2)) -> U31#(X1, X2)) (U31#(X1, mark(X2)) -> U31#(X1, X2), U31#(mark(X1), X2) -> U31#(X1, X2))} SCCS: Scc: {U31#(X1, mark(X2)) -> U31#(X1, X2), U31#(mark(X1), X2) -> U31#(X1, X2)} SCC: Strict: {U31#(X1, mark(X2)) -> U31#(X1, X2), U31#(mark(X1), X2) -> U31#(X1, X2)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U31#) = 0 Strict: {U31#(X1, mark(X2)) -> U31#(X1, X2)} EDG: {(U31#(X1, mark(X2)) -> U31#(X1, X2), U31#(X1, mark(X2)) -> U31#(X1, X2))} SCCS: Scc: {U31#(X1, mark(X2)) -> U31#(X1, X2)} SCC: Strict: {U31#(X1, mark(X2)) -> U31#(X1, X2)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U31#) = 1 Strict: {} Qed SCC: Strict: { U21#(mark(X)) -> U21#(X), U21#(active(X)) -> U21#(X)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U21#) = 0 Strict: {U21#(active(X)) -> U21#(X)} EDG: {(U21#(active(X)) -> U21#(X), U21#(active(X)) -> U21#(X))} SCCS: Scc: {U21#(active(X)) -> U21#(X)} SCC: Strict: {U21#(active(X)) -> U21#(X)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U21#) = 0 Strict: {} Qed SCC: Strict: { U11#(X1, mark(X2)) -> U11#(X1, X2), U11#(X1, active(X2)) -> U11#(X1, X2), U11#(mark(X1), X2) -> U11#(X1, X2), U11#(active(X1), X2) -> U11#(X1, X2)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U11#) = 0 Strict: { U11#(X1, mark(X2)) -> U11#(X1, X2), U11#(X1, active(X2)) -> U11#(X1, X2), U11#(mark(X1), X2) -> U11#(X1, X2)} EDG: {(U11#(X1, active(X2)) -> U11#(X1, X2), U11#(mark(X1), X2) -> U11#(X1, X2)) (U11#(X1, active(X2)) -> U11#(X1, X2), U11#(X1, active(X2)) -> U11#(X1, X2)) (U11#(X1, active(X2)) -> U11#(X1, X2), U11#(X1, mark(X2)) -> U11#(X1, X2)) (U11#(mark(X1), X2) -> U11#(X1, X2), U11#(X1, mark(X2)) -> U11#(X1, X2)) (U11#(mark(X1), X2) -> U11#(X1, X2), U11#(X1, active(X2)) -> U11#(X1, X2)) (U11#(mark(X1), X2) -> U11#(X1, X2), U11#(mark(X1), X2) -> U11#(X1, X2)) (U11#(X1, mark(X2)) -> U11#(X1, X2), U11#(X1, mark(X2)) -> U11#(X1, X2)) (U11#(X1, mark(X2)) -> U11#(X1, X2), U11#(X1, active(X2)) -> U11#(X1, X2)) (U11#(X1, mark(X2)) -> U11#(X1, X2), U11#(mark(X1), X2) -> U11#(X1, X2))} SCCS: Scc: { U11#(X1, mark(X2)) -> U11#(X1, X2), U11#(X1, active(X2)) -> U11#(X1, X2), U11#(mark(X1), X2) -> U11#(X1, X2)} SCC: Strict: { U11#(X1, mark(X2)) -> U11#(X1, X2), U11#(X1, active(X2)) -> U11#(X1, X2), U11#(mark(X1), X2) -> U11#(X1, X2)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U11#) = 1 Strict: {U11#(X1, mark(X2)) -> U11#(X1, X2), U11#(mark(X1), X2) -> U11#(X1, X2)} EDG: {(U11#(mark(X1), X2) -> U11#(X1, X2), U11#(mark(X1), X2) -> U11#(X1, X2)) (U11#(mark(X1), X2) -> U11#(X1, X2), U11#(X1, mark(X2)) -> U11#(X1, X2)) (U11#(X1, mark(X2)) -> U11#(X1, X2), U11#(X1, mark(X2)) -> U11#(X1, X2)) (U11#(X1, mark(X2)) -> U11#(X1, X2), U11#(mark(X1), X2) -> U11#(X1, X2))} SCCS: Scc: {U11#(X1, mark(X2)) -> U11#(X1, X2), U11#(mark(X1), X2) -> U11#(X1, X2)} SCC: Strict: {U11#(X1, mark(X2)) -> U11#(X1, X2), U11#(mark(X1), X2) -> U11#(X1, X2)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U11#) = 0 Strict: {U11#(X1, mark(X2)) -> U11#(X1, X2)} EDG: {(U11#(X1, mark(X2)) -> U11#(X1, X2), U11#(X1, mark(X2)) -> U11#(X1, X2))} SCCS: Scc: {U11#(X1, mark(X2)) -> U11#(X1, X2)} SCC: Strict: {U11#(X1, mark(X2)) -> U11#(X1, X2)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U11#) = 1 Strict: {} Qed SCC: Strict: { isNat#(mark(X)) -> isNat#(X), isNat#(active(X)) -> isNat#(X)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(isNat#) = 0 Strict: {isNat#(active(X)) -> isNat#(X)} EDG: {(isNat#(active(X)) -> isNat#(X), isNat#(active(X)) -> isNat#(X))} SCCS: Scc: {isNat#(active(X)) -> isNat#(X)} SCC: Strict: {isNat#(active(X)) -> isNat#(X)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(isNat#) = 0 Strict: {} Qed SCC: Strict: { U12#(mark(X)) -> U12#(X), U12#(active(X)) -> U12#(X)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U12#) = 0 Strict: {U12#(active(X)) -> U12#(X)} EDG: {(U12#(active(X)) -> U12#(X), U12#(active(X)) -> U12#(X))} SCCS: Scc: {U12#(active(X)) -> U12#(X)} SCC: Strict: {U12#(active(X)) -> U12#(X)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(U12#) = 0 Strict: {} Qed SCC: Strict: { mark#(U12(X)) -> mark#(X), mark#(U12(X)) -> active#(U12(mark(X))), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U21(X)) -> active#(U21(mark(X))), mark#(U31(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), mark#(s(X)) -> mark#(X), mark#(s(X)) -> active#(s(mark(X))), mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U31(tt(), N)) -> mark#(N), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), active#(plus(N, 0())) -> mark#(U31(isNat(N), N))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} POLY: Argument Filtering: pi(0) = [], pi(plus) = [], pi(s) = [], pi(U41) = [], pi(U42) = [], pi(U31) = [], pi(U21) = [], pi(tt) = [], pi(U11) = [], pi(active#) = 0, pi(active) = [], pi(isNat) = [], pi(U12) = [], pi(mark#) = [], pi(mark) = [] Usable Rules: {} Interpretation: [mark#] = 1, [U41] = 1, [U42] = 1, [plus] = 1, [U31] = 1, [U11] = 1, [s] = 0, [U21] = 0, [isNat] = 1, [U12] = 0 Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U31(tt(), N)) -> mark#(N), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), active#(plus(N, 0())) -> mark#(U31(isNat(N), N))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} EDG: { (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(plus(N, 0())) -> mark#(U31(isNat(N), N))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U31(tt(), N)) -> mark#(N)) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(plus(X1, X2)) -> mark#(X2)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(plus(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(s(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U31(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U21(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U12(X)) -> mark#(X)) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(plus(N, 0())) -> mark#(U31(isNat(N), N))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U31(tt(), N)) -> mark#(N)) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(s(X)) -> mark#(X)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U31(X1, X2)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U21(X)) -> mark#(X)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(isNat(X)) -> active#(isNat(X))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U12(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(s(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U21(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(isNat(X)) -> active#(isNat(X))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U12(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(s(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U31(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U21(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U12(X)) -> mark#(X)) (active#(U31(tt(), N)) -> mark#(N), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(U31(tt(), N)) -> mark#(N), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U31(tt(), N)) -> mark#(N), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U31(tt(), N)) -> mark#(N), mark#(s(X)) -> mark#(X)) (active#(U31(tt(), N)) -> mark#(N), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U31(tt(), N)) -> mark#(N), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(U31(tt(), N)) -> mark#(N), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U31(tt(), N)) -> mark#(N), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(U31(tt(), N)) -> mark#(N), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(U31(tt(), N)) -> mark#(N), mark#(U31(X1, X2)) -> mark#(X1)) (active#(U31(tt(), N)) -> mark#(N), mark#(U21(X)) -> mark#(X)) (active#(U31(tt(), N)) -> mark#(N), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U31(tt(), N)) -> mark#(N), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U31(tt(), N)) -> mark#(N), mark#(isNat(X)) -> active#(isNat(X))) (active#(U31(tt(), N)) -> mark#(N), mark#(U12(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U12(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U12(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(s(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U12(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U12(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U12(X)) -> mark#(X), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U12(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(s(X)) -> mark#(X)) (mark#(s(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(s(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(s(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(s(X)) -> mark#(X), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(s(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(s(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(s(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U21(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U21(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U21(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U21(X)) -> mark#(X), mark#(s(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U21(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U31(tt(), N)) -> mark#(N)) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, 0())) -> mark#(U31(isNat(N), N))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U12(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U21(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U31(X1, X2)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(s(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U12(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U21(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U31(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(s(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(plus(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(plus(X1, X2)) -> mark#(X2)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U12(X)) -> mark#(X)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(isNat(X)) -> active#(isNat(X))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U21(X)) -> mark#(X)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U31(X1, X2)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(s(X)) -> mark#(X)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(plus(X1, X2)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(plus(X1, X2)) -> mark#(X2)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U31(tt(), N)) -> mark#(N)) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(plus(N, 0())) -> mark#(U31(isNat(N), N))) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U12(X)) -> mark#(X)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(isNat(X)) -> active#(isNat(X))) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U21(X)) -> mark#(X)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U31(X1, X2)) -> mark#(X1)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(s(X)) -> mark#(X)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(plus(X1, X2)) -> mark#(X1)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(plus(X1, X2)) -> mark#(X2)) (active#(plus(N, 0())) -> mark#(U31(isNat(N), N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U31(tt(), N)) -> mark#(N)) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(plus(N, 0())) -> mark#(U31(isNat(N), N))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U31(tt(), N)) -> mark#(N)) (mark#(isNat(X)) -> active#(isNat(X)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, 0())) -> mark#(U31(isNat(N), N))) } SCCS: Scc: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U31(tt(), N)) -> mark#(N), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), active#(plus(N, 0())) -> mark#(U31(isNat(N), N))} SCC: Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U31(tt(), N)) -> mark#(N), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), active#(plus(N, 0())) -> mark#(U31(isNat(N), N))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} POLY: Argument Filtering: pi(0) = [], pi(plus) = [0,1], pi(s) = 0, pi(U41) = [0,1,2], pi(U42) = [0,1,2], pi(U31) = [0,1], pi(U21) = 0, pi(tt) = [], pi(U11) = 0, pi(active#) = 0, pi(active) = 0, pi(isNat) = [], pi(U12) = 0, pi(mark#) = 0, pi(mark) = 0 Usable Rules: {} Interpretation: [U41](x0, x1, x2) = x0 + x1 + x2, [U42](x0, x1, x2) = x0 + x1 + x2, [plus](x0, x1) = x0 + x1, [U31](x0, x1) = x0 + x1, [isNat] = 0, [0] = 1, [tt] = 0 Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U31(tt(), N)) -> mark#(N), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} EDG: { (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U31(tt(), N)) -> mark#(N)) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(plus(X1, X2)) -> mark#(X2)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(plus(X1, X2)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(s(X)) -> mark#(X)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U31(X1, X2)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U21(X)) -> mark#(X)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(isNat(X)) -> active#(isNat(X))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U12(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U12(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U12(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(s(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U12(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U12(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U12(X)) -> mark#(X), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U12(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(s(X)) -> mark#(X)) (mark#(s(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(s(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(s(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(s(X)) -> mark#(X), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(s(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(s(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(s(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U31(tt(), N)) -> mark#(N)) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(plus(X1, X2)) -> mark#(X2)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(plus(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(s(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U31(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U21(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U12(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(s(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U31(X1, X2)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U21(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U12(X)) -> mark#(X)) (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U31(tt(), N)) -> mark#(N)) (mark#(isNat(X)) -> active#(isNat(X)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U31(tt(), N)) -> mark#(N)) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U12(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U21(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U31(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(s(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U12(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U21(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U31(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(s(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(plus(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(plus(X1, X2)) -> mark#(X2)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U31(tt(), N)) -> mark#(N)) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U21(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U21(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U21(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U21(X)) -> mark#(X), mark#(s(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U21(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U12(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(isNat(X)) -> active#(isNat(X))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U21(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(s(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> mark#(X1)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U31(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U31(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(U31(tt(), N)) -> mark#(N), mark#(U12(X)) -> mark#(X)) (active#(U31(tt(), N)) -> mark#(N), mark#(isNat(X)) -> active#(isNat(X))) (active#(U31(tt(), N)) -> mark#(N), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U31(tt(), N)) -> mark#(N), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U31(tt(), N)) -> mark#(N), mark#(U21(X)) -> mark#(X)) (active#(U31(tt(), N)) -> mark#(N), mark#(U31(X1, X2)) -> mark#(X1)) (active#(U31(tt(), N)) -> mark#(N), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(U31(tt(), N)) -> mark#(N), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(U31(tt(), N)) -> mark#(N), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U31(tt(), N)) -> mark#(N), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(U31(tt(), N)) -> mark#(N), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U31(tt(), N)) -> mark#(N), mark#(s(X)) -> mark#(X)) (active#(U31(tt(), N)) -> mark#(N), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U31(tt(), N)) -> mark#(N), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U31(tt(), N)) -> mark#(N), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U12(X)) -> mark#(X)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(isNat(X)) -> active#(isNat(X))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U21(X)) -> mark#(X)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U31(X1, X2)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(s(X)) -> mark#(X)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U31(tt(), N)) -> mark#(N)) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) } SCCS: Scc: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U31(tt(), N)) -> mark#(N), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))} SCC: Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U31(tt(), N)) -> mark#(N), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} POLY: Argument Filtering: pi(0) = [], pi(plus) = [0,1], pi(s) = 0, pi(U41) = [0,1,2], pi(U42) = [0,1,2], pi(U31) = [0,1], pi(U21) = 0, pi(tt) = [], pi(U11) = 0, pi(active#) = 0, pi(active) = 0, pi(isNat) = [], pi(U12) = 0, pi(mark#) = 0, pi(mark) = 0 Usable Rules: {} Interpretation: [U41](x0, x1, x2) = x0 + x1 + x2, [U42](x0, x1, x2) = x0 + x1 + x2, [plus](x0, x1) = x0 + x1, [U31](x0, x1) = x0 + x1 + 1, [isNat] = 0, [tt] = 0 Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} EDG: { (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(plus(X1, X2)) -> mark#(X2)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(plus(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(s(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U21(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U12(X)) -> mark#(X)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(plus(X1, X2)) -> mark#(X2)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(plus(X1, X2)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(s(X)) -> mark#(X)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U21(X)) -> mark#(X)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(isNat(X)) -> active#(isNat(X))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U12(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(s(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U21(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U12(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(s(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U21(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(isNat(X)) -> active#(isNat(X))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U12(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U21(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U21(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(s(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U21(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U21(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U21(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(s(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(s(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(s(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(s(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(s(X)) -> mark#(X), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(s(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(s(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(s(X)) -> mark#(X), mark#(s(X)) -> mark#(X)) (mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U12(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U12(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U12(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U12(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U12(X)) -> mark#(X), mark#(s(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U12(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> mark#(X1)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> mark#(X1)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> mark#(X)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U12(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U21(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(s(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U12(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U21(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(s(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(plus(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(plus(X1, X2)) -> mark#(X2)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U12(X)) -> mark#(X)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(isNat(X)) -> active#(isNat(X))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U21(X)) -> mark#(X)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U42(X1, X2, X3)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U41(X1, X2, X3)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(s(X)) -> mark#(X)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) } SCCS: Scc: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))} SCC: Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), mark#(U42(X1, X2, X3)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} POLY: Argument Filtering: pi(0) = [], pi(plus) = [0,1], pi(s) = [0], pi(U41) = [0,1,2], pi(U42) = [0,1,2], pi(U31) = 1, pi(U21) = 0, pi(tt) = [], pi(U11) = 0, pi(active#) = 0, pi(active) = 0, pi(isNat) = [], pi(U12) = 0, pi(mark#) = 0, pi(mark) = 0 Usable Rules: {} Interpretation: [U41](x0, x1, x2) = x0 + x1 + x2 + 1, [U42](x0, x1, x2) = x0 + x1 + x2 + 1, [plus](x0, x1) = x0 + x1, [s](x0) = x0 + 1, [isNat] = 0, [tt] = 0 Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} EDG: { (mark#(U12(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U12(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U12(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U12(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U12(X)) -> mark#(X), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U12(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U12(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U21(X)) -> mark#(X)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(isNat(X)) -> active#(isNat(X))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U12(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(plus(X1, X2)) -> mark#(X2)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(plus(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U21(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U12(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U21(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U12(X)) -> mark#(X)) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U12(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U21(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(plus(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(plus(X1, X2)) -> mark#(X2)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U12(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U21(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U12(X)) -> mark#(X)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(isNat(X)) -> active#(isNat(X))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U21(X)) -> mark#(X)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(plus(X1, X2)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(plus(X1, X2)) -> mark#(X2)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U12(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(isNat(X)) -> active#(isNat(X))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U21(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U21(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U21(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2))) (mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U21(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U21(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U21(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) } SCCS: Scc: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))} SCC: Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U31(X1, X2)) -> active#(U31(mark(X1), X2)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} POLY: Argument Filtering: pi(0) = [], pi(plus) = [0,1], pi(s) = [], pi(U41) = [], pi(U42) = [], pi(U31) = [], pi(U21) = 0, pi(tt) = [], pi(U11) = 0, pi(active#) = [], pi(active) = 0, pi(isNat) = [], pi(U12) = 0, pi(mark#) = 0, pi(mark) = 0 Usable Rules: {} Interpretation: [active#] = 0, [U41] = 0, [U42] = 0, [plus](x0, x1) = x0 + x1, [U31] = 1, [s] = 0, [isNat] = 0 Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} EDG: { (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(plus(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U21(X)) -> mark#(X)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(isNat(X)) -> active#(isNat(X))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U12(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U21(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(plus(X1, X2)) -> mark#(X2), mark#(isNat(X)) -> active#(isNat(X))) (mark#(plus(X1, X2)) -> mark#(X2), mark#(U12(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U21(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U12(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U12(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U12(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U12(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U12(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U12(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U21(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U21(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U21(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U21(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U21(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U12(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U21(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> mark#(X2)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U12(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U21(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(plus(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(plus(X1, X2)) -> mark#(X2)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U12(X)) -> mark#(X)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(isNat(X)) -> active#(isNat(X))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U21(X)) -> mark#(X)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(plus(X1, X2)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(plus(X1, X2)) -> mark#(X2)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U12(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U21(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(plus(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(plus(X1, X2)) -> mark#(X2)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2)))) } SCCS: Scc: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))} SCC: Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} POLY: Argument Filtering: pi(0) = [], pi(plus) = [0,1], pi(s) = [], pi(U41) = [], pi(U42) = [], pi(U31) = [], pi(U21) = 0, pi(tt) = [], pi(U11) = 0, pi(active#) = [], pi(active) = [0], pi(isNat) = [], pi(U12) = 0, pi(mark#) = 0, pi(mark) = 0 Usable Rules: {} Interpretation: [active#] = 0, [U41] = 0, [U42] = 0, [plus](x0, x1) = x0 + x1 + 1, [s] = 0, [isNat] = 0 Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} EDG: {(mark#(U21(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U21(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U21(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U21(X)) -> mark#(X)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(isNat(X)) -> active#(isNat(X))) (active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N)), mark#(U12(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U21(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U12(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U21(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U12(X)) -> mark#(X)) (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U12(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U21(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U12(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U21(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U12(X)) -> mark#(X)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(isNat(X)) -> active#(isNat(X))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U21(X)) -> mark#(X)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))) (mark#(U12(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U12(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U12(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)))} SCCS: Scc: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))} SCC: Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), active#(plus(N, s(M))) -> mark#(U41(isNat(M), M, N))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} POLY: Argument Filtering: pi(0) = [], pi(plus) = [1], pi(s) = [], pi(U41) = [], pi(U42) = [], pi(U31) = [], pi(U21) = [], pi(tt) = [], pi(U11) = [], pi(active#) = 0, pi(active) = [], pi(isNat) = [], pi(U12) = [], pi(mark#) = [], pi(mark) = [] Usable Rules: {} Interpretation: [mark#] = 0, [U41] = 0, [U42] = 0, [plus](x0) = x0 + 1, [U11] = 0, [s] = 1, [isNat] = 0 Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} EDG: {(active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U21(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U12(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U21(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U12(X)) -> mark#(X)) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U21(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U12(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U12(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U12(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U12(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(isNat(X)) -> active#(isNat(X)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U21(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U21(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U21(X)) -> mark#(X), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U12(X)) -> mark#(X)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(isNat(X)) -> active#(isNat(X))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U21(X)) -> mark#(X)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U12(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U21(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)))} SCCS: Scc: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))} SCC: Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), mark#(U41(X1, X2, X3)) -> active#(U41(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} POLY: Argument Filtering: pi(0) = [], pi(plus) = [], pi(s) = [], pi(U41) = [], pi(U42) = [], pi(U31) = [], pi(U21) = 0, pi(tt) = [], pi(U11) = 0, pi(active#) = [], pi(active) = 0, pi(isNat) = [], pi(U12) = 0, pi(mark#) = [0], pi(mark) = 0 Usable Rules: {} Interpretation: [active#] = 1, [mark#](x0) = x0 + 1, [U41] = 1, [U42] = 0, [s] = 0, [isNat] = 0 Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} EDG: {(active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U21(X)) -> mark#(X)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(isNat(X)) -> active#(isNat(X))) (active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)), mark#(U12(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U21(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U12(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U21(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U12(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U21(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U21(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U12(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U12(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U12(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U21(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U12(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U21(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N)))} SCCS: Scc: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))} SCC: Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), active#(U41(tt(), M, N)) -> mark#(U42(isNat(N), M, N))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} POLY: Argument Filtering: pi(0) = [], pi(plus) = [], pi(s) = [], pi(U41) = [0,2], pi(U42) = [], pi(U31) = [], pi(U21) = [], pi(tt) = [], pi(U11) = [], pi(active#) = 0, pi(active) = [], pi(isNat) = [], pi(U12) = [], pi(mark#) = [], pi(mark) = [] Usable Rules: {} Interpretation: [mark#] = 0, [U41](x0, x1) = x0 + x1 + 1, [U42] = 0, [U11] = 0, [isNat] = 0, [tt] = 1 Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} EDG: {(mark#(U11(X1, X2)) -> mark#(X1), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U21(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U21(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U21(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U12(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U21(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U12(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U12(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U21(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U12(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U21(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U12(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U12(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))))} SCCS: Scc: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))} SCC: Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), mark#(U42(X1, X2, X3)) -> active#(U42(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} POLY: Argument Filtering: pi(0) = [], pi(plus) = [], pi(s) = [], pi(U41) = [], pi(U42) = [], pi(U31) = [], pi(U21) = 0, pi(tt) = [], pi(U11) = 0, pi(active#) = [], pi(active) = 0, pi(isNat) = [], pi(U12) = 0, pi(mark#) = 0, pi(mark) = 0 Usable Rules: {} Interpretation: [active#] = 0, [U42] = 1, [s] = 0, [isNat] = 0 Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} EDG: {(mark#(U12(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U12(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(isNat(X)) -> active#(isNat(X)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U21(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U12(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U12(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U21(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U12(X)) -> mark#(X)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U42(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U21(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U12(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U21(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U21(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X))} SCCS: Scc: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))} SCC: Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), active#(U42(tt(), M, N)) -> mark#(s(plus(N, M)))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} POLY: Argument Filtering: pi(0) = [], pi(plus) = [], pi(s) = [], pi(U41) = [], pi(U42) = 0, pi(U31) = [], pi(U21) = [], pi(tt) = [], pi(U11) = [], pi(active#) = 0, pi(active) = [], pi(isNat) = [], pi(U12) = [], pi(mark#) = [], pi(mark) = [] Usable Rules: {} Interpretation: [mark#] = 0, [U11] = 0, [isNat] = 0, [tt] = 1 Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} EDG: {(active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U21(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U12(X)) -> mark#(X)) (mark#(isNat(X)) -> active#(isNat(X)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U21(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U21(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U21(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U12(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))) (mark#(U12(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U12(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U12(X)) -> mark#(X)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(isNat(X)) -> active#(isNat(X))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(U11(tt(), V2)) -> mark#(U12(isNat(V2))), mark#(U21(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X))} SCCS: Scc: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))} SCC: Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), active#(U11(tt(), V2)) -> mark#(U12(isNat(V2)))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} POLY: Argument Filtering: pi(0) = [], pi(plus) = [0,1], pi(s) = 0, pi(U41) = [1,2], pi(U42) = [1,2], pi(U31) = 1, pi(U21) = 0, pi(tt) = [], pi(U11) = [0,1], pi(active#) = 0, pi(active) = 0, pi(isNat) = 0, pi(U12) = 0, pi(mark#) = 0, pi(mark) = 0 Usable Rules: {} Interpretation: [plus](x0, x1) = x0 + x1, [U11](x0, x1) = x0 + x1, [tt] = 1 Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} EDG: {(mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(U12(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U12(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U21(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (mark#(U21(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U12(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U21(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U12(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U21(X)) -> mark#(X))} SCCS: Scc: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))} SCC: Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> active#(U11(mark(X1), X2)), mark#(U21(X)) -> mark#(X), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} POLY: Argument Filtering: pi(0) = [], pi(plus) = [], pi(s) = [], pi(U41) = [], pi(U42) = [], pi(U31) = [], pi(U21) = [], pi(tt) = [], pi(U11) = [], pi(active#) = 0, pi(active) = [], pi(isNat) = [], pi(U12) = [], pi(mark#) = [], pi(mark) = [] Usable Rules: {} Interpretation: [mark#] = 1, [U11] = 0, [isNat] = 1 Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} EDG: {(active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U21(X)) -> mark#(X)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U12(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U21(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U12(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U21(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(U12(X)) -> mark#(X)) (mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U12(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U12(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U12(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X))} SCCS: Scc: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))} SCC: Strict: { mark#(U12(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} POLY: Argument Filtering: pi(0) = [], pi(plus) = [], pi(s) = [], pi(U41) = [], pi(U42) = [], pi(U31) = [], pi(U21) = 0, pi(tt) = [], pi(U11) = 0, pi(active#) = [], pi(active) = 0, pi(isNat) = [], pi(U12) = [0], pi(mark#) = 0, pi(mark) = 0 Usable Rules: {} Interpretation: [active#] = 0, [isNat] = 0, [U12](x0) = x0 + 1 Strict: { mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} EDG: {(mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U11(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U21(X)) -> mark#(X), mark#(U21(X)) -> mark#(X)) (mark#(U21(X)) -> mark#(X), mark#(U11(X1, X2)) -> mark#(X1)) (mark#(U21(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U21(X)) -> mark#(X)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U21(X)) -> mark#(X)) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)))} SCCS: Scc: { mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))} SCC: Strict: { mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), mark#(U21(X)) -> mark#(X), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} POLY: Argument Filtering: pi(0) = [], pi(plus) = 0, pi(s) = [0], pi(U41) = [], pi(U42) = [], pi(U31) = [], pi(U21) = [0], pi(tt) = [], pi(U11) = 0, pi(active#) = 0, pi(active) = 0, pi(isNat) = 0, pi(U12) = [], pi(mark#) = 0, pi(mark) = 0 Usable Rules: {} Interpretation: [s](x0) = x0 + 1, [U21](x0) = x0 + 1 Strict: { mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} EDG: {(active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), mark#(isNat(X)) -> active#(isNat(X))) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1))} SCCS: Scc: { mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))} SCC: Strict: { mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), active#(isNat(s(V1))) -> mark#(U21(isNat(V1))), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} POLY: Argument Filtering: pi(0) = [], pi(plus) = [], pi(s) = [], pi(U41) = [], pi(U42) = [], pi(U31) = [], pi(U21) = [], pi(tt) = [], pi(U11) = 0, pi(active#) = [], pi(active) = 0, pi(isNat) = [], pi(U12) = [], pi(mark#) = 0, pi(mark) = 0 Usable Rules: {} Interpretation: [active#] = 1, [U21] = 0, [isNat] = 1 Strict: { mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} EDG: {(active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(U11(X1, X2)) -> mark#(X1)) (active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X))) (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1))} SCCS: Scc: { mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))} SCC: Strict: { mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1), active#(isNat(plus(V1, V2))) -> mark#(U11(isNat(V1), V2))} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} POLY: Argument Filtering: pi(0) = [], pi(plus) = [0], pi(s) = [], pi(U41) = [], pi(U42) = [], pi(U31) = [], pi(U21) = [], pi(tt) = [], pi(U11) = 0, pi(active#) = 0, pi(active) = 0, pi(isNat) = 0, pi(U12) = [], pi(mark#) = 0, pi(mark) = 0 Usable Rules: {} Interpretation: [plus](x0) = x0 + 1 Strict: { mark#(isNat(X)) -> active#(isNat(X)), mark#(U11(X1, X2)) -> mark#(X1)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} EDG: {(mark#(U11(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X))) (mark#(U11(X1, X2)) -> mark#(X1), mark#(U11(X1, X2)) -> mark#(X1))} SCCS: Scc: {mark#(U11(X1, X2)) -> mark#(X1)} SCC: Strict: {mark#(U11(X1, X2)) -> mark#(X1)} Weak: { mark(U12(X)) -> active(U12(mark(X))), mark(isNat(X)) -> active(isNat(X)), mark(U11(X1, X2)) -> active(U11(mark(X1), X2)), mark(tt()) -> active(tt()), mark(U21(X)) -> active(U21(mark(X))), mark(U31(X1, X2)) -> active(U31(mark(X1), X2)), mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)), mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)), mark(s(X)) -> active(s(mark(X))), mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))), mark(0()) -> active(0()), U12(mark(X)) -> U12(X), U12(active(X)) -> U12(X), isNat(mark(X)) -> isNat(X), isNat(active(X)) -> isNat(X), active(U12(tt())) -> mark(tt()), active(isNat(s(V1))) -> mark(U21(isNat(V1))), active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)), active(isNat(0())) -> mark(tt()), active(U11(tt(), V2)) -> mark(U12(isNat(V2))), active(U21(tt())) -> mark(tt()), active(U31(tt(), N)) -> mark(N), active(U42(tt(), M, N)) -> mark(s(plus(N, M))), active(U41(tt(), M, N)) -> mark(U42(isNat(N), M, N)), active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)), active(plus(N, 0())) -> mark(U31(isNat(N), N)), U11(X1, mark(X2)) -> U11(X1, X2), U11(X1, active(X2)) -> U11(X1, X2), U11(mark(X1), X2) -> U11(X1, X2), U11(active(X1), X2) -> U11(X1, X2), U21(mark(X)) -> U21(X), U21(active(X)) -> U21(X), U31(X1, mark(X2)) -> U31(X1, X2), U31(X1, active(X2)) -> U31(X1, X2), U31(mark(X1), X2) -> U31(X1, X2), U31(active(X1), X2) -> U31(X1, X2), U42(X1, X2, mark(X3)) -> U42(X1, X2, X3), U42(X1, X2, active(X3)) -> U42(X1, X2, X3), U42(X1, mark(X2), X3) -> U42(X1, X2, X3), U42(X1, active(X2), X3) -> U42(X1, X2, X3), U42(mark(X1), X2, X3) -> U42(X1, X2, X3), U42(active(X1), X2, X3) -> U42(X1, X2, X3), U41(X1, X2, mark(X3)) -> U41(X1, X2, X3), U41(X1, X2, active(X3)) -> U41(X1, X2, X3), U41(X1, mark(X2), X3) -> U41(X1, X2, X3), U41(X1, active(X2), X3) -> U41(X1, X2, X3), U41(mark(X1), X2, X3) -> U41(X1, X2, X3), U41(active(X1), X2, X3) -> U41(X1, X2, X3), s(mark(X)) -> s(X), s(active(X)) -> s(X), plus(X1, mark(X2)) -> plus(X1, X2), plus(X1, active(X2)) -> plus(X1, X2), plus(mark(X1), X2) -> plus(X1, X2), plus(active(X1), X2) -> plus(X1, X2)} SPSC: Simple Projection: pi(mark#) = 0 Strict: {} Qed