(0) Obligation:

Runtime Complexity TRS:
The TRS R consists of the following rules:

active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
active(s(X)) → s(active(X))
active(posrecip(X)) → posrecip(active(X))
active(negrecip(X)) → negrecip(active(X))
active(cons(X1, X2)) → cons(active(X1), X2)
active(cons2(X1, X2)) → cons2(X1, active(X2))
active(rcons(X1, X2)) → rcons(active(X1), X2)
active(rcons(X1, X2)) → rcons(X1, active(X2))
active(from(X)) → from(active(X))
active(2ndspos(X1, X2)) → 2ndspos(active(X1), X2)
active(2ndspos(X1, X2)) → 2ndspos(X1, active(X2))
active(2ndsneg(X1, X2)) → 2ndsneg(active(X1), X2)
active(2ndsneg(X1, X2)) → 2ndsneg(X1, active(X2))
active(pi(X)) → pi(active(X))
active(plus(X1, X2)) → plus(active(X1), X2)
active(plus(X1, X2)) → plus(X1, active(X2))
active(times(X1, X2)) → times(active(X1), X2)
active(times(X1, X2)) → times(X1, active(X2))
active(square(X)) → square(active(X))
s(mark(X)) → mark(s(X))
posrecip(mark(X)) → mark(posrecip(X))
negrecip(mark(X)) → mark(negrecip(X))
cons(mark(X1), X2) → mark(cons(X1, X2))
cons2(X1, mark(X2)) → mark(cons2(X1, X2))
rcons(mark(X1), X2) → mark(rcons(X1, X2))
rcons(X1, mark(X2)) → mark(rcons(X1, X2))
from(mark(X)) → mark(from(X))
2ndspos(mark(X1), X2) → mark(2ndspos(X1, X2))
2ndspos(X1, mark(X2)) → mark(2ndspos(X1, X2))
2ndsneg(mark(X1), X2) → mark(2ndsneg(X1, X2))
2ndsneg(X1, mark(X2)) → mark(2ndsneg(X1, X2))
pi(mark(X)) → mark(pi(X))
plus(mark(X1), X2) → mark(plus(X1, X2))
plus(X1, mark(X2)) → mark(plus(X1, X2))
times(mark(X1), X2) → mark(times(X1, X2))
times(X1, mark(X2)) → mark(times(X1, X2))
square(mark(X)) → mark(square(X))
proper(0) → ok(0)
proper(s(X)) → s(proper(X))
proper(posrecip(X)) → posrecip(proper(X))
proper(negrecip(X)) → negrecip(proper(X))
proper(nil) → ok(nil)
proper(cons(X1, X2)) → cons(proper(X1), proper(X2))
proper(cons2(X1, X2)) → cons2(proper(X1), proper(X2))
proper(rnil) → ok(rnil)
proper(rcons(X1, X2)) → rcons(proper(X1), proper(X2))
proper(from(X)) → from(proper(X))
proper(2ndspos(X1, X2)) → 2ndspos(proper(X1), proper(X2))
proper(2ndsneg(X1, X2)) → 2ndsneg(proper(X1), proper(X2))
proper(pi(X)) → pi(proper(X))
proper(plus(X1, X2)) → plus(proper(X1), proper(X2))
proper(times(X1, X2)) → times(proper(X1), proper(X2))
proper(square(X)) → square(proper(X))
s(ok(X)) → ok(s(X))
posrecip(ok(X)) → ok(posrecip(X))
negrecip(ok(X)) → ok(negrecip(X))
cons(ok(X1), ok(X2)) → ok(cons(X1, X2))
cons2(ok(X1), ok(X2)) → ok(cons2(X1, X2))
rcons(ok(X1), ok(X2)) → ok(rcons(X1, X2))
from(ok(X)) → ok(from(X))
2ndspos(ok(X1), ok(X2)) → ok(2ndspos(X1, X2))
2ndsneg(ok(X1), ok(X2)) → ok(2ndsneg(X1, X2))
pi(ok(X)) → ok(pi(X))
plus(ok(X1), ok(X2)) → ok(plus(X1, X2))
times(ok(X1), ok(X2)) → ok(times(X1, X2))
square(ok(X)) → ok(square(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))

Rewrite Strategy: INNERMOST

(1) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)

Converted CpxTRS to CDT

(2) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

ACTIVE(from(z0)) → c(CONS(z0, from(s(z0))), FROM(s(z0)), S(z0))
ACTIVE(2ndspos(s(z0), cons(z1, z2))) → c2(2NDSPOS(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → c3(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3))
ACTIVE(2ndsneg(s(z0), cons(z1, z2))) → c5(2NDSNEG(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → c6(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(pi(z0)) → c7(2NDSPOS(z0, from(0)), FROM(0))
ACTIVE(plus(s(z0), z1)) → c9(S(plus(z0, z1)), PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c11(PLUS(z1, times(z0, z1)), TIMES(z0, z1))
ACTIVE(square(z0)) → c12(TIMES(z0, z0))
ACTIVE(s(z0)) → c13(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c14(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c15(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c16(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(cons2(z0, z1)) → c17(CONS2(z0, active(z1)), ACTIVE(z1))
ACTIVE(rcons(z0, z1)) → c18(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c19(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c20(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c21(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c22(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c23(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c24(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c25(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c26(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c27(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c28(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c29(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c30(SQUARE(active(z0)), ACTIVE(z0))
S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
PROPER(s(z0)) → c63(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c64(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c65(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c67(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(cons2(z0, z1)) → c68(CONS2(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c70(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c71(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c72(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c73(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c74(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c75(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c76(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c77(SQUARE(proper(z0)), PROPER(z0))
TOP(mark(z0)) → c78(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c79(TOP(active(z0)), ACTIVE(z0))
S tuples:

ACTIVE(from(z0)) → c(CONS(z0, from(s(z0))), FROM(s(z0)), S(z0))
ACTIVE(2ndspos(s(z0), cons(z1, z2))) → c2(2NDSPOS(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → c3(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3))
ACTIVE(2ndsneg(s(z0), cons(z1, z2))) → c5(2NDSNEG(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → c6(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(pi(z0)) → c7(2NDSPOS(z0, from(0)), FROM(0))
ACTIVE(plus(s(z0), z1)) → c9(S(plus(z0, z1)), PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c11(PLUS(z1, times(z0, z1)), TIMES(z0, z1))
ACTIVE(square(z0)) → c12(TIMES(z0, z0))
ACTIVE(s(z0)) → c13(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c14(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c15(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c16(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(cons2(z0, z1)) → c17(CONS2(z0, active(z1)), ACTIVE(z1))
ACTIVE(rcons(z0, z1)) → c18(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c19(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c20(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c21(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c22(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c23(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c24(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c25(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c26(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c27(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c28(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c29(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c30(SQUARE(active(z0)), ACTIVE(z0))
S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
PROPER(s(z0)) → c63(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c64(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c65(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c67(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(cons2(z0, z1)) → c68(CONS2(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c70(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c71(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c72(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c73(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c74(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c75(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c76(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c77(SQUARE(proper(z0)), PROPER(z0))
TOP(mark(z0)) → c78(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c79(TOP(active(z0)), ACTIVE(z0))
K tuples:none
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

ACTIVE, S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE, PROPER, TOP

Compound Symbols:

c, c2, c3, c5, c6, c7, c9, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c63, c64, c65, c67, c68, c70, c71, c72, c73, c74, c75, c76, c77, c78, c79

(3) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 5 trailing tuple parts

(4) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

ACTIVE(2ndspos(s(z0), cons(z1, z2))) → c2(2NDSPOS(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → c3(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3))
ACTIVE(2ndsneg(s(z0), cons(z1, z2))) → c5(2NDSNEG(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → c6(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(square(z0)) → c12(TIMES(z0, z0))
ACTIVE(s(z0)) → c13(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c14(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c15(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c16(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(cons2(z0, z1)) → c17(CONS2(z0, active(z1)), ACTIVE(z1))
ACTIVE(rcons(z0, z1)) → c18(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c19(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c20(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c21(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c22(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c23(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c24(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c25(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c26(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c27(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c28(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c29(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c30(SQUARE(active(z0)), ACTIVE(z0))
S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
PROPER(s(z0)) → c63(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c64(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c65(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c67(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(cons2(z0, z1)) → c68(CONS2(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c70(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c71(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c72(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c73(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c74(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c75(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c76(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c77(SQUARE(proper(z0)), PROPER(z0))
TOP(mark(z0)) → c78(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c79(TOP(active(z0)), ACTIVE(z0))
ACTIVE(from(z0)) → c(S(z0))
ACTIVE(pi(z0)) → c7(2NDSPOS(z0, from(0)))
ACTIVE(plus(s(z0), z1)) → c9(PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c11(TIMES(z0, z1))
S tuples:

ACTIVE(2ndspos(s(z0), cons(z1, z2))) → c2(2NDSPOS(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → c3(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3))
ACTIVE(2ndsneg(s(z0), cons(z1, z2))) → c5(2NDSNEG(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → c6(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(square(z0)) → c12(TIMES(z0, z0))
ACTIVE(s(z0)) → c13(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c14(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c15(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c16(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(cons2(z0, z1)) → c17(CONS2(z0, active(z1)), ACTIVE(z1))
ACTIVE(rcons(z0, z1)) → c18(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c19(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c20(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c21(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c22(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c23(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c24(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c25(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c26(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c27(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c28(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c29(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c30(SQUARE(active(z0)), ACTIVE(z0))
S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
PROPER(s(z0)) → c63(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c64(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c65(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c67(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(cons2(z0, z1)) → c68(CONS2(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c70(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c71(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c72(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c73(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c74(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c75(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c76(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c77(SQUARE(proper(z0)), PROPER(z0))
TOP(mark(z0)) → c78(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c79(TOP(active(z0)), ACTIVE(z0))
ACTIVE(from(z0)) → c(S(z0))
ACTIVE(pi(z0)) → c7(2NDSPOS(z0, from(0)))
ACTIVE(plus(s(z0), z1)) → c9(PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c11(TIMES(z0, z1))
K tuples:none
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

ACTIVE, S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE, PROPER, TOP

Compound Symbols:

c2, c3, c5, c6, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c63, c64, c65, c67, c68, c70, c71, c72, c73, c74, c75, c76, c77, c78, c79, c, c7, c9, c11

(5) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace ACTIVE(2ndspos(s(z0), cons(z1, z2))) → c2(2NDSPOS(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2)) by

ACTIVE(2ndspos(s(x0), cons(z0, mark(z1)))) → c2(2NDSPOS(s(x0), mark(cons2(z0, z1))), S(x0), CONS2(z0, mark(z1)))
ACTIVE(2ndspos(s(x0), cons(ok(z0), ok(z1)))) → c2(2NDSPOS(s(x0), ok(cons2(z0, z1))), S(x0), CONS2(ok(z0), ok(z1)))
ACTIVE(2ndspos(s(x0), cons(x1, x2))) → c2(S(x0))

(6) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → c3(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3))
ACTIVE(2ndsneg(s(z0), cons(z1, z2))) → c5(2NDSNEG(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → c6(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(square(z0)) → c12(TIMES(z0, z0))
ACTIVE(s(z0)) → c13(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c14(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c15(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c16(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(cons2(z0, z1)) → c17(CONS2(z0, active(z1)), ACTIVE(z1))
ACTIVE(rcons(z0, z1)) → c18(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c19(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c20(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c21(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c22(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c23(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c24(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c25(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c26(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c27(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c28(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c29(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c30(SQUARE(active(z0)), ACTIVE(z0))
S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
PROPER(s(z0)) → c63(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c64(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c65(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c67(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(cons2(z0, z1)) → c68(CONS2(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c70(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c71(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c72(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c73(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c74(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c75(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c76(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c77(SQUARE(proper(z0)), PROPER(z0))
TOP(mark(z0)) → c78(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c79(TOP(active(z0)), ACTIVE(z0))
ACTIVE(from(z0)) → c(S(z0))
ACTIVE(pi(z0)) → c7(2NDSPOS(z0, from(0)))
ACTIVE(plus(s(z0), z1)) → c9(PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c11(TIMES(z0, z1))
ACTIVE(2ndspos(s(x0), cons(z0, mark(z1)))) → c2(2NDSPOS(s(x0), mark(cons2(z0, z1))), S(x0), CONS2(z0, mark(z1)))
ACTIVE(2ndspos(s(x0), cons(ok(z0), ok(z1)))) → c2(2NDSPOS(s(x0), ok(cons2(z0, z1))), S(x0), CONS2(ok(z0), ok(z1)))
ACTIVE(2ndspos(s(x0), cons(x1, x2))) → c2(S(x0))
S tuples:

ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → c3(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3))
ACTIVE(2ndsneg(s(z0), cons(z1, z2))) → c5(2NDSNEG(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → c6(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(square(z0)) → c12(TIMES(z0, z0))
ACTIVE(s(z0)) → c13(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c14(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c15(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c16(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(cons2(z0, z1)) → c17(CONS2(z0, active(z1)), ACTIVE(z1))
ACTIVE(rcons(z0, z1)) → c18(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c19(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c20(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c21(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c22(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c23(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c24(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c25(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c26(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c27(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c28(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c29(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c30(SQUARE(active(z0)), ACTIVE(z0))
S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
PROPER(s(z0)) → c63(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c64(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c65(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c67(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(cons2(z0, z1)) → c68(CONS2(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c70(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c71(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c72(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c73(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c74(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c75(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c76(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c77(SQUARE(proper(z0)), PROPER(z0))
TOP(mark(z0)) → c78(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c79(TOP(active(z0)), ACTIVE(z0))
ACTIVE(from(z0)) → c(S(z0))
ACTIVE(pi(z0)) → c7(2NDSPOS(z0, from(0)))
ACTIVE(plus(s(z0), z1)) → c9(PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c11(TIMES(z0, z1))
ACTIVE(2ndspos(s(x0), cons(z0, mark(z1)))) → c2(2NDSPOS(s(x0), mark(cons2(z0, z1))), S(x0), CONS2(z0, mark(z1)))
ACTIVE(2ndspos(s(x0), cons(ok(z0), ok(z1)))) → c2(2NDSPOS(s(x0), ok(cons2(z0, z1))), S(x0), CONS2(ok(z0), ok(z1)))
ACTIVE(2ndspos(s(x0), cons(x1, x2))) → c2(S(x0))
K tuples:none
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

ACTIVE, S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE, PROPER, TOP

Compound Symbols:

c3, c5, c6, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30, c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c63, c64, c65, c67, c68, c70, c71, c72, c73, c74, c75, c76, c77, c78, c79, c, c7, c9, c11, c2, c2

(7) CdtUnreachableProof (EQUIVALENT transformation)

The following tuples could be removed as they are not reachable from basic start terms:

ACTIVE(2ndspos(s(x0), cons(ok(z0), ok(z1)))) → c2(2NDSPOS(s(x0), ok(cons2(z0, z1))), S(x0), CONS2(ok(z0), ok(z1)))

(8) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
TOP(mark(z0)) → c78(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c79(TOP(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → c3(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3))
ACTIVE(2ndsneg(s(z0), cons(z1, z2))) → c5(2NDSNEG(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → c6(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(square(z0)) → c12(TIMES(z0, z0))
ACTIVE(s(z0)) → c13(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c14(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c15(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c16(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(cons2(z0, z1)) → c17(CONS2(z0, active(z1)), ACTIVE(z1))
ACTIVE(rcons(z0, z1)) → c18(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c19(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c20(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c21(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c22(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c23(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c24(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c25(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c26(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c27(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c28(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c29(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c30(SQUARE(active(z0)), ACTIVE(z0))
ACTIVE(from(z0)) → c(S(z0))
ACTIVE(pi(z0)) → c7(2NDSPOS(z0, from(0)))
ACTIVE(plus(s(z0), z1)) → c9(PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c11(TIMES(z0, z1))
ACTIVE(2ndspos(s(x0), cons(z0, mark(z1)))) → c2(2NDSPOS(s(x0), mark(cons2(z0, z1))), S(x0), CONS2(z0, mark(z1)))
ACTIVE(2ndspos(s(x0), cons(x1, x2))) → c2(S(x0))
PROPER(s(z0)) → c63(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c64(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c65(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c67(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(cons2(z0, z1)) → c68(CONS2(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c70(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c71(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c72(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c73(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c74(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c75(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c76(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c77(SQUARE(proper(z0)), PROPER(z0))
S tuples:

ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → c3(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3))
ACTIVE(2ndsneg(s(z0), cons(z1, z2))) → c5(2NDSNEG(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → c6(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(square(z0)) → c12(TIMES(z0, z0))
ACTIVE(s(z0)) → c13(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c14(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c15(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c16(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(cons2(z0, z1)) → c17(CONS2(z0, active(z1)), ACTIVE(z1))
ACTIVE(rcons(z0, z1)) → c18(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c19(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c20(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c21(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c22(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c23(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c24(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c25(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c26(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c27(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c28(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c29(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c30(SQUARE(active(z0)), ACTIVE(z0))
S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
PROPER(s(z0)) → c63(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c64(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c65(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c67(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(cons2(z0, z1)) → c68(CONS2(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c70(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c71(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c72(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c73(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c74(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c75(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c76(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c77(SQUARE(proper(z0)), PROPER(z0))
TOP(mark(z0)) → c78(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c79(TOP(active(z0)), ACTIVE(z0))
ACTIVE(from(z0)) → c(S(z0))
ACTIVE(pi(z0)) → c7(2NDSPOS(z0, from(0)))
ACTIVE(plus(s(z0), z1)) → c9(PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c11(TIMES(z0, z1))
ACTIVE(2ndspos(s(x0), cons(z0, mark(z1)))) → c2(2NDSPOS(s(x0), mark(cons2(z0, z1))), S(x0), CONS2(z0, mark(z1)))
ACTIVE(2ndspos(s(x0), cons(x1, x2))) → c2(S(x0))
K tuples:none
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE, TOP, ACTIVE, PROPER

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c78, c79, c3, c5, c6, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30, c, c7, c9, c11, c2, c2, c63, c64, c65, c67, c68, c70, c71, c72, c73, c74, c75, c76, c77

(9) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace TOP(mark(z0)) → c78(TOP(proper(z0)), PROPER(z0)) by

TOP(mark(0)) → c78(TOP(ok(0)), PROPER(0))
TOP(mark(s(z0))) → c78(TOP(s(proper(z0))), PROPER(s(z0)))
TOP(mark(posrecip(z0))) → c78(TOP(posrecip(proper(z0))), PROPER(posrecip(z0)))
TOP(mark(negrecip(z0))) → c78(TOP(negrecip(proper(z0))), PROPER(negrecip(z0)))
TOP(mark(nil)) → c78(TOP(ok(nil)), PROPER(nil))
TOP(mark(cons(z0, z1))) → c78(TOP(cons(proper(z0), proper(z1))), PROPER(cons(z0, z1)))
TOP(mark(cons2(z0, z1))) → c78(TOP(cons2(proper(z0), proper(z1))), PROPER(cons2(z0, z1)))
TOP(mark(rnil)) → c78(TOP(ok(rnil)), PROPER(rnil))
TOP(mark(rcons(z0, z1))) → c78(TOP(rcons(proper(z0), proper(z1))), PROPER(rcons(z0, z1)))
TOP(mark(from(z0))) → c78(TOP(from(proper(z0))), PROPER(from(z0)))
TOP(mark(2ndspos(z0, z1))) → c78(TOP(2ndspos(proper(z0), proper(z1))), PROPER(2ndspos(z0, z1)))
TOP(mark(2ndsneg(z0, z1))) → c78(TOP(2ndsneg(proper(z0), proper(z1))), PROPER(2ndsneg(z0, z1)))
TOP(mark(pi(z0))) → c78(TOP(pi(proper(z0))), PROPER(pi(z0)))
TOP(mark(plus(z0, z1))) → c78(TOP(plus(proper(z0), proper(z1))), PROPER(plus(z0, z1)))
TOP(mark(times(z0, z1))) → c78(TOP(times(proper(z0), proper(z1))), PROPER(times(z0, z1)))
TOP(mark(square(z0))) → c78(TOP(square(proper(z0))), PROPER(square(z0)))
TOP(mark(x0)) → c78

(10) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
TOP(ok(z0)) → c79(TOP(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → c3(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3))
ACTIVE(2ndsneg(s(z0), cons(z1, z2))) → c5(2NDSNEG(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → c6(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(square(z0)) → c12(TIMES(z0, z0))
ACTIVE(s(z0)) → c13(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c14(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c15(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c16(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(cons2(z0, z1)) → c17(CONS2(z0, active(z1)), ACTIVE(z1))
ACTIVE(rcons(z0, z1)) → c18(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c19(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c20(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c21(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c22(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c23(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c24(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c25(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c26(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c27(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c28(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c29(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c30(SQUARE(active(z0)), ACTIVE(z0))
ACTIVE(from(z0)) → c(S(z0))
ACTIVE(pi(z0)) → c7(2NDSPOS(z0, from(0)))
ACTIVE(plus(s(z0), z1)) → c9(PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c11(TIMES(z0, z1))
ACTIVE(2ndspos(s(x0), cons(z0, mark(z1)))) → c2(2NDSPOS(s(x0), mark(cons2(z0, z1))), S(x0), CONS2(z0, mark(z1)))
ACTIVE(2ndspos(s(x0), cons(x1, x2))) → c2(S(x0))
PROPER(s(z0)) → c63(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c64(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c65(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c67(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(cons2(z0, z1)) → c68(CONS2(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c70(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c71(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c72(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c73(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c74(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c75(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c76(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c77(SQUARE(proper(z0)), PROPER(z0))
TOP(mark(0)) → c78(TOP(ok(0)), PROPER(0))
TOP(mark(s(z0))) → c78(TOP(s(proper(z0))), PROPER(s(z0)))
TOP(mark(posrecip(z0))) → c78(TOP(posrecip(proper(z0))), PROPER(posrecip(z0)))
TOP(mark(negrecip(z0))) → c78(TOP(negrecip(proper(z0))), PROPER(negrecip(z0)))
TOP(mark(nil)) → c78(TOP(ok(nil)), PROPER(nil))
TOP(mark(cons(z0, z1))) → c78(TOP(cons(proper(z0), proper(z1))), PROPER(cons(z0, z1)))
TOP(mark(cons2(z0, z1))) → c78(TOP(cons2(proper(z0), proper(z1))), PROPER(cons2(z0, z1)))
TOP(mark(rnil)) → c78(TOP(ok(rnil)), PROPER(rnil))
TOP(mark(rcons(z0, z1))) → c78(TOP(rcons(proper(z0), proper(z1))), PROPER(rcons(z0, z1)))
TOP(mark(from(z0))) → c78(TOP(from(proper(z0))), PROPER(from(z0)))
TOP(mark(2ndspos(z0, z1))) → c78(TOP(2ndspos(proper(z0), proper(z1))), PROPER(2ndspos(z0, z1)))
TOP(mark(2ndsneg(z0, z1))) → c78(TOP(2ndsneg(proper(z0), proper(z1))), PROPER(2ndsneg(z0, z1)))
TOP(mark(pi(z0))) → c78(TOP(pi(proper(z0))), PROPER(pi(z0)))
TOP(mark(plus(z0, z1))) → c78(TOP(plus(proper(z0), proper(z1))), PROPER(plus(z0, z1)))
TOP(mark(times(z0, z1))) → c78(TOP(times(proper(z0), proper(z1))), PROPER(times(z0, z1)))
TOP(mark(square(z0))) → c78(TOP(square(proper(z0))), PROPER(square(z0)))
TOP(mark(x0)) → c78
S tuples:

ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → c3(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3))
ACTIVE(2ndsneg(s(z0), cons(z1, z2))) → c5(2NDSNEG(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → c6(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(square(z0)) → c12(TIMES(z0, z0))
ACTIVE(s(z0)) → c13(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c14(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c15(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c16(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(cons2(z0, z1)) → c17(CONS2(z0, active(z1)), ACTIVE(z1))
ACTIVE(rcons(z0, z1)) → c18(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c19(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c20(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c21(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c22(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c23(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c24(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c25(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c26(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c27(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c28(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c29(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c30(SQUARE(active(z0)), ACTIVE(z0))
S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
PROPER(s(z0)) → c63(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c64(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c65(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c67(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(cons2(z0, z1)) → c68(CONS2(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c70(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c71(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c72(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c73(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c74(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c75(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c76(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c77(SQUARE(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c79(TOP(active(z0)), ACTIVE(z0))
ACTIVE(from(z0)) → c(S(z0))
ACTIVE(pi(z0)) → c7(2NDSPOS(z0, from(0)))
ACTIVE(plus(s(z0), z1)) → c9(PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c11(TIMES(z0, z1))
ACTIVE(2ndspos(s(x0), cons(z0, mark(z1)))) → c2(2NDSPOS(s(x0), mark(cons2(z0, z1))), S(x0), CONS2(z0, mark(z1)))
ACTIVE(2ndspos(s(x0), cons(x1, x2))) → c2(S(x0))
TOP(mark(0)) → c78(TOP(ok(0)), PROPER(0))
TOP(mark(s(z0))) → c78(TOP(s(proper(z0))), PROPER(s(z0)))
TOP(mark(posrecip(z0))) → c78(TOP(posrecip(proper(z0))), PROPER(posrecip(z0)))
TOP(mark(negrecip(z0))) → c78(TOP(negrecip(proper(z0))), PROPER(negrecip(z0)))
TOP(mark(nil)) → c78(TOP(ok(nil)), PROPER(nil))
TOP(mark(cons(z0, z1))) → c78(TOP(cons(proper(z0), proper(z1))), PROPER(cons(z0, z1)))
TOP(mark(cons2(z0, z1))) → c78(TOP(cons2(proper(z0), proper(z1))), PROPER(cons2(z0, z1)))
TOP(mark(rnil)) → c78(TOP(ok(rnil)), PROPER(rnil))
TOP(mark(rcons(z0, z1))) → c78(TOP(rcons(proper(z0), proper(z1))), PROPER(rcons(z0, z1)))
TOP(mark(from(z0))) → c78(TOP(from(proper(z0))), PROPER(from(z0)))
TOP(mark(2ndspos(z0, z1))) → c78(TOP(2ndspos(proper(z0), proper(z1))), PROPER(2ndspos(z0, z1)))
TOP(mark(2ndsneg(z0, z1))) → c78(TOP(2ndsneg(proper(z0), proper(z1))), PROPER(2ndsneg(z0, z1)))
TOP(mark(pi(z0))) → c78(TOP(pi(proper(z0))), PROPER(pi(z0)))
TOP(mark(plus(z0, z1))) → c78(TOP(plus(proper(z0), proper(z1))), PROPER(plus(z0, z1)))
TOP(mark(times(z0, z1))) → c78(TOP(times(proper(z0), proper(z1))), PROPER(times(z0, z1)))
TOP(mark(square(z0))) → c78(TOP(square(proper(z0))), PROPER(square(z0)))
TOP(mark(x0)) → c78
K tuples:none
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE, TOP, ACTIVE, PROPER

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c79, c3, c5, c6, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30, c, c7, c9, c11, c2, c2, c63, c64, c65, c67, c68, c70, c71, c72, c73, c74, c75, c76, c77, c78, c78

(11) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

TOP(mark(x0)) → c78

(12) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
TOP(ok(z0)) → c79(TOP(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → c3(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3))
ACTIVE(2ndsneg(s(z0), cons(z1, z2))) → c5(2NDSNEG(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → c6(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(square(z0)) → c12(TIMES(z0, z0))
ACTIVE(s(z0)) → c13(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c14(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c15(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c16(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(cons2(z0, z1)) → c17(CONS2(z0, active(z1)), ACTIVE(z1))
ACTIVE(rcons(z0, z1)) → c18(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c19(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c20(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c21(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c22(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c23(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c24(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c25(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c26(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c27(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c28(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c29(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c30(SQUARE(active(z0)), ACTIVE(z0))
ACTIVE(from(z0)) → c(S(z0))
ACTIVE(pi(z0)) → c7(2NDSPOS(z0, from(0)))
ACTIVE(plus(s(z0), z1)) → c9(PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c11(TIMES(z0, z1))
ACTIVE(2ndspos(s(x0), cons(z0, mark(z1)))) → c2(2NDSPOS(s(x0), mark(cons2(z0, z1))), S(x0), CONS2(z0, mark(z1)))
ACTIVE(2ndspos(s(x0), cons(x1, x2))) → c2(S(x0))
PROPER(s(z0)) → c63(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c64(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c65(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c67(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(cons2(z0, z1)) → c68(CONS2(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c70(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c71(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c72(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c73(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c74(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c75(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c76(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c77(SQUARE(proper(z0)), PROPER(z0))
TOP(mark(0)) → c78(TOP(ok(0)), PROPER(0))
TOP(mark(s(z0))) → c78(TOP(s(proper(z0))), PROPER(s(z0)))
TOP(mark(posrecip(z0))) → c78(TOP(posrecip(proper(z0))), PROPER(posrecip(z0)))
TOP(mark(negrecip(z0))) → c78(TOP(negrecip(proper(z0))), PROPER(negrecip(z0)))
TOP(mark(nil)) → c78(TOP(ok(nil)), PROPER(nil))
TOP(mark(cons(z0, z1))) → c78(TOP(cons(proper(z0), proper(z1))), PROPER(cons(z0, z1)))
TOP(mark(cons2(z0, z1))) → c78(TOP(cons2(proper(z0), proper(z1))), PROPER(cons2(z0, z1)))
TOP(mark(rnil)) → c78(TOP(ok(rnil)), PROPER(rnil))
TOP(mark(rcons(z0, z1))) → c78(TOP(rcons(proper(z0), proper(z1))), PROPER(rcons(z0, z1)))
TOP(mark(from(z0))) → c78(TOP(from(proper(z0))), PROPER(from(z0)))
TOP(mark(2ndspos(z0, z1))) → c78(TOP(2ndspos(proper(z0), proper(z1))), PROPER(2ndspos(z0, z1)))
TOP(mark(2ndsneg(z0, z1))) → c78(TOP(2ndsneg(proper(z0), proper(z1))), PROPER(2ndsneg(z0, z1)))
TOP(mark(pi(z0))) → c78(TOP(pi(proper(z0))), PROPER(pi(z0)))
TOP(mark(plus(z0, z1))) → c78(TOP(plus(proper(z0), proper(z1))), PROPER(plus(z0, z1)))
TOP(mark(times(z0, z1))) → c78(TOP(times(proper(z0), proper(z1))), PROPER(times(z0, z1)))
TOP(mark(square(z0))) → c78(TOP(square(proper(z0))), PROPER(square(z0)))
S tuples:

ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → c3(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3))
ACTIVE(2ndsneg(s(z0), cons(z1, z2))) → c5(2NDSNEG(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → c6(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(square(z0)) → c12(TIMES(z0, z0))
ACTIVE(s(z0)) → c13(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c14(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c15(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c16(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(cons2(z0, z1)) → c17(CONS2(z0, active(z1)), ACTIVE(z1))
ACTIVE(rcons(z0, z1)) → c18(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c19(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c20(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c21(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c22(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c23(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c24(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c25(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c26(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c27(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c28(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c29(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c30(SQUARE(active(z0)), ACTIVE(z0))
S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
PROPER(s(z0)) → c63(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c64(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c65(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c67(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(cons2(z0, z1)) → c68(CONS2(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c70(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c71(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c72(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c73(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c74(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c75(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c76(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c77(SQUARE(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c79(TOP(active(z0)), ACTIVE(z0))
ACTIVE(from(z0)) → c(S(z0))
ACTIVE(pi(z0)) → c7(2NDSPOS(z0, from(0)))
ACTIVE(plus(s(z0), z1)) → c9(PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c11(TIMES(z0, z1))
ACTIVE(2ndspos(s(x0), cons(z0, mark(z1)))) → c2(2NDSPOS(s(x0), mark(cons2(z0, z1))), S(x0), CONS2(z0, mark(z1)))
ACTIVE(2ndspos(s(x0), cons(x1, x2))) → c2(S(x0))
TOP(mark(0)) → c78(TOP(ok(0)), PROPER(0))
TOP(mark(s(z0))) → c78(TOP(s(proper(z0))), PROPER(s(z0)))
TOP(mark(posrecip(z0))) → c78(TOP(posrecip(proper(z0))), PROPER(posrecip(z0)))
TOP(mark(negrecip(z0))) → c78(TOP(negrecip(proper(z0))), PROPER(negrecip(z0)))
TOP(mark(nil)) → c78(TOP(ok(nil)), PROPER(nil))
TOP(mark(cons(z0, z1))) → c78(TOP(cons(proper(z0), proper(z1))), PROPER(cons(z0, z1)))
TOP(mark(cons2(z0, z1))) → c78(TOP(cons2(proper(z0), proper(z1))), PROPER(cons2(z0, z1)))
TOP(mark(rnil)) → c78(TOP(ok(rnil)), PROPER(rnil))
TOP(mark(rcons(z0, z1))) → c78(TOP(rcons(proper(z0), proper(z1))), PROPER(rcons(z0, z1)))
TOP(mark(from(z0))) → c78(TOP(from(proper(z0))), PROPER(from(z0)))
TOP(mark(2ndspos(z0, z1))) → c78(TOP(2ndspos(proper(z0), proper(z1))), PROPER(2ndspos(z0, z1)))
TOP(mark(2ndsneg(z0, z1))) → c78(TOP(2ndsneg(proper(z0), proper(z1))), PROPER(2ndsneg(z0, z1)))
TOP(mark(pi(z0))) → c78(TOP(pi(proper(z0))), PROPER(pi(z0)))
TOP(mark(plus(z0, z1))) → c78(TOP(plus(proper(z0), proper(z1))), PROPER(plus(z0, z1)))
TOP(mark(times(z0, z1))) → c78(TOP(times(proper(z0), proper(z1))), PROPER(times(z0, z1)))
TOP(mark(square(z0))) → c78(TOP(square(proper(z0))), PROPER(square(z0)))
K tuples:none
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE, TOP, ACTIVE, PROPER

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c79, c3, c5, c6, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30, c, c7, c9, c11, c2, c2, c63, c64, c65, c67, c68, c70, c71, c72, c73, c74, c75, c76, c77, c78

(13) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 3 trailing tuple parts

(14) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
TOP(ok(z0)) → c79(TOP(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → c3(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3))
ACTIVE(2ndsneg(s(z0), cons(z1, z2))) → c5(2NDSNEG(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → c6(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(square(z0)) → c12(TIMES(z0, z0))
ACTIVE(s(z0)) → c13(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c14(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c15(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c16(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(cons2(z0, z1)) → c17(CONS2(z0, active(z1)), ACTIVE(z1))
ACTIVE(rcons(z0, z1)) → c18(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c19(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c20(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c21(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c22(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c23(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c24(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c25(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c26(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c27(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c28(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c29(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c30(SQUARE(active(z0)), ACTIVE(z0))
ACTIVE(from(z0)) → c(S(z0))
ACTIVE(pi(z0)) → c7(2NDSPOS(z0, from(0)))
ACTIVE(plus(s(z0), z1)) → c9(PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c11(TIMES(z0, z1))
ACTIVE(2ndspos(s(x0), cons(z0, mark(z1)))) → c2(2NDSPOS(s(x0), mark(cons2(z0, z1))), S(x0), CONS2(z0, mark(z1)))
ACTIVE(2ndspos(s(x0), cons(x1, x2))) → c2(S(x0))
PROPER(s(z0)) → c63(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c64(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c65(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c67(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(cons2(z0, z1)) → c68(CONS2(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c70(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c71(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c72(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c73(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c74(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c75(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c76(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c77(SQUARE(proper(z0)), PROPER(z0))
TOP(mark(s(z0))) → c78(TOP(s(proper(z0))), PROPER(s(z0)))
TOP(mark(posrecip(z0))) → c78(TOP(posrecip(proper(z0))), PROPER(posrecip(z0)))
TOP(mark(negrecip(z0))) → c78(TOP(negrecip(proper(z0))), PROPER(negrecip(z0)))
TOP(mark(cons(z0, z1))) → c78(TOP(cons(proper(z0), proper(z1))), PROPER(cons(z0, z1)))
TOP(mark(cons2(z0, z1))) → c78(TOP(cons2(proper(z0), proper(z1))), PROPER(cons2(z0, z1)))
TOP(mark(rcons(z0, z1))) → c78(TOP(rcons(proper(z0), proper(z1))), PROPER(rcons(z0, z1)))
TOP(mark(from(z0))) → c78(TOP(from(proper(z0))), PROPER(from(z0)))
TOP(mark(2ndspos(z0, z1))) → c78(TOP(2ndspos(proper(z0), proper(z1))), PROPER(2ndspos(z0, z1)))
TOP(mark(2ndsneg(z0, z1))) → c78(TOP(2ndsneg(proper(z0), proper(z1))), PROPER(2ndsneg(z0, z1)))
TOP(mark(pi(z0))) → c78(TOP(pi(proper(z0))), PROPER(pi(z0)))
TOP(mark(plus(z0, z1))) → c78(TOP(plus(proper(z0), proper(z1))), PROPER(plus(z0, z1)))
TOP(mark(times(z0, z1))) → c78(TOP(times(proper(z0), proper(z1))), PROPER(times(z0, z1)))
TOP(mark(square(z0))) → c78(TOP(square(proper(z0))), PROPER(square(z0)))
TOP(mark(0)) → c78(TOP(ok(0)))
TOP(mark(nil)) → c78(TOP(ok(nil)))
TOP(mark(rnil)) → c78(TOP(ok(rnil)))
S tuples:

ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → c3(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3))
ACTIVE(2ndsneg(s(z0), cons(z1, z2))) → c5(2NDSNEG(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → c6(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(square(z0)) → c12(TIMES(z0, z0))
ACTIVE(s(z0)) → c13(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c14(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c15(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c16(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(cons2(z0, z1)) → c17(CONS2(z0, active(z1)), ACTIVE(z1))
ACTIVE(rcons(z0, z1)) → c18(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c19(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c20(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c21(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c22(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c23(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c24(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c25(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c26(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c27(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c28(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c29(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c30(SQUARE(active(z0)), ACTIVE(z0))
S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
PROPER(s(z0)) → c63(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c64(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c65(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c67(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(cons2(z0, z1)) → c68(CONS2(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c70(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c71(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c72(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c73(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c74(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c75(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c76(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c77(SQUARE(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c79(TOP(active(z0)), ACTIVE(z0))
ACTIVE(from(z0)) → c(S(z0))
ACTIVE(pi(z0)) → c7(2NDSPOS(z0, from(0)))
ACTIVE(plus(s(z0), z1)) → c9(PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c11(TIMES(z0, z1))
ACTIVE(2ndspos(s(x0), cons(z0, mark(z1)))) → c2(2NDSPOS(s(x0), mark(cons2(z0, z1))), S(x0), CONS2(z0, mark(z1)))
ACTIVE(2ndspos(s(x0), cons(x1, x2))) → c2(S(x0))
TOP(mark(s(z0))) → c78(TOP(s(proper(z0))), PROPER(s(z0)))
TOP(mark(posrecip(z0))) → c78(TOP(posrecip(proper(z0))), PROPER(posrecip(z0)))
TOP(mark(negrecip(z0))) → c78(TOP(negrecip(proper(z0))), PROPER(negrecip(z0)))
TOP(mark(cons(z0, z1))) → c78(TOP(cons(proper(z0), proper(z1))), PROPER(cons(z0, z1)))
TOP(mark(cons2(z0, z1))) → c78(TOP(cons2(proper(z0), proper(z1))), PROPER(cons2(z0, z1)))
TOP(mark(rcons(z0, z1))) → c78(TOP(rcons(proper(z0), proper(z1))), PROPER(rcons(z0, z1)))
TOP(mark(from(z0))) → c78(TOP(from(proper(z0))), PROPER(from(z0)))
TOP(mark(2ndspos(z0, z1))) → c78(TOP(2ndspos(proper(z0), proper(z1))), PROPER(2ndspos(z0, z1)))
TOP(mark(2ndsneg(z0, z1))) → c78(TOP(2ndsneg(proper(z0), proper(z1))), PROPER(2ndsneg(z0, z1)))
TOP(mark(pi(z0))) → c78(TOP(pi(proper(z0))), PROPER(pi(z0)))
TOP(mark(plus(z0, z1))) → c78(TOP(plus(proper(z0), proper(z1))), PROPER(plus(z0, z1)))
TOP(mark(times(z0, z1))) → c78(TOP(times(proper(z0), proper(z1))), PROPER(times(z0, z1)))
TOP(mark(square(z0))) → c78(TOP(square(proper(z0))), PROPER(square(z0)))
TOP(mark(0)) → c78(TOP(ok(0)))
TOP(mark(nil)) → c78(TOP(ok(nil)))
TOP(mark(rnil)) → c78(TOP(ok(rnil)))
K tuples:none
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE, TOP, ACTIVE, PROPER

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c79, c3, c5, c6, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30, c, c7, c9, c11, c2, c2, c63, c64, c65, c67, c68, c70, c71, c72, c73, c74, c75, c76, c77, c78, c78

(15) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace TOP(ok(z0)) → c79(TOP(active(z0)), ACTIVE(z0)) by

TOP(ok(from(z0))) → c79(TOP(mark(cons(z0, from(s(z0))))), ACTIVE(from(z0)))
TOP(ok(2ndspos(0, z0))) → c79(TOP(mark(rnil)), ACTIVE(2ndspos(0, z0)))
TOP(ok(2ndspos(s(z0), cons(z1, z2)))) → c79(TOP(mark(2ndspos(s(z0), cons2(z1, z2)))), ACTIVE(2ndspos(s(z0), cons(z1, z2))))
TOP(ok(2ndspos(s(z0), cons2(z1, cons(z2, z3))))) → c79(TOP(mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))), ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))))
TOP(ok(2ndsneg(0, z0))) → c79(TOP(mark(rnil)), ACTIVE(2ndsneg(0, z0)))
TOP(ok(2ndsneg(s(z0), cons(z1, z2)))) → c79(TOP(mark(2ndsneg(s(z0), cons2(z1, z2)))), ACTIVE(2ndsneg(s(z0), cons(z1, z2))))
TOP(ok(2ndsneg(s(z0), cons2(z1, cons(z2, z3))))) → c79(TOP(mark(rcons(negrecip(z2), 2ndspos(z0, z3)))), ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))))
TOP(ok(pi(z0))) → c79(TOP(mark(2ndspos(z0, from(0)))), ACTIVE(pi(z0)))
TOP(ok(plus(0, z0))) → c79(TOP(mark(z0)), ACTIVE(plus(0, z0)))
TOP(ok(plus(s(z0), z1))) → c79(TOP(mark(s(plus(z0, z1)))), ACTIVE(plus(s(z0), z1)))
TOP(ok(times(0, z0))) → c79(TOP(mark(0)), ACTIVE(times(0, z0)))
TOP(ok(times(s(z0), z1))) → c79(TOP(mark(plus(z1, times(z0, z1)))), ACTIVE(times(s(z0), z1)))
TOP(ok(square(z0))) → c79(TOP(mark(times(z0, z0))), ACTIVE(square(z0)))
TOP(ok(s(z0))) → c79(TOP(s(active(z0))), ACTIVE(s(z0)))
TOP(ok(posrecip(z0))) → c79(TOP(posrecip(active(z0))), ACTIVE(posrecip(z0)))
TOP(ok(negrecip(z0))) → c79(TOP(negrecip(active(z0))), ACTIVE(negrecip(z0)))
TOP(ok(cons(z0, z1))) → c79(TOP(cons(active(z0), z1)), ACTIVE(cons(z0, z1)))
TOP(ok(cons2(z0, z1))) → c79(TOP(cons2(z0, active(z1))), ACTIVE(cons2(z0, z1)))
TOP(ok(rcons(z0, z1))) → c79(TOP(rcons(active(z0), z1)), ACTIVE(rcons(z0, z1)))
TOP(ok(rcons(z0, z1))) → c79(TOP(rcons(z0, active(z1))), ACTIVE(rcons(z0, z1)))
TOP(ok(from(z0))) → c79(TOP(from(active(z0))), ACTIVE(from(z0)))
TOP(ok(2ndspos(z0, z1))) → c79(TOP(2ndspos(active(z0), z1)), ACTIVE(2ndspos(z0, z1)))
TOP(ok(2ndspos(z0, z1))) → c79(TOP(2ndspos(z0, active(z1))), ACTIVE(2ndspos(z0, z1)))
TOP(ok(2ndsneg(z0, z1))) → c79(TOP(2ndsneg(active(z0), z1)), ACTIVE(2ndsneg(z0, z1)))
TOP(ok(2ndsneg(z0, z1))) → c79(TOP(2ndsneg(z0, active(z1))), ACTIVE(2ndsneg(z0, z1)))
TOP(ok(pi(z0))) → c79(TOP(pi(active(z0))), ACTIVE(pi(z0)))
TOP(ok(plus(z0, z1))) → c79(TOP(plus(active(z0), z1)), ACTIVE(plus(z0, z1)))
TOP(ok(plus(z0, z1))) → c79(TOP(plus(z0, active(z1))), ACTIVE(plus(z0, z1)))
TOP(ok(times(z0, z1))) → c79(TOP(times(active(z0), z1)), ACTIVE(times(z0, z1)))
TOP(ok(times(z0, z1))) → c79(TOP(times(z0, active(z1))), ACTIVE(times(z0, z1)))
TOP(ok(square(z0))) → c79(TOP(square(active(z0))), ACTIVE(square(z0)))
TOP(ok(x0)) → c79

(16) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → c3(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3))
ACTIVE(2ndsneg(s(z0), cons(z1, z2))) → c5(2NDSNEG(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → c6(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(square(z0)) → c12(TIMES(z0, z0))
ACTIVE(s(z0)) → c13(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c14(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c15(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c16(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(cons2(z0, z1)) → c17(CONS2(z0, active(z1)), ACTIVE(z1))
ACTIVE(rcons(z0, z1)) → c18(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c19(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c20(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c21(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c22(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c23(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c24(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c25(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c26(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c27(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c28(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c29(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c30(SQUARE(active(z0)), ACTIVE(z0))
ACTIVE(from(z0)) → c(S(z0))
ACTIVE(pi(z0)) → c7(2NDSPOS(z0, from(0)))
ACTIVE(plus(s(z0), z1)) → c9(PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c11(TIMES(z0, z1))
ACTIVE(2ndspos(s(x0), cons(z0, mark(z1)))) → c2(2NDSPOS(s(x0), mark(cons2(z0, z1))), S(x0), CONS2(z0, mark(z1)))
ACTIVE(2ndspos(s(x0), cons(x1, x2))) → c2(S(x0))
PROPER(s(z0)) → c63(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c64(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c65(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c67(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(cons2(z0, z1)) → c68(CONS2(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c70(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c71(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c72(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c73(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c74(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c75(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c76(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c77(SQUARE(proper(z0)), PROPER(z0))
TOP(mark(s(z0))) → c78(TOP(s(proper(z0))), PROPER(s(z0)))
TOP(mark(posrecip(z0))) → c78(TOP(posrecip(proper(z0))), PROPER(posrecip(z0)))
TOP(mark(negrecip(z0))) → c78(TOP(negrecip(proper(z0))), PROPER(negrecip(z0)))
TOP(mark(cons(z0, z1))) → c78(TOP(cons(proper(z0), proper(z1))), PROPER(cons(z0, z1)))
TOP(mark(cons2(z0, z1))) → c78(TOP(cons2(proper(z0), proper(z1))), PROPER(cons2(z0, z1)))
TOP(mark(rcons(z0, z1))) → c78(TOP(rcons(proper(z0), proper(z1))), PROPER(rcons(z0, z1)))
TOP(mark(from(z0))) → c78(TOP(from(proper(z0))), PROPER(from(z0)))
TOP(mark(2ndspos(z0, z1))) → c78(TOP(2ndspos(proper(z0), proper(z1))), PROPER(2ndspos(z0, z1)))
TOP(mark(2ndsneg(z0, z1))) → c78(TOP(2ndsneg(proper(z0), proper(z1))), PROPER(2ndsneg(z0, z1)))
TOP(mark(pi(z0))) → c78(TOP(pi(proper(z0))), PROPER(pi(z0)))
TOP(mark(plus(z0, z1))) → c78(TOP(plus(proper(z0), proper(z1))), PROPER(plus(z0, z1)))
TOP(mark(times(z0, z1))) → c78(TOP(times(proper(z0), proper(z1))), PROPER(times(z0, z1)))
TOP(mark(square(z0))) → c78(TOP(square(proper(z0))), PROPER(square(z0)))
TOP(mark(0)) → c78(TOP(ok(0)))
TOP(mark(nil)) → c78(TOP(ok(nil)))
TOP(mark(rnil)) → c78(TOP(ok(rnil)))
TOP(ok(from(z0))) → c79(TOP(mark(cons(z0, from(s(z0))))), ACTIVE(from(z0)))
TOP(ok(2ndspos(0, z0))) → c79(TOP(mark(rnil)), ACTIVE(2ndspos(0, z0)))
TOP(ok(2ndspos(s(z0), cons(z1, z2)))) → c79(TOP(mark(2ndspos(s(z0), cons2(z1, z2)))), ACTIVE(2ndspos(s(z0), cons(z1, z2))))
TOP(ok(2ndspos(s(z0), cons2(z1, cons(z2, z3))))) → c79(TOP(mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))), ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))))
TOP(ok(2ndsneg(0, z0))) → c79(TOP(mark(rnil)), ACTIVE(2ndsneg(0, z0)))
TOP(ok(2ndsneg(s(z0), cons(z1, z2)))) → c79(TOP(mark(2ndsneg(s(z0), cons2(z1, z2)))), ACTIVE(2ndsneg(s(z0), cons(z1, z2))))
TOP(ok(2ndsneg(s(z0), cons2(z1, cons(z2, z3))))) → c79(TOP(mark(rcons(negrecip(z2), 2ndspos(z0, z3)))), ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))))
TOP(ok(pi(z0))) → c79(TOP(mark(2ndspos(z0, from(0)))), ACTIVE(pi(z0)))
TOP(ok(plus(0, z0))) → c79(TOP(mark(z0)), ACTIVE(plus(0, z0)))
TOP(ok(plus(s(z0), z1))) → c79(TOP(mark(s(plus(z0, z1)))), ACTIVE(plus(s(z0), z1)))
TOP(ok(times(0, z0))) → c79(TOP(mark(0)), ACTIVE(times(0, z0)))
TOP(ok(times(s(z0), z1))) → c79(TOP(mark(plus(z1, times(z0, z1)))), ACTIVE(times(s(z0), z1)))
TOP(ok(square(z0))) → c79(TOP(mark(times(z0, z0))), ACTIVE(square(z0)))
TOP(ok(s(z0))) → c79(TOP(s(active(z0))), ACTIVE(s(z0)))
TOP(ok(posrecip(z0))) → c79(TOP(posrecip(active(z0))), ACTIVE(posrecip(z0)))
TOP(ok(negrecip(z0))) → c79(TOP(negrecip(active(z0))), ACTIVE(negrecip(z0)))
TOP(ok(cons(z0, z1))) → c79(TOP(cons(active(z0), z1)), ACTIVE(cons(z0, z1)))
TOP(ok(cons2(z0, z1))) → c79(TOP(cons2(z0, active(z1))), ACTIVE(cons2(z0, z1)))
TOP(ok(rcons(z0, z1))) → c79(TOP(rcons(active(z0), z1)), ACTIVE(rcons(z0, z1)))
TOP(ok(rcons(z0, z1))) → c79(TOP(rcons(z0, active(z1))), ACTIVE(rcons(z0, z1)))
TOP(ok(from(z0))) → c79(TOP(from(active(z0))), ACTIVE(from(z0)))
TOP(ok(2ndspos(z0, z1))) → c79(TOP(2ndspos(active(z0), z1)), ACTIVE(2ndspos(z0, z1)))
TOP(ok(2ndspos(z0, z1))) → c79(TOP(2ndspos(z0, active(z1))), ACTIVE(2ndspos(z0, z1)))
TOP(ok(2ndsneg(z0, z1))) → c79(TOP(2ndsneg(active(z0), z1)), ACTIVE(2ndsneg(z0, z1)))
TOP(ok(2ndsneg(z0, z1))) → c79(TOP(2ndsneg(z0, active(z1))), ACTIVE(2ndsneg(z0, z1)))
TOP(ok(pi(z0))) → c79(TOP(pi(active(z0))), ACTIVE(pi(z0)))
TOP(ok(plus(z0, z1))) → c79(TOP(plus(active(z0), z1)), ACTIVE(plus(z0, z1)))
TOP(ok(plus(z0, z1))) → c79(TOP(plus(z0, active(z1))), ACTIVE(plus(z0, z1)))
TOP(ok(times(z0, z1))) → c79(TOP(times(active(z0), z1)), ACTIVE(times(z0, z1)))
TOP(ok(times(z0, z1))) → c79(TOP(times(z0, active(z1))), ACTIVE(times(z0, z1)))
TOP(ok(square(z0))) → c79(TOP(square(active(z0))), ACTIVE(square(z0)))
TOP(ok(x0)) → c79
S tuples:

ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → c3(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3))
ACTIVE(2ndsneg(s(z0), cons(z1, z2))) → c5(2NDSNEG(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → c6(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(square(z0)) → c12(TIMES(z0, z0))
ACTIVE(s(z0)) → c13(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c14(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c15(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c16(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(cons2(z0, z1)) → c17(CONS2(z0, active(z1)), ACTIVE(z1))
ACTIVE(rcons(z0, z1)) → c18(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c19(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c20(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c21(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c22(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c23(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c24(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c25(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c26(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c27(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c28(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c29(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c30(SQUARE(active(z0)), ACTIVE(z0))
S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
PROPER(s(z0)) → c63(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c64(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c65(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c67(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(cons2(z0, z1)) → c68(CONS2(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c70(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c71(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c72(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c73(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c74(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c75(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c76(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c77(SQUARE(proper(z0)), PROPER(z0))
ACTIVE(from(z0)) → c(S(z0))
ACTIVE(pi(z0)) → c7(2NDSPOS(z0, from(0)))
ACTIVE(plus(s(z0), z1)) → c9(PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c11(TIMES(z0, z1))
ACTIVE(2ndspos(s(x0), cons(z0, mark(z1)))) → c2(2NDSPOS(s(x0), mark(cons2(z0, z1))), S(x0), CONS2(z0, mark(z1)))
ACTIVE(2ndspos(s(x0), cons(x1, x2))) → c2(S(x0))
TOP(mark(s(z0))) → c78(TOP(s(proper(z0))), PROPER(s(z0)))
TOP(mark(posrecip(z0))) → c78(TOP(posrecip(proper(z0))), PROPER(posrecip(z0)))
TOP(mark(negrecip(z0))) → c78(TOP(negrecip(proper(z0))), PROPER(negrecip(z0)))
TOP(mark(cons(z0, z1))) → c78(TOP(cons(proper(z0), proper(z1))), PROPER(cons(z0, z1)))
TOP(mark(cons2(z0, z1))) → c78(TOP(cons2(proper(z0), proper(z1))), PROPER(cons2(z0, z1)))
TOP(mark(rcons(z0, z1))) → c78(TOP(rcons(proper(z0), proper(z1))), PROPER(rcons(z0, z1)))
TOP(mark(from(z0))) → c78(TOP(from(proper(z0))), PROPER(from(z0)))
TOP(mark(2ndspos(z0, z1))) → c78(TOP(2ndspos(proper(z0), proper(z1))), PROPER(2ndspos(z0, z1)))
TOP(mark(2ndsneg(z0, z1))) → c78(TOP(2ndsneg(proper(z0), proper(z1))), PROPER(2ndsneg(z0, z1)))
TOP(mark(pi(z0))) → c78(TOP(pi(proper(z0))), PROPER(pi(z0)))
TOP(mark(plus(z0, z1))) → c78(TOP(plus(proper(z0), proper(z1))), PROPER(plus(z0, z1)))
TOP(mark(times(z0, z1))) → c78(TOP(times(proper(z0), proper(z1))), PROPER(times(z0, z1)))
TOP(mark(square(z0))) → c78(TOP(square(proper(z0))), PROPER(square(z0)))
TOP(mark(0)) → c78(TOP(ok(0)))
TOP(mark(nil)) → c78(TOP(ok(nil)))
TOP(mark(rnil)) → c78(TOP(ok(rnil)))
TOP(ok(from(z0))) → c79(TOP(mark(cons(z0, from(s(z0))))), ACTIVE(from(z0)))
TOP(ok(2ndspos(0, z0))) → c79(TOP(mark(rnil)), ACTIVE(2ndspos(0, z0)))
TOP(ok(2ndspos(s(z0), cons(z1, z2)))) → c79(TOP(mark(2ndspos(s(z0), cons2(z1, z2)))), ACTIVE(2ndspos(s(z0), cons(z1, z2))))
TOP(ok(2ndspos(s(z0), cons2(z1, cons(z2, z3))))) → c79(TOP(mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))), ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))))
TOP(ok(2ndsneg(0, z0))) → c79(TOP(mark(rnil)), ACTIVE(2ndsneg(0, z0)))
TOP(ok(2ndsneg(s(z0), cons(z1, z2)))) → c79(TOP(mark(2ndsneg(s(z0), cons2(z1, z2)))), ACTIVE(2ndsneg(s(z0), cons(z1, z2))))
TOP(ok(2ndsneg(s(z0), cons2(z1, cons(z2, z3))))) → c79(TOP(mark(rcons(negrecip(z2), 2ndspos(z0, z3)))), ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))))
TOP(ok(pi(z0))) → c79(TOP(mark(2ndspos(z0, from(0)))), ACTIVE(pi(z0)))
TOP(ok(plus(0, z0))) → c79(TOP(mark(z0)), ACTIVE(plus(0, z0)))
TOP(ok(plus(s(z0), z1))) → c79(TOP(mark(s(plus(z0, z1)))), ACTIVE(plus(s(z0), z1)))
TOP(ok(times(0, z0))) → c79(TOP(mark(0)), ACTIVE(times(0, z0)))
TOP(ok(times(s(z0), z1))) → c79(TOP(mark(plus(z1, times(z0, z1)))), ACTIVE(times(s(z0), z1)))
TOP(ok(square(z0))) → c79(TOP(mark(times(z0, z0))), ACTIVE(square(z0)))
TOP(ok(s(z0))) → c79(TOP(s(active(z0))), ACTIVE(s(z0)))
TOP(ok(posrecip(z0))) → c79(TOP(posrecip(active(z0))), ACTIVE(posrecip(z0)))
TOP(ok(negrecip(z0))) → c79(TOP(negrecip(active(z0))), ACTIVE(negrecip(z0)))
TOP(ok(cons(z0, z1))) → c79(TOP(cons(active(z0), z1)), ACTIVE(cons(z0, z1)))
TOP(ok(cons2(z0, z1))) → c79(TOP(cons2(z0, active(z1))), ACTIVE(cons2(z0, z1)))
TOP(ok(rcons(z0, z1))) → c79(TOP(rcons(active(z0), z1)), ACTIVE(rcons(z0, z1)))
TOP(ok(rcons(z0, z1))) → c79(TOP(rcons(z0, active(z1))), ACTIVE(rcons(z0, z1)))
TOP(ok(from(z0))) → c79(TOP(from(active(z0))), ACTIVE(from(z0)))
TOP(ok(2ndspos(z0, z1))) → c79(TOP(2ndspos(active(z0), z1)), ACTIVE(2ndspos(z0, z1)))
TOP(ok(2ndspos(z0, z1))) → c79(TOP(2ndspos(z0, active(z1))), ACTIVE(2ndspos(z0, z1)))
TOP(ok(2ndsneg(z0, z1))) → c79(TOP(2ndsneg(active(z0), z1)), ACTIVE(2ndsneg(z0, z1)))
TOP(ok(2ndsneg(z0, z1))) → c79(TOP(2ndsneg(z0, active(z1))), ACTIVE(2ndsneg(z0, z1)))
TOP(ok(pi(z0))) → c79(TOP(pi(active(z0))), ACTIVE(pi(z0)))
TOP(ok(plus(z0, z1))) → c79(TOP(plus(active(z0), z1)), ACTIVE(plus(z0, z1)))
TOP(ok(plus(z0, z1))) → c79(TOP(plus(z0, active(z1))), ACTIVE(plus(z0, z1)))
TOP(ok(times(z0, z1))) → c79(TOP(times(active(z0), z1)), ACTIVE(times(z0, z1)))
TOP(ok(times(z0, z1))) → c79(TOP(times(z0, active(z1))), ACTIVE(times(z0, z1)))
TOP(ok(square(z0))) → c79(TOP(square(active(z0))), ACTIVE(square(z0)))
TOP(ok(x0)) → c79
K tuples:none
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE, ACTIVE, PROPER, TOP

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c3, c5, c6, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30, c, c7, c9, c11, c2, c2, c63, c64, c65, c67, c68, c70, c71, c72, c73, c74, c75, c76, c77, c78, c78, c79, c79

(17) CdtUnreachableProof (EQUIVALENT transformation)

The following tuples could be removed as they are not reachable from basic start terms:

ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → c3(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3))
ACTIVE(2ndsneg(s(z0), cons(z1, z2))) → c5(2NDSNEG(s(z0), cons2(z1, z2)), S(z0), CONS2(z1, z2))
ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → c6(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(square(z0)) → c12(TIMES(z0, z0))
ACTIVE(s(z0)) → c13(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c14(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c15(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c16(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(cons2(z0, z1)) → c17(CONS2(z0, active(z1)), ACTIVE(z1))
ACTIVE(rcons(z0, z1)) → c18(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c19(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c20(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c21(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c22(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c23(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c24(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c25(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c26(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c27(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c28(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c29(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c30(SQUARE(active(z0)), ACTIVE(z0))
ACTIVE(from(z0)) → c(S(z0))
ACTIVE(pi(z0)) → c7(2NDSPOS(z0, from(0)))
ACTIVE(plus(s(z0), z1)) → c9(PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c11(TIMES(z0, z1))
ACTIVE(2ndspos(s(x0), cons(z0, mark(z1)))) → c2(2NDSPOS(s(x0), mark(cons2(z0, z1))), S(x0), CONS2(z0, mark(z1)))
ACTIVE(2ndspos(s(x0), cons(x1, x2))) → c2(S(x0))
PROPER(s(z0)) → c63(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c64(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c65(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c67(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(cons2(z0, z1)) → c68(CONS2(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c70(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c71(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c72(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c73(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c74(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c75(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c76(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c77(SQUARE(proper(z0)), PROPER(z0))
TOP(mark(s(z0))) → c78(TOP(s(proper(z0))), PROPER(s(z0)))
TOP(mark(posrecip(z0))) → c78(TOP(posrecip(proper(z0))), PROPER(posrecip(z0)))
TOP(mark(negrecip(z0))) → c78(TOP(negrecip(proper(z0))), PROPER(negrecip(z0)))
TOP(mark(cons(z0, z1))) → c78(TOP(cons(proper(z0), proper(z1))), PROPER(cons(z0, z1)))
TOP(mark(cons2(z0, z1))) → c78(TOP(cons2(proper(z0), proper(z1))), PROPER(cons2(z0, z1)))
TOP(mark(rcons(z0, z1))) → c78(TOP(rcons(proper(z0), proper(z1))), PROPER(rcons(z0, z1)))
TOP(mark(from(z0))) → c78(TOP(from(proper(z0))), PROPER(from(z0)))
TOP(mark(2ndspos(z0, z1))) → c78(TOP(2ndspos(proper(z0), proper(z1))), PROPER(2ndspos(z0, z1)))
TOP(mark(2ndsneg(z0, z1))) → c78(TOP(2ndsneg(proper(z0), proper(z1))), PROPER(2ndsneg(z0, z1)))
TOP(mark(pi(z0))) → c78(TOP(pi(proper(z0))), PROPER(pi(z0)))
TOP(mark(plus(z0, z1))) → c78(TOP(plus(proper(z0), proper(z1))), PROPER(plus(z0, z1)))
TOP(mark(times(z0, z1))) → c78(TOP(times(proper(z0), proper(z1))), PROPER(times(z0, z1)))
TOP(mark(square(z0))) → c78(TOP(square(proper(z0))), PROPER(square(z0)))
TOP(ok(from(z0))) → c79(TOP(mark(cons(z0, from(s(z0))))), ACTIVE(from(z0)))
TOP(ok(2ndspos(0, z0))) → c79(TOP(mark(rnil)), ACTIVE(2ndspos(0, z0)))
TOP(ok(2ndspos(s(z0), cons(z1, z2)))) → c79(TOP(mark(2ndspos(s(z0), cons2(z1, z2)))), ACTIVE(2ndspos(s(z0), cons(z1, z2))))
TOP(ok(2ndspos(s(z0), cons2(z1, cons(z2, z3))))) → c79(TOP(mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))), ACTIVE(2ndspos(s(z0), cons2(z1, cons(z2, z3)))))
TOP(ok(2ndsneg(0, z0))) → c79(TOP(mark(rnil)), ACTIVE(2ndsneg(0, z0)))
TOP(ok(2ndsneg(s(z0), cons(z1, z2)))) → c79(TOP(mark(2ndsneg(s(z0), cons2(z1, z2)))), ACTIVE(2ndsneg(s(z0), cons(z1, z2))))
TOP(ok(2ndsneg(s(z0), cons2(z1, cons(z2, z3))))) → c79(TOP(mark(rcons(negrecip(z2), 2ndspos(z0, z3)))), ACTIVE(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))))
TOP(ok(pi(z0))) → c79(TOP(mark(2ndspos(z0, from(0)))), ACTIVE(pi(z0)))
TOP(ok(plus(0, z0))) → c79(TOP(mark(z0)), ACTIVE(plus(0, z0)))
TOP(ok(plus(s(z0), z1))) → c79(TOP(mark(s(plus(z0, z1)))), ACTIVE(plus(s(z0), z1)))
TOP(ok(times(0, z0))) → c79(TOP(mark(0)), ACTIVE(times(0, z0)))
TOP(ok(times(s(z0), z1))) → c79(TOP(mark(plus(z1, times(z0, z1)))), ACTIVE(times(s(z0), z1)))
TOP(ok(square(z0))) → c79(TOP(mark(times(z0, z0))), ACTIVE(square(z0)))
TOP(ok(s(z0))) → c79(TOP(s(active(z0))), ACTIVE(s(z0)))
TOP(ok(posrecip(z0))) → c79(TOP(posrecip(active(z0))), ACTIVE(posrecip(z0)))
TOP(ok(negrecip(z0))) → c79(TOP(negrecip(active(z0))), ACTIVE(negrecip(z0)))
TOP(ok(cons(z0, z1))) → c79(TOP(cons(active(z0), z1)), ACTIVE(cons(z0, z1)))
TOP(ok(cons2(z0, z1))) → c79(TOP(cons2(z0, active(z1))), ACTIVE(cons2(z0, z1)))
TOP(ok(rcons(z0, z1))) → c79(TOP(rcons(active(z0), z1)), ACTIVE(rcons(z0, z1)))
TOP(ok(rcons(z0, z1))) → c79(TOP(rcons(z0, active(z1))), ACTIVE(rcons(z0, z1)))
TOP(ok(from(z0))) → c79(TOP(from(active(z0))), ACTIVE(from(z0)))
TOP(ok(2ndspos(z0, z1))) → c79(TOP(2ndspos(active(z0), z1)), ACTIVE(2ndspos(z0, z1)))
TOP(ok(2ndspos(z0, z1))) → c79(TOP(2ndspos(z0, active(z1))), ACTIVE(2ndspos(z0, z1)))
TOP(ok(2ndsneg(z0, z1))) → c79(TOP(2ndsneg(active(z0), z1)), ACTIVE(2ndsneg(z0, z1)))
TOP(ok(2ndsneg(z0, z1))) → c79(TOP(2ndsneg(z0, active(z1))), ACTIVE(2ndsneg(z0, z1)))
TOP(ok(pi(z0))) → c79(TOP(pi(active(z0))), ACTIVE(pi(z0)))
TOP(ok(plus(z0, z1))) → c79(TOP(plus(active(z0), z1)), ACTIVE(plus(z0, z1)))
TOP(ok(plus(z0, z1))) → c79(TOP(plus(z0, active(z1))), ACTIVE(plus(z0, z1)))
TOP(ok(times(z0, z1))) → c79(TOP(times(active(z0), z1)), ACTIVE(times(z0, z1)))
TOP(ok(times(z0, z1))) → c79(TOP(times(z0, active(z1))), ACTIVE(times(z0, z1)))
TOP(ok(square(z0))) → c79(TOP(square(active(z0))), ACTIVE(square(z0)))

(18) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
TOP(mark(0)) → c78(TOP(ok(0)))
TOP(mark(nil)) → c78(TOP(ok(nil)))
TOP(mark(rnil)) → c78(TOP(ok(rnil)))
TOP(ok(x0)) → c79
S tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
TOP(mark(0)) → c78(TOP(ok(0)))
TOP(mark(nil)) → c78(TOP(ok(nil)))
TOP(mark(rnil)) → c78(TOP(ok(rnil)))
TOP(ok(x0)) → c79
K tuples:none
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE, TOP

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61, c78, c79

(19) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 4 trailing nodes:

TOP(mark(0)) → c78(TOP(ok(0)))
TOP(mark(nil)) → c78(TOP(ok(nil)))
TOP(mark(rnil)) → c78(TOP(ok(rnil)))
TOP(ok(x0)) → c79

(20) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
K tuples:none
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(21) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(2NDSNEG(x1, x2)) = 0   
POL(2NDSPOS(x1, x2)) = x1   
POL(CONS(x1, x2)) = 0   
POL(CONS2(x1, x2)) = 0   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = 0   
POL(PI(x1)) = 0   
POL(PLUS(x1, x2)) = [4]x2   
POL(POSRECIP(x1)) = 0   
POL(RCONS(x1, x2)) = 0   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = 0   
POL(c31(x1)) = x1   
POL(c32(x1)) = x1   
POL(c33(x1)) = x1   
POL(c34(x1)) = x1   
POL(c35(x1)) = x1   
POL(c36(x1)) = x1   
POL(c37(x1)) = x1   
POL(c38(x1)) = x1   
POL(c39(x1)) = x1   
POL(c40(x1)) = x1   
POL(c41(x1)) = x1   
POL(c42(x1)) = x1   
POL(c43(x1)) = x1   
POL(c44(x1)) = x1   
POL(c45(x1)) = x1   
POL(c46(x1)) = x1   
POL(c47(x1)) = x1   
POL(c48(x1)) = x1   
POL(c49(x1)) = x1   
POL(c50(x1)) = x1   
POL(c51(x1)) = x1   
POL(c52(x1)) = x1   
POL(c53(x1)) = x1   
POL(c54(x1)) = x1   
POL(c55(x1)) = x1   
POL(c56(x1)) = x1   
POL(c57(x1)) = x1   
POL(c58(x1)) = x1   
POL(c59(x1)) = x1   
POL(c60(x1)) = x1   
POL(c61(x1)) = x1   
POL(mark(x1)) = [4] + x1   
POL(ok(x1)) = x1   

(22) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
K tuples:

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(23) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(2NDSNEG(x1, x2)) = 0   
POL(2NDSPOS(x1, x2)) = 0   
POL(CONS(x1, x2)) = 0   
POL(CONS2(x1, x2)) = [4]x1   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = 0   
POL(PI(x1)) = 0   
POL(PLUS(x1, x2)) = 0   
POL(POSRECIP(x1)) = 0   
POL(RCONS(x1, x2)) = 0   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = 0   
POL(c31(x1)) = x1   
POL(c32(x1)) = x1   
POL(c33(x1)) = x1   
POL(c34(x1)) = x1   
POL(c35(x1)) = x1   
POL(c36(x1)) = x1   
POL(c37(x1)) = x1   
POL(c38(x1)) = x1   
POL(c39(x1)) = x1   
POL(c40(x1)) = x1   
POL(c41(x1)) = x1   
POL(c42(x1)) = x1   
POL(c43(x1)) = x1   
POL(c44(x1)) = x1   
POL(c45(x1)) = x1   
POL(c46(x1)) = x1   
POL(c47(x1)) = x1   
POL(c48(x1)) = x1   
POL(c49(x1)) = x1   
POL(c50(x1)) = x1   
POL(c51(x1)) = x1   
POL(c52(x1)) = x1   
POL(c53(x1)) = x1   
POL(c54(x1)) = x1   
POL(c55(x1)) = x1   
POL(c56(x1)) = x1   
POL(c57(x1)) = x1   
POL(c58(x1)) = x1   
POL(c59(x1)) = x1   
POL(c60(x1)) = x1   
POL(c61(x1)) = x1   
POL(mark(x1)) = [2]   
POL(ok(x1)) = [2] + x1   

(24) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
K tuples:

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(25) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(2NDSNEG(x1, x2)) = [4]x2   
POL(2NDSPOS(x1, x2)) = 0   
POL(CONS(x1, x2)) = 0   
POL(CONS2(x1, x2)) = 0   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = [2]x1   
POL(PI(x1)) = 0   
POL(PLUS(x1, x2)) = 0   
POL(POSRECIP(x1)) = 0   
POL(RCONS(x1, x2)) = 0   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = 0   
POL(c31(x1)) = x1   
POL(c32(x1)) = x1   
POL(c33(x1)) = x1   
POL(c34(x1)) = x1   
POL(c35(x1)) = x1   
POL(c36(x1)) = x1   
POL(c37(x1)) = x1   
POL(c38(x1)) = x1   
POL(c39(x1)) = x1   
POL(c40(x1)) = x1   
POL(c41(x1)) = x1   
POL(c42(x1)) = x1   
POL(c43(x1)) = x1   
POL(c44(x1)) = x1   
POL(c45(x1)) = x1   
POL(c46(x1)) = x1   
POL(c47(x1)) = x1   
POL(c48(x1)) = x1   
POL(c49(x1)) = x1   
POL(c50(x1)) = x1   
POL(c51(x1)) = x1   
POL(c52(x1)) = x1   
POL(c53(x1)) = x1   
POL(c54(x1)) = x1   
POL(c55(x1)) = x1   
POL(c56(x1)) = x1   
POL(c57(x1)) = x1   
POL(c58(x1)) = x1   
POL(c59(x1)) = x1   
POL(c60(x1)) = x1   
POL(c61(x1)) = x1   
POL(mark(x1)) = [4] + x1   
POL(ok(x1)) = x1   

(26) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
K tuples:

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(27) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^2))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(2NDSNEG(x1, x2)) = 0   
POL(2NDSPOS(x1, x2)) = 0   
POL(CONS(x1, x2)) = x22   
POL(CONS2(x1, x2)) = 0   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = 0   
POL(PI(x1)) = 0   
POL(PLUS(x1, x2)) = 0   
POL(POSRECIP(x1)) = 0   
POL(RCONS(x1, x2)) = 0   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = 0   
POL(c31(x1)) = x1   
POL(c32(x1)) = x1   
POL(c33(x1)) = x1   
POL(c34(x1)) = x1   
POL(c35(x1)) = x1   
POL(c36(x1)) = x1   
POL(c37(x1)) = x1   
POL(c38(x1)) = x1   
POL(c39(x1)) = x1   
POL(c40(x1)) = x1   
POL(c41(x1)) = x1   
POL(c42(x1)) = x1   
POL(c43(x1)) = x1   
POL(c44(x1)) = x1   
POL(c45(x1)) = x1   
POL(c46(x1)) = x1   
POL(c47(x1)) = x1   
POL(c48(x1)) = x1   
POL(c49(x1)) = x1   
POL(c50(x1)) = x1   
POL(c51(x1)) = x1   
POL(c52(x1)) = x1   
POL(c53(x1)) = x1   
POL(c54(x1)) = x1   
POL(c55(x1)) = x1   
POL(c56(x1)) = x1   
POL(c57(x1)) = x1   
POL(c58(x1)) = x1   
POL(c59(x1)) = x1   
POL(c60(x1)) = x1   
POL(c61(x1)) = x1   
POL(mark(x1)) = 0   
POL(ok(x1)) = [1] + x1   

(28) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
K tuples:

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(29) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(2NDSNEG(x1, x2)) = 0   
POL(2NDSPOS(x1, x2)) = 0   
POL(CONS(x1, x2)) = [3]x2   
POL(CONS2(x1, x2)) = [2]x1 + [2]x2   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = 0   
POL(PI(x1)) = 0   
POL(PLUS(x1, x2)) = 0   
POL(POSRECIP(x1)) = 0   
POL(RCONS(x1, x2)) = 0   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = 0   
POL(c31(x1)) = x1   
POL(c32(x1)) = x1   
POL(c33(x1)) = x1   
POL(c34(x1)) = x1   
POL(c35(x1)) = x1   
POL(c36(x1)) = x1   
POL(c37(x1)) = x1   
POL(c38(x1)) = x1   
POL(c39(x1)) = x1   
POL(c40(x1)) = x1   
POL(c41(x1)) = x1   
POL(c42(x1)) = x1   
POL(c43(x1)) = x1   
POL(c44(x1)) = x1   
POL(c45(x1)) = x1   
POL(c46(x1)) = x1   
POL(c47(x1)) = x1   
POL(c48(x1)) = x1   
POL(c49(x1)) = x1   
POL(c50(x1)) = x1   
POL(c51(x1)) = x1   
POL(c52(x1)) = x1   
POL(c53(x1)) = x1   
POL(c54(x1)) = x1   
POL(c55(x1)) = x1   
POL(c56(x1)) = x1   
POL(c57(x1)) = x1   
POL(c58(x1)) = x1   
POL(c59(x1)) = x1   
POL(c60(x1)) = x1   
POL(c61(x1)) = x1   
POL(mark(x1)) = [4] + x1   
POL(ok(x1)) = x1   

(30) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
K tuples:

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(31) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(2NDSNEG(x1, x2)) = 0   
POL(2NDSPOS(x1, x2)) = 0   
POL(CONS(x1, x2)) = [4]x2   
POL(CONS2(x1, x2)) = [2]x1 + [2]x2   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = [4]x1   
POL(PI(x1)) = 0   
POL(PLUS(x1, x2)) = 0   
POL(POSRECIP(x1)) = 0   
POL(RCONS(x1, x2)) = 0   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = 0   
POL(c31(x1)) = x1   
POL(c32(x1)) = x1   
POL(c33(x1)) = x1   
POL(c34(x1)) = x1   
POL(c35(x1)) = x1   
POL(c36(x1)) = x1   
POL(c37(x1)) = x1   
POL(c38(x1)) = x1   
POL(c39(x1)) = x1   
POL(c40(x1)) = x1   
POL(c41(x1)) = x1   
POL(c42(x1)) = x1   
POL(c43(x1)) = x1   
POL(c44(x1)) = x1   
POL(c45(x1)) = x1   
POL(c46(x1)) = x1   
POL(c47(x1)) = x1   
POL(c48(x1)) = x1   
POL(c49(x1)) = x1   
POL(c50(x1)) = x1   
POL(c51(x1)) = x1   
POL(c52(x1)) = x1   
POL(c53(x1)) = x1   
POL(c54(x1)) = x1   
POL(c55(x1)) = x1   
POL(c56(x1)) = x1   
POL(c57(x1)) = x1   
POL(c58(x1)) = x1   
POL(c59(x1)) = x1   
POL(c60(x1)) = x1   
POL(c61(x1)) = x1   
POL(mark(x1)) = [2] + x1   
POL(ok(x1)) = [2] + x1   

(32) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
K tuples:

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(33) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(2NDSNEG(x1, x2)) = x1   
POL(2NDSPOS(x1, x2)) = 0   
POL(CONS(x1, x2)) = 0   
POL(CONS2(x1, x2)) = 0   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = x1   
POL(PI(x1)) = 0   
POL(PLUS(x1, x2)) = 0   
POL(POSRECIP(x1)) = 0   
POL(RCONS(x1, x2)) = 0   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = 0   
POL(c31(x1)) = x1   
POL(c32(x1)) = x1   
POL(c33(x1)) = x1   
POL(c34(x1)) = x1   
POL(c35(x1)) = x1   
POL(c36(x1)) = x1   
POL(c37(x1)) = x1   
POL(c38(x1)) = x1   
POL(c39(x1)) = x1   
POL(c40(x1)) = x1   
POL(c41(x1)) = x1   
POL(c42(x1)) = x1   
POL(c43(x1)) = x1   
POL(c44(x1)) = x1   
POL(c45(x1)) = x1   
POL(c46(x1)) = x1   
POL(c47(x1)) = x1   
POL(c48(x1)) = x1   
POL(c49(x1)) = x1   
POL(c50(x1)) = x1   
POL(c51(x1)) = x1   
POL(c52(x1)) = x1   
POL(c53(x1)) = x1   
POL(c54(x1)) = x1   
POL(c55(x1)) = x1   
POL(c56(x1)) = x1   
POL(c57(x1)) = x1   
POL(c58(x1)) = x1   
POL(c59(x1)) = x1   
POL(c60(x1)) = x1   
POL(c61(x1)) = x1   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   

(34) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
K tuples:

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(35) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

PI(ok(z0)) → c53(PI(z0))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(2NDSNEG(x1, x2)) = 0   
POL(2NDSPOS(x1, x2)) = 0   
POL(CONS(x1, x2)) = 0   
POL(CONS2(x1, x2)) = 0   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = [5]x1   
POL(PI(x1)) = [2]x1   
POL(PLUS(x1, x2)) = 0   
POL(POSRECIP(x1)) = 0   
POL(RCONS(x1, x2)) = 0   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = 0   
POL(c31(x1)) = x1   
POL(c32(x1)) = x1   
POL(c33(x1)) = x1   
POL(c34(x1)) = x1   
POL(c35(x1)) = x1   
POL(c36(x1)) = x1   
POL(c37(x1)) = x1   
POL(c38(x1)) = x1   
POL(c39(x1)) = x1   
POL(c40(x1)) = x1   
POL(c41(x1)) = x1   
POL(c42(x1)) = x1   
POL(c43(x1)) = x1   
POL(c44(x1)) = x1   
POL(c45(x1)) = x1   
POL(c46(x1)) = x1   
POL(c47(x1)) = x1   
POL(c48(x1)) = x1   
POL(c49(x1)) = x1   
POL(c50(x1)) = x1   
POL(c51(x1)) = x1   
POL(c52(x1)) = x1   
POL(c53(x1)) = x1   
POL(c54(x1)) = x1   
POL(c55(x1)) = x1   
POL(c56(x1)) = x1   
POL(c57(x1)) = x1   
POL(c58(x1)) = x1   
POL(c59(x1)) = x1   
POL(c60(x1)) = x1   
POL(c61(x1)) = x1   
POL(mark(x1)) = x1   
POL(ok(x1)) = [1] + x1   

(36) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
K tuples:

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
PI(ok(z0)) → c53(PI(z0))
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(37) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

POSRECIP(mark(z0)) → c33(POSRECIP(z0))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
PI(mark(z0)) → c52(PI(z0))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(2NDSNEG(x1, x2)) = 0   
POL(2NDSPOS(x1, x2)) = 0   
POL(CONS(x1, x2)) = [3]x2   
POL(CONS2(x1, x2)) = [2]x1   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = [4]x1   
POL(PI(x1)) = [4]x1   
POL(PLUS(x1, x2)) = 0   
POL(POSRECIP(x1)) = [2]x1   
POL(RCONS(x1, x2)) = [4]x2   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = 0   
POL(c31(x1)) = x1   
POL(c32(x1)) = x1   
POL(c33(x1)) = x1   
POL(c34(x1)) = x1   
POL(c35(x1)) = x1   
POL(c36(x1)) = x1   
POL(c37(x1)) = x1   
POL(c38(x1)) = x1   
POL(c39(x1)) = x1   
POL(c40(x1)) = x1   
POL(c41(x1)) = x1   
POL(c42(x1)) = x1   
POL(c43(x1)) = x1   
POL(c44(x1)) = x1   
POL(c45(x1)) = x1   
POL(c46(x1)) = x1   
POL(c47(x1)) = x1   
POL(c48(x1)) = x1   
POL(c49(x1)) = x1   
POL(c50(x1)) = x1   
POL(c51(x1)) = x1   
POL(c52(x1)) = x1   
POL(c53(x1)) = x1   
POL(c54(x1)) = x1   
POL(c55(x1)) = x1   
POL(c56(x1)) = x1   
POL(c57(x1)) = x1   
POL(c58(x1)) = x1   
POL(c59(x1)) = x1   
POL(c60(x1)) = x1   
POL(c61(x1)) = x1   
POL(mark(x1)) = [4] + x1   
POL(ok(x1)) = x1   

(38) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
K tuples:

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
PI(ok(z0)) → c53(PI(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
PI(mark(z0)) → c52(PI(z0))
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(39) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(2NDSNEG(x1, x2)) = 0   
POL(2NDSPOS(x1, x2)) = 0   
POL(CONS(x1, x2)) = [3]x2   
POL(CONS2(x1, x2)) = [3]x2   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = 0   
POL(PI(x1)) = [4]x1   
POL(PLUS(x1, x2)) = 0   
POL(POSRECIP(x1)) = 0   
POL(RCONS(x1, x2)) = 0   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = [4]x2   
POL(c31(x1)) = x1   
POL(c32(x1)) = x1   
POL(c33(x1)) = x1   
POL(c34(x1)) = x1   
POL(c35(x1)) = x1   
POL(c36(x1)) = x1   
POL(c37(x1)) = x1   
POL(c38(x1)) = x1   
POL(c39(x1)) = x1   
POL(c40(x1)) = x1   
POL(c41(x1)) = x1   
POL(c42(x1)) = x1   
POL(c43(x1)) = x1   
POL(c44(x1)) = x1   
POL(c45(x1)) = x1   
POL(c46(x1)) = x1   
POL(c47(x1)) = x1   
POL(c48(x1)) = x1   
POL(c49(x1)) = x1   
POL(c50(x1)) = x1   
POL(c51(x1)) = x1   
POL(c52(x1)) = x1   
POL(c53(x1)) = x1   
POL(c54(x1)) = x1   
POL(c55(x1)) = x1   
POL(c56(x1)) = x1   
POL(c57(x1)) = x1   
POL(c58(x1)) = x1   
POL(c59(x1)) = x1   
POL(c60(x1)) = x1   
POL(c61(x1)) = x1   
POL(mark(x1)) = x1   
POL(ok(x1)) = [1] + x1   

(40) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
K tuples:

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
PI(ok(z0)) → c53(PI(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
PI(mark(z0)) → c52(PI(z0))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(41) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

S(ok(z0)) → c32(S(z0))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(2NDSNEG(x1, x2)) = 0   
POL(2NDSPOS(x1, x2)) = [4]x1 + [4]x2   
POL(CONS(x1, x2)) = [3]x2   
POL(CONS2(x1, x2)) = [3]x1   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = 0   
POL(PI(x1)) = 0   
POL(PLUS(x1, x2)) = 0   
POL(POSRECIP(x1)) = 0   
POL(RCONS(x1, x2)) = 0   
POL(S(x1)) = x1   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = 0   
POL(c31(x1)) = x1   
POL(c32(x1)) = x1   
POL(c33(x1)) = x1   
POL(c34(x1)) = x1   
POL(c35(x1)) = x1   
POL(c36(x1)) = x1   
POL(c37(x1)) = x1   
POL(c38(x1)) = x1   
POL(c39(x1)) = x1   
POL(c40(x1)) = x1   
POL(c41(x1)) = x1   
POL(c42(x1)) = x1   
POL(c43(x1)) = x1   
POL(c44(x1)) = x1   
POL(c45(x1)) = x1   
POL(c46(x1)) = x1   
POL(c47(x1)) = x1   
POL(c48(x1)) = x1   
POL(c49(x1)) = x1   
POL(c50(x1)) = x1   
POL(c51(x1)) = x1   
POL(c52(x1)) = x1   
POL(c53(x1)) = x1   
POL(c54(x1)) = x1   
POL(c55(x1)) = x1   
POL(c56(x1)) = x1   
POL(c57(x1)) = x1   
POL(c58(x1)) = x1   
POL(c59(x1)) = x1   
POL(c60(x1)) = x1   
POL(c61(x1)) = x1   
POL(mark(x1)) = x1   
POL(ok(x1)) = [2] + x1   

(42) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:

S(mark(z0)) → c31(S(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
K tuples:

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
PI(ok(z0)) → c53(PI(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
PI(mark(z0)) → c52(PI(z0))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
S(ok(z0)) → c32(S(z0))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(43) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^2))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(2NDSNEG(x1, x2)) = 0   
POL(2NDSPOS(x1, x2)) = 0   
POL(CONS(x1, x2)) = [2]x2 + [2]x1·x2   
POL(CONS2(x1, x2)) = 0   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = 0   
POL(PI(x1)) = 0   
POL(PLUS(x1, x2)) = 0   
POL(POSRECIP(x1)) = 0   
POL(RCONS(x1, x2)) = 0   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = [3]x12   
POL(TIMES(x1, x2)) = [3]x1   
POL(c31(x1)) = x1   
POL(c32(x1)) = x1   
POL(c33(x1)) = x1   
POL(c34(x1)) = x1   
POL(c35(x1)) = x1   
POL(c36(x1)) = x1   
POL(c37(x1)) = x1   
POL(c38(x1)) = x1   
POL(c39(x1)) = x1   
POL(c40(x1)) = x1   
POL(c41(x1)) = x1   
POL(c42(x1)) = x1   
POL(c43(x1)) = x1   
POL(c44(x1)) = x1   
POL(c45(x1)) = x1   
POL(c46(x1)) = x1   
POL(c47(x1)) = x1   
POL(c48(x1)) = x1   
POL(c49(x1)) = x1   
POL(c50(x1)) = x1   
POL(c51(x1)) = x1   
POL(c52(x1)) = x1   
POL(c53(x1)) = x1   
POL(c54(x1)) = x1   
POL(c55(x1)) = x1   
POL(c56(x1)) = x1   
POL(c57(x1)) = x1   
POL(c58(x1)) = x1   
POL(c59(x1)) = x1   
POL(c60(x1)) = x1   
POL(c61(x1)) = x1   
POL(mark(x1)) = [3] + x1   
POL(ok(x1)) = [1] + x1   

(44) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:

S(mark(z0)) → c31(S(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
K tuples:

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
PI(ok(z0)) → c53(PI(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
PI(mark(z0)) → c52(PI(z0))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
S(ok(z0)) → c32(S(z0))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(45) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(2NDSNEG(x1, x2)) = [4]x1   
POL(2NDSPOS(x1, x2)) = 0   
POL(CONS(x1, x2)) = [2]x2   
POL(CONS2(x1, x2)) = [2]x1   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = 0   
POL(PI(x1)) = [4]x1   
POL(PLUS(x1, x2)) = 0   
POL(POSRECIP(x1)) = 0   
POL(RCONS(x1, x2)) = [2]x1   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = [2]x1   
POL(TIMES(x1, x2)) = [3]x1   
POL(c31(x1)) = x1   
POL(c32(x1)) = x1   
POL(c33(x1)) = x1   
POL(c34(x1)) = x1   
POL(c35(x1)) = x1   
POL(c36(x1)) = x1   
POL(c37(x1)) = x1   
POL(c38(x1)) = x1   
POL(c39(x1)) = x1   
POL(c40(x1)) = x1   
POL(c41(x1)) = x1   
POL(c42(x1)) = x1   
POL(c43(x1)) = x1   
POL(c44(x1)) = x1   
POL(c45(x1)) = x1   
POL(c46(x1)) = x1   
POL(c47(x1)) = x1   
POL(c48(x1)) = x1   
POL(c49(x1)) = x1   
POL(c50(x1)) = x1   
POL(c51(x1)) = x1   
POL(c52(x1)) = x1   
POL(c53(x1)) = x1   
POL(c54(x1)) = x1   
POL(c55(x1)) = x1   
POL(c56(x1)) = x1   
POL(c57(x1)) = x1   
POL(c58(x1)) = x1   
POL(c59(x1)) = x1   
POL(c60(x1)) = x1   
POL(c61(x1)) = x1   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = [1] + x1   

(46) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:

S(mark(z0)) → c31(S(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
K tuples:

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
PI(ok(z0)) → c53(PI(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
PI(mark(z0)) → c52(PI(z0))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
S(ok(z0)) → c32(S(z0))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(47) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

S(mark(z0)) → c31(S(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(2NDSNEG(x1, x2)) = [2]x2   
POL(2NDSPOS(x1, x2)) = 0   
POL(CONS(x1, x2)) = [4]x1   
POL(CONS2(x1, x2)) = [3]x1   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = [3]x1   
POL(PI(x1)) = 0   
POL(PLUS(x1, x2)) = 0   
POL(POSRECIP(x1)) = 0   
POL(RCONS(x1, x2)) = [4]x2   
POL(S(x1)) = [2]x1   
POL(SQUARE(x1)) = [2]x1   
POL(TIMES(x1, x2)) = [4]x1   
POL(c31(x1)) = x1   
POL(c32(x1)) = x1   
POL(c33(x1)) = x1   
POL(c34(x1)) = x1   
POL(c35(x1)) = x1   
POL(c36(x1)) = x1   
POL(c37(x1)) = x1   
POL(c38(x1)) = x1   
POL(c39(x1)) = x1   
POL(c40(x1)) = x1   
POL(c41(x1)) = x1   
POL(c42(x1)) = x1   
POL(c43(x1)) = x1   
POL(c44(x1)) = x1   
POL(c45(x1)) = x1   
POL(c46(x1)) = x1   
POL(c47(x1)) = x1   
POL(c48(x1)) = x1   
POL(c49(x1)) = x1   
POL(c50(x1)) = x1   
POL(c51(x1)) = x1   
POL(c52(x1)) = x1   
POL(c53(x1)) = x1   
POL(c54(x1)) = x1   
POL(c55(x1)) = x1   
POL(c56(x1)) = x1   
POL(c57(x1)) = x1   
POL(c58(x1)) = x1   
POL(c59(x1)) = x1   
POL(c60(x1)) = x1   
POL(c61(x1)) = x1   
POL(mark(x1)) = [4] + x1   
POL(ok(x1)) = [4] + x1   

(48) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:

POSRECIP(ok(z0)) → c34(POSRECIP(z0))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
K tuples:

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
PI(ok(z0)) → c53(PI(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
PI(mark(z0)) → c52(PI(z0))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
S(ok(z0)) → c32(S(z0))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
S(mark(z0)) → c31(S(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(49) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

FROM(mark(z0)) → c44(FROM(z0))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(2NDSNEG(x1, x2)) = 0   
POL(2NDSPOS(x1, x2)) = [4]x1   
POL(CONS(x1, x2)) = 0   
POL(CONS2(x1, x2)) = 0   
POL(FROM(x1)) = [2]x1   
POL(NEGRECIP(x1)) = [2]x1   
POL(PI(x1)) = 0   
POL(PLUS(x1, x2)) = 0   
POL(POSRECIP(x1)) = 0   
POL(RCONS(x1, x2)) = 0   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = [4]x1   
POL(TIMES(x1, x2)) = 0   
POL(c31(x1)) = x1   
POL(c32(x1)) = x1   
POL(c33(x1)) = x1   
POL(c34(x1)) = x1   
POL(c35(x1)) = x1   
POL(c36(x1)) = x1   
POL(c37(x1)) = x1   
POL(c38(x1)) = x1   
POL(c39(x1)) = x1   
POL(c40(x1)) = x1   
POL(c41(x1)) = x1   
POL(c42(x1)) = x1   
POL(c43(x1)) = x1   
POL(c44(x1)) = x1   
POL(c45(x1)) = x1   
POL(c46(x1)) = x1   
POL(c47(x1)) = x1   
POL(c48(x1)) = x1   
POL(c49(x1)) = x1   
POL(c50(x1)) = x1   
POL(c51(x1)) = x1   
POL(c52(x1)) = x1   
POL(c53(x1)) = x1   
POL(c54(x1)) = x1   
POL(c55(x1)) = x1   
POL(c56(x1)) = x1   
POL(c57(x1)) = x1   
POL(c58(x1)) = x1   
POL(c59(x1)) = x1   
POL(c60(x1)) = x1   
POL(c61(x1)) = x1   
POL(mark(x1)) = [4] + x1   
POL(ok(x1)) = x1   

(50) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:

POSRECIP(ok(z0)) → c34(POSRECIP(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
K tuples:

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
PI(ok(z0)) → c53(PI(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
PI(mark(z0)) → c52(PI(z0))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
S(ok(z0)) → c32(S(z0))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
S(mark(z0)) → c31(S(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(51) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(2NDSNEG(x1, x2)) = [3]x1   
POL(2NDSPOS(x1, x2)) = x2   
POL(CONS(x1, x2)) = 0   
POL(CONS2(x1, x2)) = [2]x1   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = 0   
POL(PI(x1)) = 0   
POL(PLUS(x1, x2)) = [4]x1   
POL(POSRECIP(x1)) = 0   
POL(RCONS(x1, x2)) = [4]x1 + [2]x2   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = [4]x1   
POL(c31(x1)) = x1   
POL(c32(x1)) = x1   
POL(c33(x1)) = x1   
POL(c34(x1)) = x1   
POL(c35(x1)) = x1   
POL(c36(x1)) = x1   
POL(c37(x1)) = x1   
POL(c38(x1)) = x1   
POL(c39(x1)) = x1   
POL(c40(x1)) = x1   
POL(c41(x1)) = x1   
POL(c42(x1)) = x1   
POL(c43(x1)) = x1   
POL(c44(x1)) = x1   
POL(c45(x1)) = x1   
POL(c46(x1)) = x1   
POL(c47(x1)) = x1   
POL(c48(x1)) = x1   
POL(c49(x1)) = x1   
POL(c50(x1)) = x1   
POL(c51(x1)) = x1   
POL(c52(x1)) = x1   
POL(c53(x1)) = x1   
POL(c54(x1)) = x1   
POL(c55(x1)) = x1   
POL(c56(x1)) = x1   
POL(c57(x1)) = x1   
POL(c58(x1)) = x1   
POL(c59(x1)) = x1   
POL(c60(x1)) = x1   
POL(c61(x1)) = x1   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   

(52) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:

POSRECIP(ok(z0)) → c34(POSRECIP(z0))
FROM(ok(z0)) → c45(FROM(z0))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
K tuples:

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
PI(ok(z0)) → c53(PI(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
PI(mark(z0)) → c52(PI(z0))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
S(ok(z0)) → c32(S(z0))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
S(mark(z0)) → c31(S(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(53) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(2NDSNEG(x1, x2)) = 0   
POL(2NDSPOS(x1, x2)) = [2]x1   
POL(CONS(x1, x2)) = 0   
POL(CONS2(x1, x2)) = [5]x2   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = 0   
POL(PI(x1)) = [2]x1   
POL(PLUS(x1, x2)) = 0   
POL(POSRECIP(x1)) = 0   
POL(RCONS(x1, x2)) = [4]x1   
POL(S(x1)) = x1   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = [4]x1 + x2   
POL(c31(x1)) = x1   
POL(c32(x1)) = x1   
POL(c33(x1)) = x1   
POL(c34(x1)) = x1   
POL(c35(x1)) = x1   
POL(c36(x1)) = x1   
POL(c37(x1)) = x1   
POL(c38(x1)) = x1   
POL(c39(x1)) = x1   
POL(c40(x1)) = x1   
POL(c41(x1)) = x1   
POL(c42(x1)) = x1   
POL(c43(x1)) = x1   
POL(c44(x1)) = x1   
POL(c45(x1)) = x1   
POL(c46(x1)) = x1   
POL(c47(x1)) = x1   
POL(c48(x1)) = x1   
POL(c49(x1)) = x1   
POL(c50(x1)) = x1   
POL(c51(x1)) = x1   
POL(c52(x1)) = x1   
POL(c53(x1)) = x1   
POL(c54(x1)) = x1   
POL(c55(x1)) = x1   
POL(c56(x1)) = x1   
POL(c57(x1)) = x1   
POL(c58(x1)) = x1   
POL(c59(x1)) = x1   
POL(c60(x1)) = x1   
POL(c61(x1)) = x1   
POL(mark(x1)) = [1] + x1   
POL(ok(x1)) = x1   

(54) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:

POSRECIP(ok(z0)) → c34(POSRECIP(z0))
FROM(ok(z0)) → c45(FROM(z0))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
K tuples:

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
PI(ok(z0)) → c53(PI(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
PI(mark(z0)) → c52(PI(z0))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
S(ok(z0)) → c32(S(z0))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
S(mark(z0)) → c31(S(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(55) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(2NDSNEG(x1, x2)) = [2]x1   
POL(2NDSPOS(x1, x2)) = [4]x2   
POL(CONS(x1, x2)) = [4]x2   
POL(CONS2(x1, x2)) = [5]x1   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = 0   
POL(PI(x1)) = 0   
POL(PLUS(x1, x2)) = x1   
POL(POSRECIP(x1)) = 0   
POL(RCONS(x1, x2)) = [2]x1   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = [2]x1   
POL(TIMES(x1, x2)) = [4]x2   
POL(c31(x1)) = x1   
POL(c32(x1)) = x1   
POL(c33(x1)) = x1   
POL(c34(x1)) = x1   
POL(c35(x1)) = x1   
POL(c36(x1)) = x1   
POL(c37(x1)) = x1   
POL(c38(x1)) = x1   
POL(c39(x1)) = x1   
POL(c40(x1)) = x1   
POL(c41(x1)) = x1   
POL(c42(x1)) = x1   
POL(c43(x1)) = x1   
POL(c44(x1)) = x1   
POL(c45(x1)) = x1   
POL(c46(x1)) = x1   
POL(c47(x1)) = x1   
POL(c48(x1)) = x1   
POL(c49(x1)) = x1   
POL(c50(x1)) = x1   
POL(c51(x1)) = x1   
POL(c52(x1)) = x1   
POL(c53(x1)) = x1   
POL(c54(x1)) = x1   
POL(c55(x1)) = x1   
POL(c56(x1)) = x1   
POL(c57(x1)) = x1   
POL(c58(x1)) = x1   
POL(c59(x1)) = x1   
POL(c60(x1)) = x1   
POL(c61(x1)) = x1   
POL(mark(x1)) = x1   
POL(ok(x1)) = [4] + x1   

(56) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:

POSRECIP(ok(z0)) → c34(POSRECIP(z0))
FROM(ok(z0)) → c45(FROM(z0))
K tuples:

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
PI(ok(z0)) → c53(PI(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
PI(mark(z0)) → c52(PI(z0))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
S(ok(z0)) → c32(S(z0))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
S(mark(z0)) → c31(S(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(57) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

FROM(ok(z0)) → c45(FROM(z0))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(2NDSNEG(x1, x2)) = [4]x2   
POL(2NDSPOS(x1, x2)) = 0   
POL(CONS(x1, x2)) = [2]x2   
POL(CONS2(x1, x2)) = 0   
POL(FROM(x1)) = x1   
POL(NEGRECIP(x1)) = 0   
POL(PI(x1)) = [2]x1   
POL(PLUS(x1, x2)) = [2]x1 + [3]x2   
POL(POSRECIP(x1)) = 0   
POL(RCONS(x1, x2)) = [2]x2   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = [4]x1 + [2]x2   
POL(c31(x1)) = x1   
POL(c32(x1)) = x1   
POL(c33(x1)) = x1   
POL(c34(x1)) = x1   
POL(c35(x1)) = x1   
POL(c36(x1)) = x1   
POL(c37(x1)) = x1   
POL(c38(x1)) = x1   
POL(c39(x1)) = x1   
POL(c40(x1)) = x1   
POL(c41(x1)) = x1   
POL(c42(x1)) = x1   
POL(c43(x1)) = x1   
POL(c44(x1)) = x1   
POL(c45(x1)) = x1   
POL(c46(x1)) = x1   
POL(c47(x1)) = x1   
POL(c48(x1)) = x1   
POL(c49(x1)) = x1   
POL(c50(x1)) = x1   
POL(c51(x1)) = x1   
POL(c52(x1)) = x1   
POL(c53(x1)) = x1   
POL(c54(x1)) = x1   
POL(c55(x1)) = x1   
POL(c56(x1)) = x1   
POL(c57(x1)) = x1   
POL(c58(x1)) = x1   
POL(c59(x1)) = x1   
POL(c60(x1)) = x1   
POL(c61(x1)) = x1   
POL(mark(x1)) = x1   
POL(ok(x1)) = [1] + x1   

(58) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:

POSRECIP(ok(z0)) → c34(POSRECIP(z0))
K tuples:

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
PI(ok(z0)) → c53(PI(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
PI(mark(z0)) → c52(PI(z0))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
S(ok(z0)) → c32(S(z0))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
S(mark(z0)) → c31(S(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
FROM(ok(z0)) → c45(FROM(z0))
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(59) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

POSRECIP(ok(z0)) → c34(POSRECIP(z0))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(2NDSNEG(x1, x2)) = 0   
POL(2NDSPOS(x1, x2)) = [4]x1   
POL(CONS(x1, x2)) = 0   
POL(CONS2(x1, x2)) = [2]x1 + [4]x2   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = 0   
POL(PI(x1)) = 0   
POL(PLUS(x1, x2)) = [3]x1 + [2]x2   
POL(POSRECIP(x1)) = [2]x1   
POL(RCONS(x1, x2)) = 0   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = [4]x1   
POL(TIMES(x1, x2)) = [4]x1 + [4]x2   
POL(c31(x1)) = x1   
POL(c32(x1)) = x1   
POL(c33(x1)) = x1   
POL(c34(x1)) = x1   
POL(c35(x1)) = x1   
POL(c36(x1)) = x1   
POL(c37(x1)) = x1   
POL(c38(x1)) = x1   
POL(c39(x1)) = x1   
POL(c40(x1)) = x1   
POL(c41(x1)) = x1   
POL(c42(x1)) = x1   
POL(c43(x1)) = x1   
POL(c44(x1)) = x1   
POL(c45(x1)) = x1   
POL(c46(x1)) = x1   
POL(c47(x1)) = x1   
POL(c48(x1)) = x1   
POL(c49(x1)) = x1   
POL(c50(x1)) = x1   
POL(c51(x1)) = x1   
POL(c52(x1)) = x1   
POL(c53(x1)) = x1   
POL(c54(x1)) = x1   
POL(c55(x1)) = x1   
POL(c56(x1)) = x1   
POL(c57(x1)) = x1   
POL(c58(x1)) = x1   
POL(c59(x1)) = x1   
POL(c60(x1)) = x1   
POL(c61(x1)) = x1   
POL(mark(x1)) = x1   
POL(ok(x1)) = [1] + x1   

(60) Obligation:

Complexity Dependency Tuples Problem
Rules:

active(from(z0)) → mark(cons(z0, from(s(z0))))
active(2ndspos(0, z0)) → mark(rnil)
active(2ndspos(s(z0), cons(z1, z2))) → mark(2ndspos(s(z0), cons2(z1, z2)))
active(2ndspos(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(z1, z2))) → mark(2ndsneg(s(z0), cons2(z1, z2)))
active(2ndsneg(s(z0), cons2(z1, cons(z2, z3)))) → mark(rcons(negrecip(z2), 2ndspos(z0, z3)))
active(pi(z0)) → mark(2ndspos(z0, from(0)))
active(plus(0, z0)) → mark(z0)
active(plus(s(z0), z1)) → mark(s(plus(z0, z1)))
active(times(0, z0)) → mark(0)
active(times(s(z0), z1)) → mark(plus(z1, times(z0, z1)))
active(square(z0)) → mark(times(z0, z0))
active(s(z0)) → s(active(z0))
active(posrecip(z0)) → posrecip(active(z0))
active(negrecip(z0)) → negrecip(active(z0))
active(cons(z0, z1)) → cons(active(z0), z1)
active(cons2(z0, z1)) → cons2(z0, active(z1))
active(rcons(z0, z1)) → rcons(active(z0), z1)
active(rcons(z0, z1)) → rcons(z0, active(z1))
active(from(z0)) → from(active(z0))
active(2ndspos(z0, z1)) → 2ndspos(active(z0), z1)
active(2ndspos(z0, z1)) → 2ndspos(z0, active(z1))
active(2ndsneg(z0, z1)) → 2ndsneg(active(z0), z1)
active(2ndsneg(z0, z1)) → 2ndsneg(z0, active(z1))
active(pi(z0)) → pi(active(z0))
active(plus(z0, z1)) → plus(active(z0), z1)
active(plus(z0, z1)) → plus(z0, active(z1))
active(times(z0, z1)) → times(active(z0), z1)
active(times(z0, z1)) → times(z0, active(z1))
active(square(z0)) → square(active(z0))
s(mark(z0)) → mark(s(z0))
s(ok(z0)) → ok(s(z0))
posrecip(mark(z0)) → mark(posrecip(z0))
posrecip(ok(z0)) → ok(posrecip(z0))
negrecip(mark(z0)) → mark(negrecip(z0))
negrecip(ok(z0)) → ok(negrecip(z0))
cons(mark(z0), z1) → mark(cons(z0, z1))
cons(ok(z0), ok(z1)) → ok(cons(z0, z1))
cons2(z0, mark(z1)) → mark(cons2(z0, z1))
cons2(ok(z0), ok(z1)) → ok(cons2(z0, z1))
rcons(mark(z0), z1) → mark(rcons(z0, z1))
rcons(z0, mark(z1)) → mark(rcons(z0, z1))
rcons(ok(z0), ok(z1)) → ok(rcons(z0, z1))
from(mark(z0)) → mark(from(z0))
from(ok(z0)) → ok(from(z0))
2ndspos(mark(z0), z1) → mark(2ndspos(z0, z1))
2ndspos(z0, mark(z1)) → mark(2ndspos(z0, z1))
2ndspos(ok(z0), ok(z1)) → ok(2ndspos(z0, z1))
2ndsneg(mark(z0), z1) → mark(2ndsneg(z0, z1))
2ndsneg(z0, mark(z1)) → mark(2ndsneg(z0, z1))
2ndsneg(ok(z0), ok(z1)) → ok(2ndsneg(z0, z1))
pi(mark(z0)) → mark(pi(z0))
pi(ok(z0)) → ok(pi(z0))
plus(mark(z0), z1) → mark(plus(z0, z1))
plus(z0, mark(z1)) → mark(plus(z0, z1))
plus(ok(z0), ok(z1)) → ok(plus(z0, z1))
times(mark(z0), z1) → mark(times(z0, z1))
times(z0, mark(z1)) → mark(times(z0, z1))
times(ok(z0), ok(z1)) → ok(times(z0, z1))
square(mark(z0)) → mark(square(z0))
square(ok(z0)) → ok(square(z0))
proper(0) → ok(0)
proper(s(z0)) → s(proper(z0))
proper(posrecip(z0)) → posrecip(proper(z0))
proper(negrecip(z0)) → negrecip(proper(z0))
proper(nil) → ok(nil)
proper(cons(z0, z1)) → cons(proper(z0), proper(z1))
proper(cons2(z0, z1)) → cons2(proper(z0), proper(z1))
proper(rnil) → ok(rnil)
proper(rcons(z0, z1)) → rcons(proper(z0), proper(z1))
proper(from(z0)) → from(proper(z0))
proper(2ndspos(z0, z1)) → 2ndspos(proper(z0), proper(z1))
proper(2ndsneg(z0, z1)) → 2ndsneg(proper(z0), proper(z1))
proper(pi(z0)) → pi(proper(z0))
proper(plus(z0, z1)) → plus(proper(z0), proper(z1))
proper(times(z0, z1)) → times(proper(z0), proper(z1))
proper(square(z0)) → square(proper(z0))
top(mark(z0)) → top(proper(z0))
top(ok(z0)) → top(active(z0))
Tuples:

S(mark(z0)) → c31(S(z0))
S(ok(z0)) → c32(S(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
FROM(ok(z0)) → c45(FROM(z0))
2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
PI(mark(z0)) → c52(PI(z0))
PI(ok(z0)) → c53(PI(z0))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
S tuples:none
K tuples:

2NDSPOS(mark(z0), z1) → c46(2NDSPOS(z0, z1))
PLUS(z0, mark(z1)) → c55(PLUS(z0, z1))
CONS2(ok(z0), ok(z1)) → c40(CONS2(z0, z1))
NEGRECIP(mark(z0)) → c35(NEGRECIP(z0))
2NDSNEG(z0, mark(z1)) → c50(2NDSNEG(z0, z1))
CONS(ok(z0), ok(z1)) → c38(CONS(z0, z1))
CONS2(z0, mark(z1)) → c39(CONS2(z0, z1))
NEGRECIP(ok(z0)) → c36(NEGRECIP(z0))
2NDSNEG(mark(z0), z1) → c49(2NDSNEG(z0, z1))
PI(ok(z0)) → c53(PI(z0))
POSRECIP(mark(z0)) → c33(POSRECIP(z0))
RCONS(z0, mark(z1)) → c42(RCONS(z0, z1))
PI(mark(z0)) → c52(PI(z0))
TIMES(ok(z0), ok(z1)) → c59(TIMES(z0, z1))
S(ok(z0)) → c32(S(z0))
2NDSPOS(ok(z0), ok(z1)) → c48(2NDSPOS(z0, z1))
TIMES(mark(z0), z1) → c57(TIMES(z0, z1))
SQUARE(mark(z0)) → c60(SQUARE(z0))
SQUARE(ok(z0)) → c61(SQUARE(z0))
RCONS(mark(z0), z1) → c41(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c43(RCONS(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c51(2NDSNEG(z0, z1))
S(mark(z0)) → c31(S(z0))
CONS(mark(z0), z1) → c37(CONS(z0, z1))
FROM(mark(z0)) → c44(FROM(z0))
2NDSPOS(z0, mark(z1)) → c47(2NDSPOS(z0, z1))
PLUS(mark(z0), z1) → c54(PLUS(z0, z1))
TIMES(z0, mark(z1)) → c58(TIMES(z0, z1))
PLUS(ok(z0), ok(z1)) → c56(PLUS(z0, z1))
FROM(ok(z0)) → c45(FROM(z0))
POSRECIP(ok(z0)) → c34(POSRECIP(z0))
Defined Rule Symbols:

active, s, posrecip, negrecip, cons, cons2, rcons, from, 2ndspos, 2ndsneg, pi, plus, times, square, proper, top

Defined Pair Symbols:

S, POSRECIP, NEGRECIP, CONS, CONS2, RCONS, FROM, 2NDSPOS, 2NDSNEG, PI, PLUS, TIMES, SQUARE

Compound Symbols:

c31, c32, c33, c34, c35, c36, c37, c38, c39, c40, c41, c42, c43, c44, c45, c46, c47, c48, c49, c50, c51, c52, c53, c54, c55, c56, c57, c58, c59, c60, c61

(61) SIsEmptyProof (EQUIVALENT transformation)

The set S is empty

(62) BOUNDS(O(1), O(1))