(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, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(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(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))
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(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))
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, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(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(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))
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(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, cons(z2, z3)))) → c2(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3))
ACTIVE(2ndsneg(s(z0), cons(z1, cons(z2, z3)))) → c4(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(pi(z0)) → c5(2NDSPOS(z0, from(0)), FROM(0))
ACTIVE(plus(s(z0), z1)) → c7(S(plus(z0, z1)), PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c9(PLUS(z1, times(z0, z1)), TIMES(z0, z1))
ACTIVE(square(z0)) → c10(TIMES(z0, z0))
ACTIVE(s(z0)) → c11(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c12(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c13(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c14(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c15(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c16(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c17(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c18(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c19(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c20(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c21(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c22(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c23(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c24(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c25(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c26(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c27(SQUARE(active(z0)), ACTIVE(z0))
S(mark(z0)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
PROPER(s(z0)) → c58(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c59(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c60(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c62(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c64(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c65(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c66(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c67(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c68(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c69(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c70(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c71(SQUARE(proper(z0)), PROPER(z0))
TOP(mark(z0)) → c72(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c73(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, cons(z2, z3)))) → c2(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3))
ACTIVE(2ndsneg(s(z0), cons(z1, cons(z2, z3)))) → c4(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(pi(z0)) → c5(2NDSPOS(z0, from(0)), FROM(0))
ACTIVE(plus(s(z0), z1)) → c7(S(plus(z0, z1)), PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c9(PLUS(z1, times(z0, z1)), TIMES(z0, z1))
ACTIVE(square(z0)) → c10(TIMES(z0, z0))
ACTIVE(s(z0)) → c11(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c12(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c13(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c14(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c15(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c16(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c17(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c18(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c19(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c20(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c21(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c22(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c23(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c24(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c25(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c26(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c27(SQUARE(active(z0)), ACTIVE(z0))
S(mark(z0)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
PROPER(s(z0)) → c58(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c59(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c60(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c62(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c64(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c65(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c66(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c67(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c68(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c69(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c70(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c71(SQUARE(proper(z0)), PROPER(z0))
TOP(mark(z0)) → c72(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c73(TOP(active(z0)), ACTIVE(z0))
K tuples:none
Defined Rule Symbols:

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

Defined Pair Symbols:

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

Compound Symbols:

c, c2, c4, c5, c7, c9, c10, 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, c58, c59, c60, c62, c64, c65, c66, c67, c68, c69, c70, c71, c72, c73

(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, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(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(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))
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(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, cons(z2, z3)))) → c2(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3))
ACTIVE(2ndsneg(s(z0), cons(z1, cons(z2, z3)))) → c4(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(square(z0)) → c10(TIMES(z0, z0))
ACTIVE(s(z0)) → c11(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c12(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c13(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c14(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c15(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c16(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c17(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c18(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c19(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c20(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c21(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c22(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c23(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c24(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c25(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c26(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c27(SQUARE(active(z0)), ACTIVE(z0))
S(mark(z0)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
PROPER(s(z0)) → c58(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c59(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c60(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c62(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c64(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c65(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c66(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c67(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c68(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c69(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c70(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c71(SQUARE(proper(z0)), PROPER(z0))
TOP(mark(z0)) → c72(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c73(TOP(active(z0)), ACTIVE(z0))
ACTIVE(from(z0)) → c(S(z0))
ACTIVE(pi(z0)) → c5(2NDSPOS(z0, from(0)))
ACTIVE(plus(s(z0), z1)) → c7(PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c9(TIMES(z0, z1))
S tuples:

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

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

Defined Pair Symbols:

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

Compound Symbols:

c2, c4, c10, 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, c58, c59, c60, c62, c64, c65, c66, c67, c68, c69, c70, c71, c72, c73, c, c5, c7, c9

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

Use narrowing to replace ACTIVE(2ndspos(s(z0), cons(z1, cons(z2, z3)))) → c2(RCONS(posrecip(z2), 2ndsneg(z0, z3)), POSRECIP(z2), 2NDSNEG(z0, z3)) by

ACTIVE(2ndspos(s(z0), cons(x1, cons(x2, mark(z1))))) → c2(RCONS(posrecip(x2), mark(2ndsneg(z0, z1))), POSRECIP(x2), 2NDSNEG(z0, mark(z1)))
ACTIVE(2ndspos(s(mark(z0)), cons(x1, cons(x2, z1)))) → c2(RCONS(posrecip(x2), mark(2ndsneg(z0, z1))), POSRECIP(x2), 2NDSNEG(mark(z0), z1))
ACTIVE(2ndspos(s(ok(z0)), cons(x1, cons(x2, ok(z1))))) → c2(RCONS(posrecip(x2), ok(2ndsneg(z0, z1))), POSRECIP(x2), 2NDSNEG(ok(z0), ok(z1)))
ACTIVE(2ndspos(s(x0), cons(x1, cons(ok(z0), x3)))) → c2(RCONS(ok(posrecip(z0)), 2ndsneg(x0, x3)), POSRECIP(ok(z0)), 2NDSNEG(x0, x3))
ACTIVE(2ndspos(s(x0), cons(x1, cons(mark(z0), x3)))) → c2(RCONS(mark(posrecip(z0)), 2ndsneg(x0, x3)), POSRECIP(mark(z0)), 2NDSNEG(x0, x3))
ACTIVE(2ndspos(s(x0), cons(x1, cons(x2, x3)))) → c2

(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, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(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(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))
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(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(2ndsneg(s(z0), cons(z1, cons(z2, z3)))) → c4(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(square(z0)) → c10(TIMES(z0, z0))
ACTIVE(s(z0)) → c11(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c12(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c13(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c14(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c15(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c16(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c17(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c18(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c19(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c20(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c21(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c22(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c23(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c24(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c25(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c26(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c27(SQUARE(active(z0)), ACTIVE(z0))
S(mark(z0)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
PROPER(s(z0)) → c58(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c59(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c60(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c62(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c64(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c65(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c66(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c67(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c68(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c69(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c70(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c71(SQUARE(proper(z0)), PROPER(z0))
TOP(mark(z0)) → c72(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c73(TOP(active(z0)), ACTIVE(z0))
ACTIVE(from(z0)) → c(S(z0))
ACTIVE(pi(z0)) → c5(2NDSPOS(z0, from(0)))
ACTIVE(plus(s(z0), z1)) → c7(PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c9(TIMES(z0, z1))
ACTIVE(2ndspos(s(z0), cons(x1, cons(x2, mark(z1))))) → c2(RCONS(posrecip(x2), mark(2ndsneg(z0, z1))), POSRECIP(x2), 2NDSNEG(z0, mark(z1)))
ACTIVE(2ndspos(s(mark(z0)), cons(x1, cons(x2, z1)))) → c2(RCONS(posrecip(x2), mark(2ndsneg(z0, z1))), POSRECIP(x2), 2NDSNEG(mark(z0), z1))
ACTIVE(2ndspos(s(ok(z0)), cons(x1, cons(x2, ok(z1))))) → c2(RCONS(posrecip(x2), ok(2ndsneg(z0, z1))), POSRECIP(x2), 2NDSNEG(ok(z0), ok(z1)))
ACTIVE(2ndspos(s(x0), cons(x1, cons(ok(z0), x3)))) → c2(RCONS(ok(posrecip(z0)), 2ndsneg(x0, x3)), POSRECIP(ok(z0)), 2NDSNEG(x0, x3))
ACTIVE(2ndspos(s(x0), cons(x1, cons(mark(z0), x3)))) → c2(RCONS(mark(posrecip(z0)), 2ndsneg(x0, x3)), POSRECIP(mark(z0)), 2NDSNEG(x0, x3))
ACTIVE(2ndspos(s(x0), cons(x1, cons(x2, x3)))) → c2
S tuples:

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

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

Defined Pair Symbols:

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

Compound Symbols:

c4, c10, 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, c58, c59, c60, c62, c64, c65, c66, c67, c68, c69, c70, c71, c72, c73, c, c5, c7, c9, c2, c2

(7) CdtUnreachableProof (EQUIVALENT transformation)

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

ACTIVE(2ndspos(s(mark(z0)), cons(x1, cons(x2, z1)))) → c2(RCONS(posrecip(x2), mark(2ndsneg(z0, z1))), POSRECIP(x2), 2NDSNEG(mark(z0), z1))
ACTIVE(2ndspos(s(ok(z0)), cons(x1, cons(x2, ok(z1))))) → c2(RCONS(posrecip(x2), ok(2ndsneg(z0, z1))), POSRECIP(x2), 2NDSNEG(ok(z0), ok(z1)))
ACTIVE(2ndspos(s(x0), cons(x1, cons(mark(z0), x3)))) → c2(RCONS(mark(posrecip(z0)), 2ndsneg(x0, x3)), POSRECIP(mark(z0)), 2NDSNEG(x0, x3))

(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, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(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(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))
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(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)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
TOP(mark(z0)) → c72(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c73(TOP(active(z0)), ACTIVE(z0))
ACTIVE(2ndsneg(s(z0), cons(z1, cons(z2, z3)))) → c4(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(square(z0)) → c10(TIMES(z0, z0))
ACTIVE(s(z0)) → c11(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c12(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c13(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c14(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c15(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c16(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c17(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c18(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c19(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c20(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c21(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c22(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c23(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c24(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c25(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c26(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c27(SQUARE(active(z0)), ACTIVE(z0))
ACTIVE(from(z0)) → c(S(z0))
ACTIVE(pi(z0)) → c5(2NDSPOS(z0, from(0)))
ACTIVE(plus(s(z0), z1)) → c7(PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c9(TIMES(z0, z1))
ACTIVE(2ndspos(s(z0), cons(x1, cons(x2, mark(z1))))) → c2(RCONS(posrecip(x2), mark(2ndsneg(z0, z1))), POSRECIP(x2), 2NDSNEG(z0, mark(z1)))
ACTIVE(2ndspos(s(x0), cons(x1, cons(ok(z0), x3)))) → c2(RCONS(ok(posrecip(z0)), 2ndsneg(x0, x3)), POSRECIP(ok(z0)), 2NDSNEG(x0, x3))
ACTIVE(2ndspos(s(x0), cons(x1, cons(x2, x3)))) → c2
PROPER(s(z0)) → c58(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c59(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c60(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c62(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c64(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c65(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c66(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c67(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c68(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c69(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c70(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c71(SQUARE(proper(z0)), PROPER(z0))
S tuples:

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

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

Defined Pair Symbols:

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

Compound Symbols:

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, c72, c73, c4, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c, c5, c7, c9, c2, c2, c58, c59, c60, c62, c64, c65, c66, c67, c68, c69, c70, c71

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

Removed 1 trailing nodes:

ACTIVE(2ndspos(s(x0), cons(x1, cons(x2, x3)))) → c2

(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, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(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(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))
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(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)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
TOP(mark(z0)) → c72(TOP(proper(z0)), PROPER(z0))
TOP(ok(z0)) → c73(TOP(active(z0)), ACTIVE(z0))
ACTIVE(2ndsneg(s(z0), cons(z1, cons(z2, z3)))) → c4(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(square(z0)) → c10(TIMES(z0, z0))
ACTIVE(s(z0)) → c11(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c12(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c13(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c14(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c15(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c16(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c17(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c18(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c19(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c20(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c21(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c22(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c23(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c24(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c25(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c26(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c27(SQUARE(active(z0)), ACTIVE(z0))
ACTIVE(from(z0)) → c(S(z0))
ACTIVE(pi(z0)) → c5(2NDSPOS(z0, from(0)))
ACTIVE(plus(s(z0), z1)) → c7(PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c9(TIMES(z0, z1))
ACTIVE(2ndspos(s(z0), cons(x1, cons(x2, mark(z1))))) → c2(RCONS(posrecip(x2), mark(2ndsneg(z0, z1))), POSRECIP(x2), 2NDSNEG(z0, mark(z1)))
ACTIVE(2ndspos(s(x0), cons(x1, cons(ok(z0), x3)))) → c2(RCONS(ok(posrecip(z0)), 2ndsneg(x0, x3)), POSRECIP(ok(z0)), 2NDSNEG(x0, x3))
PROPER(s(z0)) → c58(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c59(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c60(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c62(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c64(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c65(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c66(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c67(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c68(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c69(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c70(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c71(SQUARE(proper(z0)), PROPER(z0))
S tuples:

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

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

Defined Pair Symbols:

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

Compound Symbols:

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, c72, c73, c4, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c, c5, c7, c9, c2, c58, c59, c60, c62, c64, c65, c66, c67, c68, c69, c70, c71

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

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

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

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

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

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

Defined Pair Symbols:

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

Compound Symbols:

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, c73, c4, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c, c5, c7, c9, c2, c58, c59, c60, c62, c64, c65, c66, c67, c68, c69, c70, c71, c72, c72

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

Removed 1 trailing nodes:

TOP(mark(x0)) → c72

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

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

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

Defined Pair Symbols:

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

Compound Symbols:

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, c73, c4, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c, c5, c7, c9, c2, c58, c59, c60, c62, c64, c65, c66, c67, c68, c69, c70, c71, c72

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

Removed 3 trailing tuple parts

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

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

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

Defined Pair Symbols:

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

Compound Symbols:

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, c73, c4, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c, c5, c7, c9, c2, c58, c59, c60, c62, c64, c65, c66, c67, c68, c69, c70, c71, c72, c72

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

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

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

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

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

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

Defined Pair Symbols:

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

Compound Symbols:

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, c4, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c, c5, c7, c9, c2, c58, c59, c60, c62, c64, c65, c66, c67, c68, c69, c70, c71, c72, c72, c73, c73

(19) CdtUnreachableProof (EQUIVALENT transformation)

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

ACTIVE(2ndsneg(s(z0), cons(z1, cons(z2, z3)))) → c4(RCONS(negrecip(z2), 2ndspos(z0, z3)), NEGRECIP(z2), 2NDSPOS(z0, z3))
ACTIVE(square(z0)) → c10(TIMES(z0, z0))
ACTIVE(s(z0)) → c11(S(active(z0)), ACTIVE(z0))
ACTIVE(posrecip(z0)) → c12(POSRECIP(active(z0)), ACTIVE(z0))
ACTIVE(negrecip(z0)) → c13(NEGRECIP(active(z0)), ACTIVE(z0))
ACTIVE(cons(z0, z1)) → c14(CONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c15(RCONS(active(z0), z1), ACTIVE(z0))
ACTIVE(rcons(z0, z1)) → c16(RCONS(z0, active(z1)), ACTIVE(z1))
ACTIVE(from(z0)) → c17(FROM(active(z0)), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c18(2NDSPOS(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndspos(z0, z1)) → c19(2NDSPOS(z0, active(z1)), ACTIVE(z1))
ACTIVE(2ndsneg(z0, z1)) → c20(2NDSNEG(active(z0), z1), ACTIVE(z0))
ACTIVE(2ndsneg(z0, z1)) → c21(2NDSNEG(z0, active(z1)), ACTIVE(z1))
ACTIVE(pi(z0)) → c22(PI(active(z0)), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c23(PLUS(active(z0), z1), ACTIVE(z0))
ACTIVE(plus(z0, z1)) → c24(PLUS(z0, active(z1)), ACTIVE(z1))
ACTIVE(times(z0, z1)) → c25(TIMES(active(z0), z1), ACTIVE(z0))
ACTIVE(times(z0, z1)) → c26(TIMES(z0, active(z1)), ACTIVE(z1))
ACTIVE(square(z0)) → c27(SQUARE(active(z0)), ACTIVE(z0))
ACTIVE(from(z0)) → c(S(z0))
ACTIVE(pi(z0)) → c5(2NDSPOS(z0, from(0)))
ACTIVE(plus(s(z0), z1)) → c7(PLUS(z0, z1))
ACTIVE(times(s(z0), z1)) → c9(TIMES(z0, z1))
ACTIVE(2ndspos(s(z0), cons(x1, cons(x2, mark(z1))))) → c2(RCONS(posrecip(x2), mark(2ndsneg(z0, z1))), POSRECIP(x2), 2NDSNEG(z0, mark(z1)))
ACTIVE(2ndspos(s(x0), cons(x1, cons(ok(z0), x3)))) → c2(RCONS(ok(posrecip(z0)), 2ndsneg(x0, x3)), POSRECIP(ok(z0)), 2NDSNEG(x0, x3))
PROPER(s(z0)) → c58(S(proper(z0)), PROPER(z0))
PROPER(posrecip(z0)) → c59(POSRECIP(proper(z0)), PROPER(z0))
PROPER(negrecip(z0)) → c60(NEGRECIP(proper(z0)), PROPER(z0))
PROPER(cons(z0, z1)) → c62(CONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(rcons(z0, z1)) → c64(RCONS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(from(z0)) → c65(FROM(proper(z0)), PROPER(z0))
PROPER(2ndspos(z0, z1)) → c66(2NDSPOS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(2ndsneg(z0, z1)) → c67(2NDSNEG(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(pi(z0)) → c68(PI(proper(z0)), PROPER(z0))
PROPER(plus(z0, z1)) → c69(PLUS(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(times(z0, z1)) → c70(TIMES(proper(z0), proper(z1)), PROPER(z0), PROPER(z1))
PROPER(square(z0)) → c71(SQUARE(proper(z0)), PROPER(z0))
TOP(mark(s(z0))) → c72(TOP(s(proper(z0))), PROPER(s(z0)))
TOP(mark(posrecip(z0))) → c72(TOP(posrecip(proper(z0))), PROPER(posrecip(z0)))
TOP(mark(negrecip(z0))) → c72(TOP(negrecip(proper(z0))), PROPER(negrecip(z0)))
TOP(mark(cons(z0, z1))) → c72(TOP(cons(proper(z0), proper(z1))), PROPER(cons(z0, z1)))
TOP(mark(rcons(z0, z1))) → c72(TOP(rcons(proper(z0), proper(z1))), PROPER(rcons(z0, z1)))
TOP(mark(from(z0))) → c72(TOP(from(proper(z0))), PROPER(from(z0)))
TOP(mark(2ndspos(z0, z1))) → c72(TOP(2ndspos(proper(z0), proper(z1))), PROPER(2ndspos(z0, z1)))
TOP(mark(2ndsneg(z0, z1))) → c72(TOP(2ndsneg(proper(z0), proper(z1))), PROPER(2ndsneg(z0, z1)))
TOP(mark(pi(z0))) → c72(TOP(pi(proper(z0))), PROPER(pi(z0)))
TOP(mark(plus(z0, z1))) → c72(TOP(plus(proper(z0), proper(z1))), PROPER(plus(z0, z1)))
TOP(mark(times(z0, z1))) → c72(TOP(times(proper(z0), proper(z1))), PROPER(times(z0, z1)))
TOP(mark(square(z0))) → c72(TOP(square(proper(z0))), PROPER(square(z0)))
TOP(ok(from(z0))) → c73(TOP(mark(cons(z0, from(s(z0))))), ACTIVE(from(z0)))
TOP(ok(2ndspos(0, z0))) → c73(TOP(mark(rnil)), ACTIVE(2ndspos(0, z0)))
TOP(ok(2ndspos(s(z0), cons(z1, cons(z2, z3))))) → c73(TOP(mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))), ACTIVE(2ndspos(s(z0), cons(z1, cons(z2, z3)))))
TOP(ok(2ndsneg(0, z0))) → c73(TOP(mark(rnil)), ACTIVE(2ndsneg(0, z0)))
TOP(ok(2ndsneg(s(z0), cons(z1, cons(z2, z3))))) → c73(TOP(mark(rcons(negrecip(z2), 2ndspos(z0, z3)))), ACTIVE(2ndsneg(s(z0), cons(z1, cons(z2, z3)))))
TOP(ok(pi(z0))) → c73(TOP(mark(2ndspos(z0, from(0)))), ACTIVE(pi(z0)))
TOP(ok(plus(0, z0))) → c73(TOP(mark(z0)), ACTIVE(plus(0, z0)))
TOP(ok(plus(s(z0), z1))) → c73(TOP(mark(s(plus(z0, z1)))), ACTIVE(plus(s(z0), z1)))
TOP(ok(times(0, z0))) → c73(TOP(mark(0)), ACTIVE(times(0, z0)))
TOP(ok(times(s(z0), z1))) → c73(TOP(mark(plus(z1, times(z0, z1)))), ACTIVE(times(s(z0), z1)))
TOP(ok(square(z0))) → c73(TOP(mark(times(z0, z0))), ACTIVE(square(z0)))
TOP(ok(s(z0))) → c73(TOP(s(active(z0))), ACTIVE(s(z0)))
TOP(ok(posrecip(z0))) → c73(TOP(posrecip(active(z0))), ACTIVE(posrecip(z0)))
TOP(ok(negrecip(z0))) → c73(TOP(negrecip(active(z0))), ACTIVE(negrecip(z0)))
TOP(ok(cons(z0, z1))) → c73(TOP(cons(active(z0), z1)), ACTIVE(cons(z0, z1)))
TOP(ok(rcons(z0, z1))) → c73(TOP(rcons(active(z0), z1)), ACTIVE(rcons(z0, z1)))
TOP(ok(rcons(z0, z1))) → c73(TOP(rcons(z0, active(z1))), ACTIVE(rcons(z0, z1)))
TOP(ok(from(z0))) → c73(TOP(from(active(z0))), ACTIVE(from(z0)))
TOP(ok(2ndspos(z0, z1))) → c73(TOP(2ndspos(active(z0), z1)), ACTIVE(2ndspos(z0, z1)))
TOP(ok(2ndspos(z0, z1))) → c73(TOP(2ndspos(z0, active(z1))), ACTIVE(2ndspos(z0, z1)))
TOP(ok(2ndsneg(z0, z1))) → c73(TOP(2ndsneg(active(z0), z1)), ACTIVE(2ndsneg(z0, z1)))
TOP(ok(2ndsneg(z0, z1))) → c73(TOP(2ndsneg(z0, active(z1))), ACTIVE(2ndsneg(z0, z1)))
TOP(ok(pi(z0))) → c73(TOP(pi(active(z0))), ACTIVE(pi(z0)))
TOP(ok(plus(z0, z1))) → c73(TOP(plus(active(z0), z1)), ACTIVE(plus(z0, z1)))
TOP(ok(plus(z0, z1))) → c73(TOP(plus(z0, active(z1))), ACTIVE(plus(z0, z1)))
TOP(ok(times(z0, z1))) → c73(TOP(times(active(z0), z1)), ACTIVE(times(z0, z1)))
TOP(ok(times(z0, z1))) → c73(TOP(times(z0, active(z1))), ACTIVE(times(z0, z1)))
TOP(ok(square(z0))) → c73(TOP(square(active(z0))), ACTIVE(square(z0)))

(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, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(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(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))
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(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)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
TOP(mark(0)) → c72(TOP(ok(0)))
TOP(mark(nil)) → c72(TOP(ok(nil)))
TOP(mark(rnil)) → c72(TOP(ok(rnil)))
TOP(ok(x0)) → c73
S tuples:

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

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

Defined Pair Symbols:

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

Compound Symbols:

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, c72, c73

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

Removed 4 trailing nodes:

TOP(mark(nil)) → c72(TOP(ok(nil)))
TOP(mark(0)) → c72(TOP(ok(0)))
TOP(ok(x0)) → c73
TOP(mark(rnil)) → c72(TOP(ok(rnil)))

(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, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(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(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))
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(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)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
S tuples:

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

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

Defined Pair Symbols:

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

Compound Symbols:

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

(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.

RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
We considered the (Usable) Rules:none
And the Tuples:

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

POL(2NDSNEG(x1, x2)) = [4]x1 + x2   
POL(2NDSPOS(x1, x2)) = x2   
POL(CONS(x1, x2)) = 0   
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)) = x1   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = 0   
POL(c28(x1)) = x1   
POL(c29(x1)) = x1   
POL(c30(x1)) = 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(mark(x1)) = [1] + x1   
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, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(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(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))
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(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)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
S tuples:

S(mark(z0)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
K tuples:

RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
Defined Rule Symbols:

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

Defined Pair Symbols:

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

Compound Symbols:

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

(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.

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

S(mark(z0)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(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   
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(c28(x1)) = x1   
POL(c29(x1)) = x1   
POL(c30(x1)) = 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(mark(x1)) = [2]   
POL(ok(x1)) = [2] + 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, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(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(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))
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(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)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
S tuples:

S(mark(z0)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
K tuples:

RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
Defined Rule Symbols:

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

Defined Pair Symbols:

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

Compound Symbols:

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

(27) 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)) → c28(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
We considered the (Usable) Rules:none
And the Tuples:

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

POL(2NDSNEG(x1, x2)) = [3]x1 + [3]x2   
POL(2NDSPOS(x1, x2)) = [4]x1 + [2]x2   
POL(CONS(x1, x2)) = x1 + [2]x2   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = x1   
POL(PI(x1)) = 0   
POL(PLUS(x1, x2)) = x1   
POL(POSRECIP(x1)) = [2]x1   
POL(RCONS(x1, x2)) = x2   
POL(S(x1)) = x1   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = 0   
POL(c28(x1)) = x1   
POL(c29(x1)) = x1   
POL(c30(x1)) = 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(mark(x1)) = [1] + x1   
POL(ok(x1)) = 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, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(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(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))
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(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)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
S tuples:

S(ok(z0)) → c29(S(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
K tuples:

RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
S(mark(z0)) → c28(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
Defined Rule Symbols:

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

Defined Pair Symbols:

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

Compound Symbols:

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

(29) 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.

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

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

POL(2NDSNEG(x1, x2)) = [2]x1 + [2]x1·x2   
POL(2NDSPOS(x1, x2)) = [2]x22 + x1·x2   
POL(CONS(x1, x2)) = 0   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = 0   
POL(PI(x1)) = 0   
POL(PLUS(x1, x2)) = x12   
POL(POSRECIP(x1)) = x12   
POL(RCONS(x1, x2)) = [2]x2   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = 0   
POL(c28(x1)) = x1   
POL(c29(x1)) = x1   
POL(c30(x1)) = 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(mark(x1)) = [2] + x1   
POL(ok(x1)) = [1] + 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, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(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(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))
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(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)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
S tuples:

S(ok(z0)) → c29(S(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
K tuples:

RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
S(mark(z0)) → c28(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
Defined Rule Symbols:

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

Defined Pair Symbols:

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

Compound Symbols:

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

(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.

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

S(mark(z0)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(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]x1 + [3]x2   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = 0   
POL(PI(x1)) = 0   
POL(PLUS(x1, x2)) = [3]x1   
POL(POSRECIP(x1)) = x1   
POL(RCONS(x1, x2)) = 0   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = [4]x2   
POL(c28(x1)) = x1   
POL(c29(x1)) = x1   
POL(c30(x1)) = 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(mark(x1)) = 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, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(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(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))
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(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)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
S tuples:

S(ok(z0)) → c29(S(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
K tuples:

RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
S(mark(z0)) → c28(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
Defined Rule Symbols:

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

Defined Pair Symbols:

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

Compound Symbols:

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

(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.

S(ok(z0)) → c29(S(z0))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(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)) = [4]x2   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = 0   
POL(PI(x1)) = [5]x1   
POL(PLUS(x1, x2)) = [2]x1   
POL(POSRECIP(x1)) = 0   
POL(RCONS(x1, x2)) = 0   
POL(S(x1)) = [2]x1   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = 0   
POL(c28(x1)) = x1   
POL(c29(x1)) = x1   
POL(c30(x1)) = 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(mark(x1)) = [2] + x1   
POL(ok(x1)) = [1] + 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, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(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(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))
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(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)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
S tuples:

NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
K tuples:

RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
S(mark(z0)) → c28(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
S(ok(z0)) → c29(S(z0))
Defined Rule Symbols:

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

Defined Pair Symbols:

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

Compound Symbols:

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

(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.

TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
We considered the (Usable) Rules:none
And the Tuples:

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

POL(2NDSNEG(x1, x2)) = [4]x2   
POL(2NDSPOS(x1, x2)) = [2]x1 + [3]x2   
POL(CONS(x1, x2)) = 0   
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]x2   
POL(S(x1)) = [3]x1   
POL(SQUARE(x1)) = [2]x1   
POL(TIMES(x1, x2)) = x1   
POL(c28(x1)) = x1   
POL(c29(x1)) = x1   
POL(c30(x1)) = 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(mark(x1)) = [4] + 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, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(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(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))
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(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)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
S tuples:

NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
K tuples:

RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
S(mark(z0)) → c28(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
S(ok(z0)) → c29(S(z0))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
Defined Rule Symbols:

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

Defined Pair Symbols:

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

Compound Symbols:

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

(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.

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

S(mark(z0)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(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)) = [3]x1 + [2]x2   
POL(FROM(x1)) = 0   
POL(NEGRECIP(x1)) = 0   
POL(PI(x1)) = [4]x1   
POL(PLUS(x1, x2)) = x2   
POL(POSRECIP(x1)) = [4]x1   
POL(RCONS(x1, x2)) = [3]x2   
POL(S(x1)) = [4]x1   
POL(SQUARE(x1)) = [2]x1   
POL(TIMES(x1, x2)) = 0   
POL(c28(x1)) = x1   
POL(c29(x1)) = x1   
POL(c30(x1)) = 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(mark(x1)) = [1] + x1   
POL(ok(x1)) = [2] + 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, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(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(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))
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(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)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
S tuples:

NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
K tuples:

RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
S(mark(z0)) → c28(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
S(ok(z0)) → c29(S(z0))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
Defined Rule Symbols:

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

Defined Pair Symbols:

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

Compound Symbols:

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

(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.

FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
We considered the (Usable) Rules:none
And the Tuples:

S(mark(z0)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(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(FROM(x1)) = x1   
POL(NEGRECIP(x1)) = 0   
POL(PI(x1)) = [2]x1   
POL(PLUS(x1, x2)) = 0   
POL(POSRECIP(x1)) = 0   
POL(RCONS(x1, x2)) = 0   
POL(S(x1)) = [2]x1   
POL(SQUARE(x1)) = [4]x1   
POL(TIMES(x1, x2)) = 0   
POL(c28(x1)) = x1   
POL(c29(x1)) = x1   
POL(c30(x1)) = 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(mark(x1)) = [3] + x1   
POL(ok(x1)) = [2] + 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, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(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(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))
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(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)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
S tuples:

NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
K tuples:

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

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

Defined Pair Symbols:

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

Compound Symbols:

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

(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.

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

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

POL(2NDSNEG(x1, x2)) = [2]x1   
POL(2NDSPOS(x1, x2)) = [2]x1 + [2]x2   
POL(CONS(x1, x2)) = [4]x2   
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)) = [3]x2   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = 0   
POL(c28(x1)) = x1   
POL(c29(x1)) = x1   
POL(c30(x1)) = 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(mark(x1)) = [2] + x1   
POL(ok(x1)) = [4] + 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, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(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(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))
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(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)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
S tuples:

TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
K tuples:

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

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

Defined Pair Symbols:

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

Compound Symbols:

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

(43) 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)) → c53(TIMES(z0, z1))
We considered the (Usable) Rules:none
And the Tuples:

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

POL(2NDSNEG(x1, x2)) = [4]x1 + [4]x2   
POL(2NDSPOS(x1, x2)) = [4]x1 + [2]x2   
POL(CONS(x1, x2)) = [4]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)) = [3]x2   
POL(S(x1)) = 0   
POL(SQUARE(x1)) = 0   
POL(TIMES(x1, x2)) = [4]x2   
POL(c28(x1)) = x1   
POL(c29(x1)) = x1   
POL(c30(x1)) = 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(mark(x1)) = [1] + x1   
POL(ok(x1)) = 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, cons(z2, z3)))) → mark(rcons(posrecip(z2), 2ndsneg(z0, z3)))
active(2ndsneg(0, z0)) → mark(rnil)
active(2ndsneg(s(z0), cons(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(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))
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(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)) → c28(S(z0))
S(ok(z0)) → c29(S(z0))
POSRECIP(mark(z0)) → c30(POSRECIP(z0))
POSRECIP(ok(z0)) → c31(POSRECIP(z0))
NEGRECIP(mark(z0)) → c32(NEGRECIP(z0))
NEGRECIP(ok(z0)) → c33(NEGRECIP(z0))
CONS(mark(z0), z1) → c34(CONS(z0, z1))
CONS(ok(z0), ok(z1)) → c35(CONS(z0, z1))
RCONS(mark(z0), z1) → c36(RCONS(z0, z1))
RCONS(z0, mark(z1)) → c37(RCONS(z0, z1))
RCONS(ok(z0), ok(z1)) → c38(RCONS(z0, z1))
FROM(mark(z0)) → c39(FROM(z0))
FROM(ok(z0)) → c40(FROM(z0))
2NDSPOS(mark(z0), z1) → c41(2NDSPOS(z0, z1))
2NDSPOS(z0, mark(z1)) → c42(2NDSPOS(z0, z1))
2NDSPOS(ok(z0), ok(z1)) → c43(2NDSPOS(z0, z1))
2NDSNEG(mark(z0), z1) → c44(2NDSNEG(z0, z1))
2NDSNEG(z0, mark(z1)) → c45(2NDSNEG(z0, z1))
2NDSNEG(ok(z0), ok(z1)) → c46(2NDSNEG(z0, z1))
PI(mark(z0)) → c47(PI(z0))
PI(ok(z0)) → c48(PI(z0))
PLUS(mark(z0), z1) → c49(PLUS(z0, z1))
PLUS(z0, mark(z1)) → c50(PLUS(z0, z1))
PLUS(ok(z0), ok(z1)) → c51(PLUS(z0, z1))
TIMES(mark(z0), z1) → c52(TIMES(z0, z1))
TIMES(z0, mark(z1)) → c53(TIMES(z0, z1))
TIMES(ok(z0), ok(z1)) → c54(TIMES(z0, z1))
SQUARE(mark(z0)) → c55(SQUARE(z0))
SQUARE(ok(z0)) → c56(SQUARE(z0))
S tuples:none
K tuples:

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

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

Defined Pair Symbols:

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

Compound Symbols:

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

(45) SIsEmptyProof (EQUIVALENT transformation)

The set S is empty

(46) BOUNDS(O(1), O(1))