0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 AND
↳5 QDP
↳6 QDPOrderProof (⇔)
↳7 QDP
↳8 QDPOrderProof (⇔)
↳9 QDP
↳10 PisEmptyProof (⇔)
↳11 TRUE
↳12 QDP
↳13 QDPOrderProof (⇔)
↳14 QDP
↳15 QDPOrderProof (⇔)
↳16 QDP
↳17 QDPOrderProof (⇔)
↳18 QDP
↳19 PisEmptyProof (⇔)
↳20 TRUE
↳21 QDP
↳22 QDPOrderProof (⇔)
↳23 QDP
↳24 QDPOrderProof (⇔)
↳25 QDP
↳26 QDPOrderProof (⇔)
↳27 QDP
↳28 PisEmptyProof (⇔)
↳29 TRUE
↳30 QDP
↳31 QDPOrderProof (⇔)
↳32 QDP
↳33 QDPOrderProof (⇔)
↳34 QDP
↳35 PisEmptyProof (⇔)
↳36 TRUE
↳37 QDP
↳38 QDPOrderProof (⇔)
↳39 QDP
↳40 QDPOrderProof (⇔)
↳41 QDP
↳42 PisEmptyProof (⇔)
↳43 TRUE
↳44 QDP
↳45 QDPOrderProof (⇔)
↳46 QDP
↳47 QDPOrderProof (⇔)
↳48 QDP
↳49 QDPOrderProof (⇔)
↳50 QDP
↳51 PisEmptyProof (⇔)
↳52 TRUE
↳53 QDP
↳54 QDPOrderProof (⇔)
↳55 QDP
↳56 QDPOrderProof (⇔)
↳57 QDP
↳58 PisEmptyProof (⇔)
↳59 TRUE
↳60 QDP
↳61 QDPOrderProof (⇔)
↳62 QDP
↳63 QDPOrderProof (⇔)
↳64 QDP
↳65 QDPOrderProof (⇔)
↳66 QDP
↳67 PisEmptyProof (⇔)
↳68 TRUE
↳69 QDP
↳70 QDPOrderProof (⇔)
↳71 QDP
↳72 QDPOrderProof (⇔)
↳73 QDP
↳74 QDPOrderProof (⇔)
↳75 QDP
↳76 PisEmptyProof (⇔)
↳77 TRUE
↳78 QDP
↳79 QDPOrderProof (⇔)
↳80 QDP
↳81 QDPOrderProof (⇔)
↳82 QDP
↳83 QDPOrderProof (⇔)
↳84 QDP
↳85 PisEmptyProof (⇔)
↳86 TRUE
↳87 QDP
↳88 QDPOrderProof (⇔)
↳89 QDP
↳90 QDPOrderProof (⇔)
↳91 QDP
↳92 PisEmptyProof (⇔)
↳93 TRUE
↳94 QDP
↳95 QDPOrderProof (⇔)
↳96 QDP
↳97 QDPOrderProof (⇔)
↳98 QDP
↳99 QDPOrderProof (⇔)
↳100 QDP
↳101 PisEmptyProof (⇔)
↳102 TRUE
↳103 QDP
↳104 QDPOrderProof (⇔)
↳105 QDP
↳106 QDPOrderProof (⇔)
↳107 QDP
↳108 PisEmptyProof (⇔)
↳109 TRUE
↳110 QDP
↳111 QDPOrderProof (⇔)
↳112 QDP
↳113 QDPOrderProof (⇔)
↳114 QDP
↳115 QDPOrderProof (⇔)
↳116 QDP
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
ACTIVE(from(X)) → MARK(cons(X, from(s(X))))
ACTIVE(from(X)) → CONS(X, from(s(X)))
ACTIVE(from(X)) → FROM(s(X))
ACTIVE(from(X)) → S(X)
ACTIVE(2ndspos(0, Z)) → MARK(rnil)
ACTIVE(2ndspos(s(N), cons(X, Z))) → MARK(2ndspos(s(N), cons2(X, Z)))
ACTIVE(2ndspos(s(N), cons(X, Z))) → 2NDSPOS(s(N), cons2(X, Z))
ACTIVE(2ndspos(s(N), cons(X, Z))) → CONS2(X, Z)
ACTIVE(2ndspos(s(N), cons2(X, cons(Y, Z)))) → MARK(rcons(posrecip(Y), 2ndsneg(N, Z)))
ACTIVE(2ndspos(s(N), cons2(X, cons(Y, Z)))) → RCONS(posrecip(Y), 2ndsneg(N, Z))
ACTIVE(2ndspos(s(N), cons2(X, cons(Y, Z)))) → POSRECIP(Y)
ACTIVE(2ndspos(s(N), cons2(X, cons(Y, Z)))) → 2NDSNEG(N, Z)
ACTIVE(2ndsneg(0, Z)) → MARK(rnil)
ACTIVE(2ndsneg(s(N), cons(X, Z))) → MARK(2ndsneg(s(N), cons2(X, Z)))
ACTIVE(2ndsneg(s(N), cons(X, Z))) → 2NDSNEG(s(N), cons2(X, Z))
ACTIVE(2ndsneg(s(N), cons(X, Z))) → CONS2(X, Z)
ACTIVE(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → MARK(rcons(negrecip(Y), 2ndspos(N, Z)))
ACTIVE(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → RCONS(negrecip(Y), 2ndspos(N, Z))
ACTIVE(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → NEGRECIP(Y)
ACTIVE(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → 2NDSPOS(N, Z)
ACTIVE(pi(X)) → MARK(2ndspos(X, from(0)))
ACTIVE(pi(X)) → 2NDSPOS(X, from(0))
ACTIVE(pi(X)) → FROM(0)
ACTIVE(plus(0, Y)) → MARK(Y)
ACTIVE(plus(s(X), Y)) → MARK(s(plus(X, Y)))
ACTIVE(plus(s(X), Y)) → S(plus(X, Y))
ACTIVE(plus(s(X), Y)) → PLUS(X, Y)
ACTIVE(times(0, Y)) → MARK(0)
ACTIVE(times(s(X), Y)) → MARK(plus(Y, times(X, Y)))
ACTIVE(times(s(X), Y)) → PLUS(Y, times(X, Y))
ACTIVE(times(s(X), Y)) → TIMES(X, Y)
ACTIVE(square(X)) → MARK(times(X, X))
ACTIVE(square(X)) → TIMES(X, X)
MARK(from(X)) → ACTIVE(from(mark(X)))
MARK(from(X)) → FROM(mark(X))
MARK(from(X)) → MARK(X)
MARK(cons(X1, X2)) → ACTIVE(cons(mark(X1), X2))
MARK(cons(X1, X2)) → CONS(mark(X1), X2)
MARK(cons(X1, X2)) → MARK(X1)
MARK(s(X)) → ACTIVE(s(mark(X)))
MARK(s(X)) → S(mark(X))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → ACTIVE(2ndspos(mark(X1), mark(X2)))
MARK(2ndspos(X1, X2)) → 2NDSPOS(mark(X1), mark(X2))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(0) → ACTIVE(0)
MARK(rnil) → ACTIVE(rnil)
MARK(cons2(X1, X2)) → ACTIVE(cons2(X1, mark(X2)))
MARK(cons2(X1, X2)) → CONS2(X1, mark(X2))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(rcons(X1, X2)) → ACTIVE(rcons(mark(X1), mark(X2)))
MARK(rcons(X1, X2)) → RCONS(mark(X1), mark(X2))
MARK(rcons(X1, X2)) → MARK(X1)
MARK(rcons(X1, X2)) → MARK(X2)
MARK(posrecip(X)) → ACTIVE(posrecip(mark(X)))
MARK(posrecip(X)) → POSRECIP(mark(X))
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(X1, X2)) → ACTIVE(2ndsneg(mark(X1), mark(X2)))
MARK(2ndsneg(X1, X2)) → 2NDSNEG(mark(X1), mark(X2))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(negrecip(X)) → ACTIVE(negrecip(mark(X)))
MARK(negrecip(X)) → NEGRECIP(mark(X))
MARK(negrecip(X)) → MARK(X)
MARK(pi(X)) → ACTIVE(pi(mark(X)))
MARK(pi(X)) → PI(mark(X))
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → ACTIVE(plus(mark(X1), mark(X2)))
MARK(plus(X1, X2)) → PLUS(mark(X1), mark(X2))
MARK(plus(X1, X2)) → MARK(X1)
MARK(plus(X1, X2)) → MARK(X2)
MARK(times(X1, X2)) → ACTIVE(times(mark(X1), mark(X2)))
MARK(times(X1, X2)) → TIMES(mark(X1), mark(X2))
MARK(times(X1, X2)) → MARK(X1)
MARK(times(X1, X2)) → MARK(X2)
MARK(square(X)) → ACTIVE(square(mark(X)))
MARK(square(X)) → SQUARE(mark(X))
MARK(square(X)) → MARK(X)
FROM(mark(X)) → FROM(X)
FROM(active(X)) → FROM(X)
CONS(mark(X1), X2) → CONS(X1, X2)
CONS(X1, mark(X2)) → CONS(X1, X2)
CONS(active(X1), X2) → CONS(X1, X2)
CONS(X1, active(X2)) → CONS(X1, X2)
S(mark(X)) → S(X)
S(active(X)) → S(X)
2NDSPOS(mark(X1), X2) → 2NDSPOS(X1, X2)
2NDSPOS(X1, mark(X2)) → 2NDSPOS(X1, X2)
2NDSPOS(active(X1), X2) → 2NDSPOS(X1, X2)
2NDSPOS(X1, active(X2)) → 2NDSPOS(X1, X2)
CONS2(mark(X1), X2) → CONS2(X1, X2)
CONS2(X1, mark(X2)) → CONS2(X1, X2)
CONS2(active(X1), X2) → CONS2(X1, X2)
CONS2(X1, active(X2)) → CONS2(X1, X2)
RCONS(mark(X1), X2) → RCONS(X1, X2)
RCONS(X1, mark(X2)) → RCONS(X1, X2)
RCONS(active(X1), X2) → RCONS(X1, X2)
RCONS(X1, active(X2)) → RCONS(X1, X2)
POSRECIP(mark(X)) → POSRECIP(X)
POSRECIP(active(X)) → POSRECIP(X)
2NDSNEG(mark(X1), X2) → 2NDSNEG(X1, X2)
2NDSNEG(X1, mark(X2)) → 2NDSNEG(X1, X2)
2NDSNEG(active(X1), X2) → 2NDSNEG(X1, X2)
2NDSNEG(X1, active(X2)) → 2NDSNEG(X1, X2)
NEGRECIP(mark(X)) → NEGRECIP(X)
NEGRECIP(active(X)) → NEGRECIP(X)
PI(mark(X)) → PI(X)
PI(active(X)) → PI(X)
PLUS(mark(X1), X2) → PLUS(X1, X2)
PLUS(X1, mark(X2)) → PLUS(X1, X2)
PLUS(active(X1), X2) → PLUS(X1, X2)
PLUS(X1, active(X2)) → PLUS(X1, X2)
TIMES(mark(X1), X2) → TIMES(X1, X2)
TIMES(X1, mark(X2)) → TIMES(X1, X2)
TIMES(active(X1), X2) → TIMES(X1, X2)
TIMES(X1, active(X2)) → TIMES(X1, X2)
SQUARE(mark(X)) → SQUARE(X)
SQUARE(active(X)) → SQUARE(X)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
SQUARE(active(X)) → SQUARE(X)
SQUARE(mark(X)) → SQUARE(X)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SQUARE(active(X)) → SQUARE(X)
[SQUARE1, active1]
SQUARE1: [1]
active1: [1]
SQUARE(mark(X)) → SQUARE(X)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SQUARE(mark(X)) → SQUARE(X)
trivial
mark1: [1]
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
TIMES(X1, mark(X2)) → TIMES(X1, X2)
TIMES(mark(X1), X2) → TIMES(X1, X2)
TIMES(active(X1), X2) → TIMES(X1, X2)
TIMES(X1, active(X2)) → TIMES(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
TIMES(X1, mark(X2)) → TIMES(X1, X2)
TIMES(mark(X1), X2) → TIMES(X1, X2)
mark1 > TIMES2
TIMES2: [2,1]
mark1: [1]
TIMES(active(X1), X2) → TIMES(X1, X2)
TIMES(X1, active(X2)) → TIMES(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
TIMES(X1, active(X2)) → TIMES(X1, X2)
active1 > TIMES1
TIMES1: [1]
active1: [1]
TIMES(active(X1), X2) → TIMES(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
TIMES(active(X1), X2) → TIMES(X1, X2)
[TIMES2, active1]
TIMES2: [2,1]
active1: [1]
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
PLUS(X1, mark(X2)) → PLUS(X1, X2)
PLUS(mark(X1), X2) → PLUS(X1, X2)
PLUS(active(X1), X2) → PLUS(X1, X2)
PLUS(X1, active(X2)) → PLUS(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PLUS(X1, mark(X2)) → PLUS(X1, X2)
PLUS(mark(X1), X2) → PLUS(X1, X2)
mark1 > PLUS2
PLUS2: [2,1]
mark1: [1]
PLUS(active(X1), X2) → PLUS(X1, X2)
PLUS(X1, active(X2)) → PLUS(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PLUS(X1, active(X2)) → PLUS(X1, X2)
active1 > PLUS1
PLUS1: [1]
active1: [1]
PLUS(active(X1), X2) → PLUS(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PLUS(active(X1), X2) → PLUS(X1, X2)
[PLUS2, active1]
PLUS2: [2,1]
active1: [1]
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
PI(active(X)) → PI(X)
PI(mark(X)) → PI(X)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PI(active(X)) → PI(X)
[PI1, active1]
PI1: [1]
active1: [1]
PI(mark(X)) → PI(X)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PI(mark(X)) → PI(X)
trivial
mark1: [1]
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
NEGRECIP(active(X)) → NEGRECIP(X)
NEGRECIP(mark(X)) → NEGRECIP(X)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
NEGRECIP(active(X)) → NEGRECIP(X)
[NEGRECIP1, active1]
NEGRECIP1: [1]
active1: [1]
NEGRECIP(mark(X)) → NEGRECIP(X)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
NEGRECIP(mark(X)) → NEGRECIP(X)
trivial
mark1: [1]
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
2NDSNEG(X1, mark(X2)) → 2NDSNEG(X1, X2)
2NDSNEG(mark(X1), X2) → 2NDSNEG(X1, X2)
2NDSNEG(active(X1), X2) → 2NDSNEG(X1, X2)
2NDSNEG(X1, active(X2)) → 2NDSNEG(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
2NDSNEG(X1, mark(X2)) → 2NDSNEG(X1, X2)
2NDSNEG(mark(X1), X2) → 2NDSNEG(X1, X2)
mark1 > 2NDSNEG2
2NDSNEG2: [2,1]
mark1: [1]
2NDSNEG(active(X1), X2) → 2NDSNEG(X1, X2)
2NDSNEG(X1, active(X2)) → 2NDSNEG(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
2NDSNEG(X1, active(X2)) → 2NDSNEG(X1, X2)
active1 > 2NDSNEG1
2NDSNEG1: [1]
active1: [1]
2NDSNEG(active(X1), X2) → 2NDSNEG(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
2NDSNEG(active(X1), X2) → 2NDSNEG(X1, X2)
[2NDSNEG2, active1]
2NDSNEG2: [2,1]
active1: [1]
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
POSRECIP(active(X)) → POSRECIP(X)
POSRECIP(mark(X)) → POSRECIP(X)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
POSRECIP(active(X)) → POSRECIP(X)
[POSRECIP1, active1]
POSRECIP1: [1]
active1: [1]
POSRECIP(mark(X)) → POSRECIP(X)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
POSRECIP(mark(X)) → POSRECIP(X)
trivial
mark1: [1]
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
RCONS(X1, mark(X2)) → RCONS(X1, X2)
RCONS(mark(X1), X2) → RCONS(X1, X2)
RCONS(active(X1), X2) → RCONS(X1, X2)
RCONS(X1, active(X2)) → RCONS(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
RCONS(X1, mark(X2)) → RCONS(X1, X2)
RCONS(mark(X1), X2) → RCONS(X1, X2)
mark1 > RCONS2
RCONS2: [2,1]
mark1: [1]
RCONS(active(X1), X2) → RCONS(X1, X2)
RCONS(X1, active(X2)) → RCONS(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
RCONS(X1, active(X2)) → RCONS(X1, X2)
active1 > RCONS1
RCONS1: [1]
active1: [1]
RCONS(active(X1), X2) → RCONS(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
RCONS(active(X1), X2) → RCONS(X1, X2)
[RCONS2, active1]
RCONS2: [2,1]
active1: [1]
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
CONS2(X1, mark(X2)) → CONS2(X1, X2)
CONS2(mark(X1), X2) → CONS2(X1, X2)
CONS2(active(X1), X2) → CONS2(X1, X2)
CONS2(X1, active(X2)) → CONS2(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
CONS2(X1, mark(X2)) → CONS2(X1, X2)
CONS2(mark(X1), X2) → CONS2(X1, X2)
mark1 > CONS22
CONS22: [2,1]
mark1: [1]
CONS2(active(X1), X2) → CONS2(X1, X2)
CONS2(X1, active(X2)) → CONS2(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
CONS2(X1, active(X2)) → CONS2(X1, X2)
active1 > CONS21
CONS21: [1]
active1: [1]
CONS2(active(X1), X2) → CONS2(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
CONS2(active(X1), X2) → CONS2(X1, X2)
[CONS22, active1]
CONS22: [2,1]
active1: [1]
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
2NDSPOS(X1, mark(X2)) → 2NDSPOS(X1, X2)
2NDSPOS(mark(X1), X2) → 2NDSPOS(X1, X2)
2NDSPOS(active(X1), X2) → 2NDSPOS(X1, X2)
2NDSPOS(X1, active(X2)) → 2NDSPOS(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
2NDSPOS(X1, mark(X2)) → 2NDSPOS(X1, X2)
2NDSPOS(mark(X1), X2) → 2NDSPOS(X1, X2)
mark1 > 2NDSPOS2
2NDSPOS2: [2,1]
mark1: [1]
2NDSPOS(active(X1), X2) → 2NDSPOS(X1, X2)
2NDSPOS(X1, active(X2)) → 2NDSPOS(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
2NDSPOS(X1, active(X2)) → 2NDSPOS(X1, X2)
active1 > 2NDSPOS1
2NDSPOS1: [1]
active1: [1]
2NDSPOS(active(X1), X2) → 2NDSPOS(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
2NDSPOS(active(X1), X2) → 2NDSPOS(X1, X2)
[2NDSPOS2, active1]
2NDSPOS2: [2,1]
active1: [1]
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
S(active(X)) → S(X)
S(mark(X)) → S(X)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
S(active(X)) → S(X)
[S1, active1]
S1: [1]
active1: [1]
S(mark(X)) → S(X)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
S(mark(X)) → S(X)
trivial
mark1: [1]
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
CONS(X1, mark(X2)) → CONS(X1, X2)
CONS(mark(X1), X2) → CONS(X1, X2)
CONS(active(X1), X2) → CONS(X1, X2)
CONS(X1, active(X2)) → CONS(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
CONS(X1, mark(X2)) → CONS(X1, X2)
CONS(mark(X1), X2) → CONS(X1, X2)
mark1 > CONS2
CONS2: [2,1]
mark1: [1]
CONS(active(X1), X2) → CONS(X1, X2)
CONS(X1, active(X2)) → CONS(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
CONS(X1, active(X2)) → CONS(X1, X2)
active1 > CONS1
CONS1: [1]
active1: [1]
CONS(active(X1), X2) → CONS(X1, X2)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
CONS(active(X1), X2) → CONS(X1, X2)
[CONS2, active1]
CONS2: [2,1]
active1: [1]
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
FROM(active(X)) → FROM(X)
FROM(mark(X)) → FROM(X)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
FROM(active(X)) → FROM(X)
[FROM1, active1]
FROM1: [1]
active1: [1]
FROM(mark(X)) → FROM(X)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
FROM(mark(X)) → FROM(X)
trivial
mark1: [1]
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
MARK(from(X)) → ACTIVE(from(mark(X)))
ACTIVE(from(X)) → MARK(cons(X, from(s(X))))
MARK(from(X)) → MARK(X)
MARK(cons(X1, X2)) → ACTIVE(cons(mark(X1), X2))
ACTIVE(2ndspos(s(N), cons(X, Z))) → MARK(2ndspos(s(N), cons2(X, Z)))
MARK(cons(X1, X2)) → MARK(X1)
MARK(s(X)) → ACTIVE(s(mark(X)))
ACTIVE(2ndspos(s(N), cons2(X, cons(Y, Z)))) → MARK(rcons(posrecip(Y), 2ndsneg(N, Z)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → ACTIVE(2ndspos(mark(X1), mark(X2)))
ACTIVE(2ndsneg(s(N), cons(X, Z))) → MARK(2ndsneg(s(N), cons2(X, Z)))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(cons2(X1, X2)) → ACTIVE(cons2(X1, mark(X2)))
ACTIVE(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → MARK(rcons(negrecip(Y), 2ndspos(N, Z)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(rcons(X1, X2)) → ACTIVE(rcons(mark(X1), mark(X2)))
ACTIVE(pi(X)) → MARK(2ndspos(X, from(0)))
MARK(rcons(X1, X2)) → MARK(X1)
MARK(rcons(X1, X2)) → MARK(X2)
MARK(posrecip(X)) → ACTIVE(posrecip(mark(X)))
ACTIVE(plus(0, Y)) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(X1, X2)) → ACTIVE(2ndsneg(mark(X1), mark(X2)))
ACTIVE(plus(s(X), Y)) → MARK(s(plus(X, Y)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(negrecip(X)) → ACTIVE(negrecip(mark(X)))
ACTIVE(times(s(X), Y)) → MARK(plus(Y, times(X, Y)))
MARK(negrecip(X)) → MARK(X)
MARK(pi(X)) → ACTIVE(pi(mark(X)))
ACTIVE(square(X)) → MARK(times(X, X))
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → ACTIVE(plus(mark(X1), mark(X2)))
MARK(plus(X1, X2)) → MARK(X1)
MARK(plus(X1, X2)) → MARK(X2)
MARK(times(X1, X2)) → ACTIVE(times(mark(X1), mark(X2)))
MARK(times(X1, X2)) → MARK(X1)
MARK(times(X1, X2)) → MARK(X2)
MARK(square(X)) → ACTIVE(square(mark(X)))
MARK(square(X)) → MARK(X)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MARK(s(X)) → ACTIVE(s(mark(X)))
[MARK, from, cons, 2ndspos, cons2, rcons, posrecip, 2ndsneg, negrecip, pi, plus, times, square] > s > active1
[MARK, from, cons, 2ndspos, cons2, rcons, posrecip, 2ndsneg, negrecip, pi, plus, times, square] > 0 > active1
[MARK, from, cons, 2ndspos, cons2, rcons, posrecip, 2ndsneg, negrecip, pi, plus, times, square] > rnil > active1
MARK: []
from: []
cons: []
s: []
2ndspos: []
cons2: []
rcons: []
posrecip: []
2ndsneg: []
negrecip: []
pi: []
0: []
plus: []
times: []
square: []
active1: [1]
rnil: []
from(active(X)) → from(X)
from(mark(X)) → from(X)
s(active(X)) → s(X)
s(mark(X)) → s(X)
cons(X1, mark(X2)) → cons(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
posrecip(active(X)) → posrecip(X)
posrecip(mark(X)) → posrecip(X)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
negrecip(active(X)) → negrecip(X)
negrecip(mark(X)) → negrecip(X)
plus(X1, mark(X2)) → plus(X1, X2)
plus(mark(X1), X2) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
pi(active(X)) → pi(X)
pi(mark(X)) → pi(X)
square(active(X)) → square(X)
square(mark(X)) → square(X)
MARK(from(X)) → ACTIVE(from(mark(X)))
ACTIVE(from(X)) → MARK(cons(X, from(s(X))))
MARK(from(X)) → MARK(X)
MARK(cons(X1, X2)) → ACTIVE(cons(mark(X1), X2))
ACTIVE(2ndspos(s(N), cons(X, Z))) → MARK(2ndspos(s(N), cons2(X, Z)))
MARK(cons(X1, X2)) → MARK(X1)
ACTIVE(2ndspos(s(N), cons2(X, cons(Y, Z)))) → MARK(rcons(posrecip(Y), 2ndsneg(N, Z)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → ACTIVE(2ndspos(mark(X1), mark(X2)))
ACTIVE(2ndsneg(s(N), cons(X, Z))) → MARK(2ndsneg(s(N), cons2(X, Z)))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(cons2(X1, X2)) → ACTIVE(cons2(X1, mark(X2)))
ACTIVE(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → MARK(rcons(negrecip(Y), 2ndspos(N, Z)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(rcons(X1, X2)) → ACTIVE(rcons(mark(X1), mark(X2)))
ACTIVE(pi(X)) → MARK(2ndspos(X, from(0)))
MARK(rcons(X1, X2)) → MARK(X1)
MARK(rcons(X1, X2)) → MARK(X2)
MARK(posrecip(X)) → ACTIVE(posrecip(mark(X)))
ACTIVE(plus(0, Y)) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(X1, X2)) → ACTIVE(2ndsneg(mark(X1), mark(X2)))
ACTIVE(plus(s(X), Y)) → MARK(s(plus(X, Y)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(negrecip(X)) → ACTIVE(negrecip(mark(X)))
ACTIVE(times(s(X), Y)) → MARK(plus(Y, times(X, Y)))
MARK(negrecip(X)) → MARK(X)
MARK(pi(X)) → ACTIVE(pi(mark(X)))
ACTIVE(square(X)) → MARK(times(X, X))
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → ACTIVE(plus(mark(X1), mark(X2)))
MARK(plus(X1, X2)) → MARK(X1)
MARK(plus(X1, X2)) → MARK(X2)
MARK(times(X1, X2)) → ACTIVE(times(mark(X1), mark(X2)))
MARK(times(X1, X2)) → MARK(X1)
MARK(times(X1, X2)) → MARK(X2)
MARK(square(X)) → ACTIVE(square(mark(X)))
MARK(square(X)) → MARK(X)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MARK(cons(X1, X2)) → ACTIVE(cons(mark(X1), X2))
MARK(rcons(X1, X2)) → ACTIVE(rcons(mark(X1), mark(X2)))
MARK(posrecip(X)) → ACTIVE(posrecip(mark(X)))
MARK(negrecip(X)) → ACTIVE(negrecip(mark(X)))
0 > [MARK, from, mark1, 2ndspos, cons2, 2ndsneg, pi, plus, times, square] > [cons, s] > negrecip > rcons
0 > [MARK, from, mark1, 2ndspos, cons2, 2ndsneg, pi, plus, times, square] > posrecip > rcons
rnil > rcons
MARK: []
from: []
mark1: [1]
cons: []
s: []
2ndspos: []
cons2: []
rcons: []
posrecip: []
2ndsneg: []
negrecip: []
pi: []
0: []
plus: []
times: []
square: []
rnil: []
from(active(X)) → from(X)
from(mark(X)) → from(X)
cons(X1, mark(X2)) → cons(X1, X2)
cons(mark(X1), X2) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
posrecip(active(X)) → posrecip(X)
posrecip(mark(X)) → posrecip(X)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
negrecip(active(X)) → negrecip(X)
negrecip(mark(X)) → negrecip(X)
plus(X1, mark(X2)) → plus(X1, X2)
plus(mark(X1), X2) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
pi(active(X)) → pi(X)
pi(mark(X)) → pi(X)
square(active(X)) → square(X)
square(mark(X)) → square(X)
MARK(from(X)) → ACTIVE(from(mark(X)))
ACTIVE(from(X)) → MARK(cons(X, from(s(X))))
MARK(from(X)) → MARK(X)
ACTIVE(2ndspos(s(N), cons(X, Z))) → MARK(2ndspos(s(N), cons2(X, Z)))
MARK(cons(X1, X2)) → MARK(X1)
ACTIVE(2ndspos(s(N), cons2(X, cons(Y, Z)))) → MARK(rcons(posrecip(Y), 2ndsneg(N, Z)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → ACTIVE(2ndspos(mark(X1), mark(X2)))
ACTIVE(2ndsneg(s(N), cons(X, Z))) → MARK(2ndsneg(s(N), cons2(X, Z)))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(cons2(X1, X2)) → ACTIVE(cons2(X1, mark(X2)))
ACTIVE(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → MARK(rcons(negrecip(Y), 2ndspos(N, Z)))
MARK(cons2(X1, X2)) → MARK(X2)
ACTIVE(pi(X)) → MARK(2ndspos(X, from(0)))
MARK(rcons(X1, X2)) → MARK(X1)
MARK(rcons(X1, X2)) → MARK(X2)
ACTIVE(plus(0, Y)) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(X1, X2)) → ACTIVE(2ndsneg(mark(X1), mark(X2)))
ACTIVE(plus(s(X), Y)) → MARK(s(plus(X, Y)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(X1, X2)) → MARK(X2)
ACTIVE(times(s(X), Y)) → MARK(plus(Y, times(X, Y)))
MARK(negrecip(X)) → MARK(X)
MARK(pi(X)) → ACTIVE(pi(mark(X)))
ACTIVE(square(X)) → MARK(times(X, X))
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → ACTIVE(plus(mark(X1), mark(X2)))
MARK(plus(X1, X2)) → MARK(X1)
MARK(plus(X1, X2)) → MARK(X2)
MARK(times(X1, X2)) → ACTIVE(times(mark(X1), mark(X2)))
MARK(times(X1, X2)) → MARK(X1)
MARK(times(X1, X2)) → MARK(X2)
MARK(square(X)) → ACTIVE(square(mark(X)))
MARK(square(X)) → MARK(X)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MARK(cons2(X1, X2)) → ACTIVE(cons2(X1, mark(X2)))
[rcons2, active, rnil] > mark > [MARK, from, 2ndspos, 2ndsneg, pi, plus, times, square] > cons2
[rcons2, active, rnil] > mark > [MARK, from, 2ndspos, 2ndsneg, pi, plus, times, square] > cons2
[rcons2, active, rnil] > mark > [MARK, from, 2ndspos, 2ndsneg, pi, plus, times, square] > 0
MARK: []
from: []
mark: []
cons2: [2,1]
2ndspos: []
cons2: []
rcons2: [1,2]
2ndsneg: []
pi: []
0: []
plus: []
times: []
square: []
active: []
rnil: []
from(active(X)) → from(X)
from(mark(X)) → from(X)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(mark(X1), X2) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
pi(active(X)) → pi(X)
pi(mark(X)) → pi(X)
square(active(X)) → square(X)
square(mark(X)) → square(X)
MARK(from(X)) → ACTIVE(from(mark(X)))
ACTIVE(from(X)) → MARK(cons(X, from(s(X))))
MARK(from(X)) → MARK(X)
ACTIVE(2ndspos(s(N), cons(X, Z))) → MARK(2ndspos(s(N), cons2(X, Z)))
MARK(cons(X1, X2)) → MARK(X1)
ACTIVE(2ndspos(s(N), cons2(X, cons(Y, Z)))) → MARK(rcons(posrecip(Y), 2ndsneg(N, Z)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → ACTIVE(2ndspos(mark(X1), mark(X2)))
ACTIVE(2ndsneg(s(N), cons(X, Z))) → MARK(2ndsneg(s(N), cons2(X, Z)))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(2ndspos(X1, X2)) → MARK(X2)
ACTIVE(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → MARK(rcons(negrecip(Y), 2ndspos(N, Z)))
MARK(cons2(X1, X2)) → MARK(X2)
ACTIVE(pi(X)) → MARK(2ndspos(X, from(0)))
MARK(rcons(X1, X2)) → MARK(X1)
MARK(rcons(X1, X2)) → MARK(X2)
ACTIVE(plus(0, Y)) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(X1, X2)) → ACTIVE(2ndsneg(mark(X1), mark(X2)))
ACTIVE(plus(s(X), Y)) → MARK(s(plus(X, Y)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(X1, X2)) → MARK(X2)
ACTIVE(times(s(X), Y)) → MARK(plus(Y, times(X, Y)))
MARK(negrecip(X)) → MARK(X)
MARK(pi(X)) → ACTIVE(pi(mark(X)))
ACTIVE(square(X)) → MARK(times(X, X))
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → ACTIVE(plus(mark(X1), mark(X2)))
MARK(plus(X1, X2)) → MARK(X1)
MARK(plus(X1, X2)) → MARK(X2)
MARK(times(X1, X2)) → ACTIVE(times(mark(X1), mark(X2)))
MARK(times(X1, X2)) → MARK(X1)
MARK(times(X1, X2)) → MARK(X2)
MARK(square(X)) → ACTIVE(square(mark(X)))
MARK(square(X)) → MARK(X)
active(from(X)) → mark(cons(X, from(s(X))))
active(2ndspos(0, Z)) → mark(rnil)
active(2ndspos(s(N), cons(X, Z))) → mark(2ndspos(s(N), cons2(X, Z)))
active(2ndspos(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(posrecip(Y), 2ndsneg(N, Z)))
active(2ndsneg(0, Z)) → mark(rnil)
active(2ndsneg(s(N), cons(X, Z))) → mark(2ndsneg(s(N), cons2(X, Z)))
active(2ndsneg(s(N), cons2(X, cons(Y, Z)))) → mark(rcons(negrecip(Y), 2ndspos(N, Z)))
active(pi(X)) → mark(2ndspos(X, from(0)))
active(plus(0, Y)) → mark(Y)
active(plus(s(X), Y)) → mark(s(plus(X, Y)))
active(times(0, Y)) → mark(0)
active(times(s(X), Y)) → mark(plus(Y, times(X, Y)))
active(square(X)) → mark(times(X, X))
mark(from(X)) → active(from(mark(X)))
mark(cons(X1, X2)) → active(cons(mark(X1), X2))
mark(s(X)) → active(s(mark(X)))
mark(2ndspos(X1, X2)) → active(2ndspos(mark(X1), mark(X2)))
mark(0) → active(0)
mark(rnil) → active(rnil)
mark(cons2(X1, X2)) → active(cons2(X1, mark(X2)))
mark(rcons(X1, X2)) → active(rcons(mark(X1), mark(X2)))
mark(posrecip(X)) → active(posrecip(mark(X)))
mark(2ndsneg(X1, X2)) → active(2ndsneg(mark(X1), mark(X2)))
mark(negrecip(X)) → active(negrecip(mark(X)))
mark(pi(X)) → active(pi(mark(X)))
mark(plus(X1, X2)) → active(plus(mark(X1), mark(X2)))
mark(times(X1, X2)) → active(times(mark(X1), mark(X2)))
mark(square(X)) → active(square(mark(X)))
from(mark(X)) → from(X)
from(active(X)) → from(X)
cons(mark(X1), X2) → cons(X1, X2)
cons(X1, mark(X2)) → cons(X1, X2)
cons(active(X1), X2) → cons(X1, X2)
cons(X1, active(X2)) → cons(X1, X2)
s(mark(X)) → s(X)
s(active(X)) → s(X)
2ndspos(mark(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, mark(X2)) → 2ndspos(X1, X2)
2ndspos(active(X1), X2) → 2ndspos(X1, X2)
2ndspos(X1, active(X2)) → 2ndspos(X1, X2)
cons2(mark(X1), X2) → cons2(X1, X2)
cons2(X1, mark(X2)) → cons2(X1, X2)
cons2(active(X1), X2) → cons2(X1, X2)
cons2(X1, active(X2)) → cons2(X1, X2)
rcons(mark(X1), X2) → rcons(X1, X2)
rcons(X1, mark(X2)) → rcons(X1, X2)
rcons(active(X1), X2) → rcons(X1, X2)
rcons(X1, active(X2)) → rcons(X1, X2)
posrecip(mark(X)) → posrecip(X)
posrecip(active(X)) → posrecip(X)
2ndsneg(mark(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, mark(X2)) → 2ndsneg(X1, X2)
2ndsneg(active(X1), X2) → 2ndsneg(X1, X2)
2ndsneg(X1, active(X2)) → 2ndsneg(X1, X2)
negrecip(mark(X)) → negrecip(X)
negrecip(active(X)) → negrecip(X)
pi(mark(X)) → pi(X)
pi(active(X)) → pi(X)
plus(mark(X1), X2) → plus(X1, X2)
plus(X1, mark(X2)) → plus(X1, X2)
plus(active(X1), X2) → plus(X1, X2)
plus(X1, active(X2)) → plus(X1, X2)
times(mark(X1), X2) → times(X1, X2)
times(X1, mark(X2)) → times(X1, X2)
times(active(X1), X2) → times(X1, X2)
times(X1, active(X2)) → times(X1, X2)
square(mark(X)) → square(X)
square(active(X)) → square(X)