a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(times(X1, X2)) → A__TIMES(mark(X1), mark(X2))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(X1, X2)) → MARK(X2)
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(square(X)) → MARK(X)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(plus(X1, X2)) → A__PLUS(mark(X1), mark(X2))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndsneg(X1, X2)) → A__2NDSNEG(mark(X1), mark(X2))
MARK(cons2(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
A__PLUS(s(X), Y) → MARK(X)
MARK(pi(X)) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(X1, X2)) → MARK(X2)
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(X1, X2)) → MARK(X2)
A__PI(X) → A__2NDSPOS(mark(X), a__from(0))
MARK(from(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → A__2NDSPOS(mark(X1), mark(X2))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
A__PI(X) → MARK(X)
MARK(square(X)) → A__SQUARE(mark(X))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(N), cons(X, Z)) → A__2NDSPOS(s(mark(N)), cons2(X, mark(Z)))
A__TIMES(s(X), Y) → MARK(X)
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
MARK(times(X1, X2)) → A__TIMES(mark(X1), mark(X2))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(X1, X2)) → MARK(X2)
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(square(X)) → MARK(X)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(plus(X1, X2)) → A__PLUS(mark(X1), mark(X2))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndsneg(X1, X2)) → A__2NDSNEG(mark(X1), mark(X2))
MARK(cons2(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
A__PLUS(s(X), Y) → MARK(X)
MARK(pi(X)) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(X1, X2)) → MARK(X2)
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(X1, X2)) → MARK(X2)
A__PI(X) → A__2NDSPOS(mark(X), a__from(0))
MARK(from(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → A__2NDSPOS(mark(X1), mark(X2))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
A__PI(X) → MARK(X)
MARK(square(X)) → A__SQUARE(mark(X))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(N), cons(X, Z)) → A__2NDSPOS(s(mark(N)), cons2(X, mark(Z)))
A__TIMES(s(X), Y) → MARK(X)
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
A__2NDSPOS(s(y0), cons(y1, nil)) → A__2NDSPOS(s(mark(y0)), cons2(y1, nil))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSPOS(s(y0), cons(y1, posrecip(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, posrecip(mark(x0))))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(y0), cons(y1, rcons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, rcons(mark(x0), mark(x1))))
A__2NDSPOS(s(y0), cons(y1, negrecip(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, negrecip(mark(x0))))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSPOS(s(y0), cons(y1, cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons2(x0, mark(x1))))
A__2NDSPOS(s(y0), cons(y1, s(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, s(mark(x0))))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__2NDSPOS(s(y0), cons(y1, 0)) → A__2NDSPOS(s(mark(y0)), cons2(y1, 0))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(y0), cons(y1, rnil)) → A__2NDSPOS(s(mark(y0)), cons2(y1, rnil))
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(times(X1, X2)) → A__TIMES(mark(X1), mark(X2))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__2NDSPOS(s(y0), cons(y1, posrecip(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, posrecip(mark(x0))))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__2NDSPOS(s(y0), cons(y1, rcons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, rcons(mark(x0), mark(x1))))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSPOS(s(y0), cons(y1, negrecip(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, negrecip(mark(x0))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(plus(X1, X2)) → A__PLUS(mark(X1), mark(X2))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndsneg(X1, X2)) → A__2NDSNEG(mark(X1), mark(X2))
MARK(cons2(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(y0), cons(y1, s(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, s(mark(x0))))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
A__2NDSPOS(s(y0), cons(y1, 0)) → A__2NDSPOS(s(mark(y0)), cons2(y1, 0))
MARK(pi(X)) → A__PI(mark(X))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(X1, X2)) → MARK(X2)
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__2NDSPOS(s(y0), cons(y1, nil)) → A__2NDSPOS(s(mark(y0)), cons2(y1, nil))
MARK(2ndspos(X1, X2)) → A__2NDSPOS(mark(X1), mark(X2))
MARK(from(X)) → MARK(X)
A__PI(X) → A__2NDSPOS(mark(X), a__from(0))
MARK(from(X)) → A__FROM(mark(X))
A__PI(X) → A__FROM(0)
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(plus(X1, X2)) → MARK(X1)
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
A__2NDSPOS(s(y0), cons(y1, cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons2(x0, mark(x1))))
MARK(square(X)) → A__SQUARE(mark(X))
A__PI(X) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, rnil)) → A__2NDSPOS(s(mark(y0)), cons2(y1, rnil))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(times(X1, X2)) → A__TIMES(mark(X1), mark(X2))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(plus(X1, X2)) → A__PLUS(mark(X1), mark(X2))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndsneg(X1, X2)) → A__2NDSNEG(mark(X1), mark(X2))
MARK(cons2(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(X1, X2)) → MARK(X2)
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PI(X) → A__2NDSPOS(mark(X), a__from(0))
MARK(from(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → A__2NDSPOS(mark(X1), mark(X2))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(plus(X1, X2)) → MARK(X1)
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
A__PI(X) → MARK(X)
MARK(square(X)) → A__SQUARE(mark(X))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(2ndspos(square(x0), y1)) → A__2NDSPOS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(from(x0), y1)) → A__2NDSPOS(a__from(mark(x0)), mark(y1))
MARK(2ndspos(s(x0), y1)) → A__2NDSPOS(s(mark(x0)), mark(y1))
MARK(2ndspos(2ndsneg(x0, x1), y1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(rcons(x0, x1), y1)) → A__2NDSPOS(rcons(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(rnil, y1)) → A__2NDSPOS(rnil, mark(y1))
MARK(2ndspos(posrecip(x0), y1)) → A__2NDSPOS(posrecip(mark(x0)), mark(y1))
MARK(2ndspos(pi(x0), y1)) → A__2NDSPOS(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(nil, y1)) → A__2NDSPOS(nil, mark(y1))
MARK(2ndspos(cons(x0, x1), y1)) → A__2NDSPOS(cons(mark(x0), x1), mark(y1))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(0, y1)) → A__2NDSPOS(0, mark(y1))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(cons2(x0, x1), y1)) → A__2NDSPOS(cons2(x0, mark(x1)), mark(y1))
MARK(2ndspos(negrecip(x0), y1)) → A__2NDSPOS(negrecip(mark(x0)), mark(y1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(times(X1, X2)) → A__TIMES(mark(X1), mark(X2))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(square(x0), y1)) → A__2NDSPOS(a__square(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(cons(x0, x1), y1)) → A__2NDSPOS(cons(mark(x0), x1), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(cons2(x0, x1), y1)) → A__2NDSPOS(cons2(x0, mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndspos(s(x0), y1)) → A__2NDSPOS(s(mark(x0)), mark(y1))
MARK(2ndspos(from(x0), y1)) → A__2NDSPOS(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(square(X)) → MARK(X)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(0, y1)) → A__2NDSPOS(0, mark(y1))
MARK(plus(X1, X2)) → A__PLUS(mark(X1), mark(X2))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndsneg(X1, X2)) → A__2NDSNEG(mark(X1), mark(X2))
MARK(2ndspos(negrecip(x0), y1)) → A__2NDSPOS(negrecip(mark(x0)), mark(y1))
MARK(cons2(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(2ndspos(rcons(x0, x1), y1)) → A__2NDSPOS(rcons(mark(x0), mark(x1)), mark(y1))
MARK(pi(X)) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(X1, X2)) → MARK(X2)
MARK(2ndspos(rnil, y1)) → A__2NDSPOS(rnil, mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(X1, X2)) → MARK(X2)
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(from(X)) → MARK(X)
A__PI(X) → A__2NDSPOS(mark(X), a__from(0))
MARK(from(X)) → A__FROM(mark(X))
A__PI(X) → A__FROM(0)
MARK(2ndspos(2ndsneg(x0, x1), y1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndspos(posrecip(x0), y1)) → A__2NDSPOS(posrecip(mark(x0)), mark(y1))
MARK(2ndspos(nil, y1)) → A__2NDSPOS(nil, mark(y1))
MARK(2ndspos(pi(x0), y1)) → A__2NDSPOS(a__pi(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
A__PI(X) → MARK(X)
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(times(X1, X2)) → A__TIMES(mark(X1), mark(X2))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(square(x0), y1)) → A__2NDSPOS(a__square(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(X1, X2)) → MARK(X2)
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndspos(from(x0), y1)) → A__2NDSPOS(a__from(mark(x0)), mark(y1))
MARK(2ndspos(s(x0), y1)) → A__2NDSPOS(s(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(plus(X1, X2)) → A__PLUS(mark(X1), mark(X2))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndsneg(X1, X2)) → A__2NDSNEG(mark(X1), mark(X2))
MARK(cons2(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(X1, X2)) → MARK(X2)
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(from(X)) → MARK(X)
A__PI(X) → A__2NDSPOS(mark(X), a__from(0))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(2ndsneg(x0, x1), y1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(plus(X1, X2)) → MARK(X1)
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
A__PI(X) → MARK(X)
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(pi(x0), y1)) → A__2NDSPOS(a__pi(mark(x0)), mark(y1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(2ndsneg(rcons(x0, x1), y1)) → A__2NDSNEG(rcons(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(cons(x0, x1), y1)) → A__2NDSNEG(cons(mark(x0), x1), mark(y1))
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(posrecip(x0), y1)) → A__2NDSNEG(posrecip(mark(x0)), mark(y1))
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndsneg(0, y1)) → A__2NDSNEG(0, mark(y1))
MARK(2ndsneg(cons2(x0, x1), y1)) → A__2NDSNEG(cons2(x0, mark(x1)), mark(y1))
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(negrecip(x0), y1)) → A__2NDSNEG(negrecip(mark(x0)), mark(y1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(rnil, y1)) → A__2NDSNEG(rnil, mark(y1))
MARK(2ndsneg(nil, y1)) → A__2NDSNEG(nil, mark(y1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndsneg(cons(x0, x1), y1)) → A__2NDSNEG(cons(mark(x0), x1), mark(y1))
MARK(times(X1, X2)) → A__TIMES(mark(X1), mark(X2))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
MARK(2ndspos(square(x0), y1)) → A__2NDSPOS(a__square(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(nil, y1)) → A__2NDSNEG(nil, mark(y1))
MARK(2ndsneg(rnil, y1)) → A__2NDSNEG(rnil, mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(s(x0), y1)) → A__2NDSPOS(s(mark(x0)), mark(y1))
MARK(2ndspos(from(x0), y1)) → A__2NDSPOS(a__from(mark(x0)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(square(X)) → MARK(X)
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndsneg(0, y1)) → A__2NDSNEG(0, mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(cons2(x0, x1), y1)) → A__2NDSNEG(cons2(x0, mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(plus(X1, X2)) → A__PLUS(mark(X1), mark(X2))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(rcons(x0, x1), y1)) → A__2NDSNEG(rcons(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(posrecip(x0), y1)) → A__2NDSNEG(posrecip(mark(x0)), mark(y1))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(pi(X)) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(X1, X2)) → MARK(X2)
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
MARK(pi(X)) → A__PI(mark(X))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(2ndsneg(negrecip(x0), y1)) → A__2NDSNEG(negrecip(mark(x0)), mark(y1))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X2)
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PI(X) → A__2NDSPOS(mark(X), a__from(0))
MARK(from(X)) → MARK(X)
MARK(from(X)) → A__FROM(mark(X))
A__PI(X) → A__FROM(0)
MARK(2ndspos(2ndsneg(x0, x1), y1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndspos(pi(x0), y1)) → A__2NDSPOS(a__pi(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
A__PI(X) → MARK(X)
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(times(X1, X2)) → A__TIMES(mark(X1), mark(X2))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
MARK(2ndspos(square(x0), y1)) → A__2NDSPOS(a__square(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(x0), y1)) → A__2NDSPOS(a__from(mark(x0)), mark(y1))
MARK(2ndspos(s(x0), y1)) → A__2NDSPOS(s(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(plus(X1, X2)) → A__PLUS(mark(X1), mark(X2))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(cons2(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
MARK(pi(X)) → A__PI(mark(X))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X2)
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(from(X)) → MARK(X)
A__PI(X) → A__2NDSPOS(mark(X), a__from(0))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(2ndsneg(x0, x1), y1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
A__PI(X) → MARK(X)
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(pi(x0), y1)) → A__2NDSPOS(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
A__PI(rnil) → A__2NDSPOS(rnil, a__from(0))
A__PI(posrecip(x0)) → A__2NDSPOS(posrecip(mark(x0)), a__from(0))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__PI(cons2(x0, x1)) → A__2NDSPOS(cons2(x0, mark(x1)), a__from(0))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__PI(cons(x0, x1)) → A__2NDSPOS(cons(mark(x0), x1), a__from(0))
A__PI(negrecip(x0)) → A__2NDSPOS(negrecip(mark(x0)), a__from(0))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
A__PI(nil) → A__2NDSPOS(nil, a__from(0))
A__PI(rcons(x0, x1)) → A__2NDSPOS(rcons(mark(x0), mark(x1)), a__from(0))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
A__PI(0) → A__2NDSPOS(0, a__from(0))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(times(X1, X2)) → A__TIMES(mark(X1), mark(X2))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(square(x0), y1)) → A__2NDSPOS(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__PI(rcons(x0, x1)) → A__2NDSPOS(rcons(mark(x0), mark(x1)), a__from(0))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(s(x0), y1)) → A__2NDSPOS(s(mark(x0)), mark(y1))
MARK(2ndspos(from(x0), y1)) → A__2NDSPOS(a__from(mark(x0)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(square(X)) → MARK(X)
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(X1, X2)) → A__PLUS(mark(X1), mark(X2))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
A__PI(0) → A__2NDSPOS(0, a__from(0))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(cons2(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(pi(X)) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(X1, X2)) → MARK(X2)
A__PI(negrecip(x0)) → A__2NDSPOS(negrecip(mark(x0)), a__from(0))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PI(nil) → A__2NDSPOS(nil, a__from(0))
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X2)
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PI(rnil) → A__2NDSPOS(rnil, a__from(0))
MARK(from(X)) → MARK(X)
MARK(from(X)) → A__FROM(mark(X))
A__PI(X) → A__FROM(0)
A__PI(posrecip(x0)) → A__2NDSPOS(posrecip(mark(x0)), a__from(0))
MARK(2ndspos(2ndsneg(x0, x1), y1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(plus(X1, X2)) → MARK(X1)
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__PI(cons2(x0, x1)) → A__2NDSPOS(cons2(x0, mark(x1)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__PI(cons(x0, x1)) → A__2NDSPOS(cons(mark(x0), x1), a__from(0))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndspos(pi(x0), y1)) → A__2NDSPOS(a__pi(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
A__PI(X) → MARK(X)
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(times(X1, X2)) → A__TIMES(mark(X1), mark(X2))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
MARK(2ndspos(square(x0), y1)) → A__2NDSPOS(a__square(mark(x0)), mark(y1))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(x0), y1)) → A__2NDSPOS(a__from(mark(x0)), mark(y1))
MARK(2ndspos(s(x0), y1)) → A__2NDSPOS(s(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(X1, X2)) → A__PLUS(mark(X1), mark(X2))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X2)
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(cons2(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
MARK(pi(X)) → A__PI(mark(X))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X2)
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(from(X)) → MARK(X)
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(2ndsneg(x0, x1), y1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(plus(X1, X2)) → MARK(X1)
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(square(X)) → A__SQUARE(mark(X))
A__PI(X) → MARK(X)
MARK(2ndspos(pi(x0), y1)) → A__2NDSPOS(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(plus(nil, y1)) → A__PLUS(nil, mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(negrecip(x0), y1)) → A__PLUS(negrecip(mark(x0)), mark(y1))
MARK(plus(cons2(x0, x1), y1)) → A__PLUS(cons2(x0, mark(x1)), mark(y1))
MARK(plus(cons(x0, x1), y1)) → A__PLUS(cons(mark(x0), x1), mark(y1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(plus(rnil, y1)) → A__PLUS(rnil, mark(y1))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(rcons(x0, x1), y1)) → A__PLUS(rcons(mark(x0), mark(x1)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(plus(posrecip(x0), y1)) → A__PLUS(posrecip(mark(x0)), mark(y1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
MARK(2ndspos(square(x0), y1)) → A__2NDSPOS(a__square(mark(x0)), mark(y1))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(negrecip(x0), y1)) → A__PLUS(negrecip(mark(x0)), mark(y1))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(rcons(x0, x1), y1)) → A__PLUS(rcons(mark(x0), mark(x1)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(plus(posrecip(x0), y1)) → A__PLUS(posrecip(mark(x0)), mark(y1))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X2)
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(plus(X1, X2)) → MARK(X1)
MARK(plus(nil, y1)) → A__PLUS(nil, mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(plus(cons(x0, x1), y1)) → A__PLUS(cons(mark(x0), x1), mark(y1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(times(X1, X2)) → A__TIMES(mark(X1), mark(X2))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X1)
MARK(2ndspos(from(x0), y1)) → A__2NDSPOS(a__from(mark(x0)), mark(y1))
MARK(2ndspos(s(x0), y1)) → A__2NDSPOS(s(mark(x0)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(plus(rnil, y1)) → A__PLUS(rnil, mark(y1))
MARK(rcons(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndspos(2ndsneg(x0, x1), y1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(pi(x0), y1)) → A__2NDSPOS(a__pi(mark(x0)), mark(y1))
MARK(plus(cons2(x0, x1), y1)) → A__PLUS(cons2(x0, mark(x1)), mark(y1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(times(X1, X2)) → A__TIMES(mark(X1), mark(X2))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
MARK(2ndspos(square(x0), y1)) → A__2NDSPOS(a__square(mark(x0)), mark(y1))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(x0), y1)) → A__2NDSPOS(a__from(mark(x0)), mark(y1))
MARK(2ndspos(s(x0), y1)) → A__2NDSPOS(s(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X2)
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(cons2(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
MARK(pi(X)) → A__PI(mark(X))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X2)
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(2ndsneg(x0, x1), y1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(plus(X1, X2)) → MARK(X1)
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
A__PI(X) → MARK(X)
MARK(2ndspos(pi(x0), y1)) → A__2NDSPOS(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(times(negrecip(x0), y1)) → A__TIMES(negrecip(mark(x0)), mark(y1))
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(times(cons2(x0, x1), y1)) → A__TIMES(cons2(x0, mark(x1)), mark(y1))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(times(rnil, y1)) → A__TIMES(rnil, mark(y1))
MARK(times(cons(x0, x1), y1)) → A__TIMES(cons(mark(x0), x1), mark(y1))
MARK(times(rcons(x0, x1), y1)) → A__TIMES(rcons(mark(x0), mark(x1)), mark(y1))
MARK(times(0, y1)) → A__TIMES(0, mark(y1))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(times(nil, y1)) → A__TIMES(nil, mark(y1))
MARK(times(posrecip(x0), y1)) → A__TIMES(posrecip(mark(x0)), mark(y1))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
MARK(2ndspos(square(x0), y1)) → A__2NDSPOS(a__square(mark(x0)), mark(y1))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
MARK(times(cons2(x0, x1), y1)) → A__TIMES(cons2(x0, mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(times(cons(x0, x1), y1)) → A__TIMES(cons(mark(x0), x1), mark(y1))
MARK(pi(X)) → A__PI(mark(X))
MARK(times(0, y1)) → A__TIMES(0, mark(y1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(times(rcons(x0, x1), y1)) → A__TIMES(rcons(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
MARK(2ndspos(from(x0), y1)) → A__2NDSPOS(a__from(mark(x0)), mark(y1))
MARK(2ndspos(s(x0), y1)) → A__2NDSPOS(s(mark(x0)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(times(rnil, y1)) → A__TIMES(rnil, mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(times(posrecip(x0), y1)) → A__TIMES(posrecip(mark(x0)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(times(nil, y1)) → A__TIMES(nil, mark(y1))
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(times(negrecip(x0), y1)) → A__TIMES(negrecip(mark(x0)), mark(y1))
MARK(2ndspos(2ndsneg(x0, x1), y1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(pi(x0), y1)) → A__2NDSPOS(a__pi(mark(x0)), mark(y1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
MARK(2ndspos(square(x0), y1)) → A__2NDSPOS(a__square(mark(x0)), mark(y1))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(x0), y1)) → A__2NDSPOS(a__from(mark(x0)), mark(y1))
MARK(2ndspos(s(x0), y1)) → A__2NDSPOS(s(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X2)
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(cons2(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(pi(X)) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(X1, X2)) → MARK(X2)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
MARK(pi(X)) → A__PI(mark(X))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X2)
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(from(X)) → MARK(X)
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(2ndsneg(x0, x1), y1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(plus(X1, X2)) → MARK(X1)
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
A__PI(X) → MARK(X)
MARK(2ndspos(pi(x0), y1)) → A__2NDSPOS(a__pi(mark(x0)), mark(y1))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), rnil)) → A__2NDSPOS(a__square(mark(y0)), rnil)
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), nil)) → A__2NDSPOS(a__square(mark(y0)), nil)
MARK(2ndspos(square(y0), negrecip(x0))) → A__2NDSPOS(a__square(mark(y0)), negrecip(mark(x0)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), rcons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), rcons(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), 0)) → A__2NDSPOS(a__square(mark(y0)), 0)
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(square(y0), s(x0))) → A__2NDSPOS(a__square(mark(y0)), s(mark(x0)))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(square(y0), posrecip(x0))) → A__2NDSPOS(a__square(mark(y0)), posrecip(mark(x0)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(square(y0), nil)) → A__2NDSPOS(a__square(mark(y0)), nil)
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndspos(square(y0), 0)) → A__2NDSPOS(a__square(mark(y0)), 0)
MARK(pi(X)) → A__PI(mark(X))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), rnil)) → A__2NDSPOS(a__square(mark(y0)), rnil)
MARK(from(X)) → A__FROM(mark(X))
A__PI(X) → A__FROM(0)
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), rcons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), rcons(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X1)
MARK(2ndspos(s(x0), y1)) → A__2NDSPOS(s(mark(x0)), mark(y1))
MARK(2ndspos(from(x0), y1)) → A__2NDSPOS(a__from(mark(x0)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndspos(square(y0), negrecip(x0))) → A__2NDSPOS(a__square(mark(y0)), negrecip(mark(x0)))
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), s(x0))) → A__2NDSPOS(a__square(mark(y0)), s(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), posrecip(x0))) → A__2NDSPOS(a__square(mark(y0)), posrecip(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndspos(2ndsneg(x0, x1), y1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndspos(pi(x0), y1)) → A__2NDSPOS(a__pi(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(from(X)) → A__FROM(mark(X))
A__PI(X) → A__FROM(0)
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X1)
MARK(2ndspos(s(x0), y1)) → A__2NDSPOS(s(mark(x0)), mark(y1))
MARK(2ndspos(from(x0), y1)) → A__2NDSPOS(a__from(mark(x0)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndspos(2ndsneg(x0, x1), y1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndspos(pi(x0), y1)) → A__2NDSPOS(a__pi(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(2ndspos(from(y0), posrecip(x0))) → A__2NDSPOS(a__from(mark(y0)), posrecip(mark(x0)))
MARK(2ndspos(from(y0), nil)) → A__2NDSPOS(a__from(mark(y0)), nil)
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), rcons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), rcons(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(from(y0), s(x0))) → A__2NDSPOS(a__from(mark(y0)), s(mark(x0)))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(from(y0), negrecip(x0))) → A__2NDSPOS(a__from(mark(y0)), negrecip(mark(x0)))
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(from(y0), 0)) → A__2NDSPOS(a__from(mark(y0)), 0)
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), rnil)) → A__2NDSPOS(a__from(mark(y0)), rnil)
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), s(x0))) → A__2NDSPOS(a__from(mark(y0)), s(mark(x0)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndspos(from(y0), 0)) → A__2NDSPOS(a__from(mark(y0)), 0)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
MARK(2ndspos(from(y0), rcons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), rcons(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), negrecip(x0))) → A__2NDSPOS(a__from(mark(y0)), negrecip(mark(x0)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(from(y0), rnil)) → A__2NDSPOS(a__from(mark(y0)), rnil)
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
MARK(2ndspos(s(x0), y1)) → A__2NDSPOS(s(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), nil)) → A__2NDSPOS(a__from(mark(y0)), nil)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), posrecip(x0))) → A__2NDSPOS(a__from(mark(y0)), posrecip(mark(x0)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndspos(2ndsneg(x0, x1), y1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(pi(x0), y1)) → A__2NDSPOS(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X1)
MARK(2ndspos(s(x0), y1)) → A__2NDSPOS(s(mark(x0)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndspos(2ndsneg(x0, x1), y1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndspos(pi(x0), y1)) → A__2NDSPOS(a__pi(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(2ndspos(s(y0), rnil)) → A__2NDSPOS(s(mark(y0)), rnil)
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), negrecip(x0))) → A__2NDSPOS(s(mark(y0)), negrecip(mark(x0)))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), posrecip(x0))) → A__2NDSPOS(s(mark(y0)), posrecip(mark(x0)))
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(s(y0), 0)) → A__2NDSPOS(s(mark(y0)), 0)
MARK(2ndspos(s(y0), rcons(x0, x1))) → A__2NDSPOS(s(mark(y0)), rcons(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(s(y0), s(x0))) → A__2NDSPOS(s(mark(y0)), s(mark(x0)))
MARK(2ndspos(s(y0), nil)) → A__2NDSPOS(s(mark(y0)), nil)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(s(y0), negrecip(x0))) → A__2NDSPOS(s(mark(y0)), negrecip(mark(x0)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndspos(s(y0), s(x0))) → A__2NDSPOS(s(mark(y0)), s(mark(x0)))
MARK(2ndspos(s(y0), rnil)) → A__2NDSPOS(s(mark(y0)), rnil)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
A__PI(X) → A__FROM(0)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), rcons(x0, x1))) → A__2NDSPOS(s(mark(y0)), rcons(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndspos(s(y0), nil)) → A__2NDSPOS(s(mark(y0)), nil)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndspos(s(y0), posrecip(x0))) → A__2NDSPOS(s(mark(y0)), posrecip(mark(x0)))
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndspos(2ndsneg(x0, x1), y1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(pi(x0), y1)) → A__2NDSPOS(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), 0)) → A__2NDSPOS(s(mark(y0)), 0)
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PI(X) → A__FROM(0)
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndspos(2ndsneg(x0, x1), y1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndspos(pi(x0), y1)) → A__2NDSPOS(a__pi(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(2ndspos(2ndsneg(y0, y1), 0)) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), 0)
MARK(2ndspos(2ndsneg(y0, y1), negrecip(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), negrecip(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), rcons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), nil)) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), nil)
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), s(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), s(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), posrecip(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), posrecip(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), rnil)) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), rnil)
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(2ndsneg(y0, y1), posrecip(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), posrecip(mark(x0)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
MARK(2ndspos(2ndsneg(y0, y1), rnil)) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), rnil)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(2ndspos(2ndsneg(y0, y1), 0)) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), 0)
MARK(2ndspos(2ndsneg(y0, y1), rcons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), nil)) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), nil)
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(2ndsneg(y0, y1), s(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), s(mark(x0)))
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(2ndspos(2ndsneg(y0, y1), negrecip(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), negrecip(mark(x0)))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(pi(x0), y1)) → A__2NDSPOS(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PI(X) → A__FROM(0)
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndspos(pi(x0), y1)) → A__2NDSPOS(a__pi(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(2ndspos(pi(y0), negrecip(x0))) → A__2NDSPOS(a__pi(mark(y0)), negrecip(mark(x0)))
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), posrecip(x0))) → A__2NDSPOS(a__pi(mark(y0)), posrecip(mark(x0)))
MARK(2ndspos(pi(y0), rnil)) → A__2NDSPOS(a__pi(mark(y0)), rnil)
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), nil)) → A__2NDSPOS(a__pi(mark(y0)), nil)
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(pi(y0), rcons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), rcons(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), s(x0))) → A__2NDSPOS(a__pi(mark(y0)), s(mark(x0)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), 0)) → A__2NDSPOS(a__pi(mark(y0)), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), posrecip(x0))) → A__2NDSPOS(a__pi(mark(y0)), posrecip(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndspos(pi(y0), negrecip(x0))) → A__2NDSPOS(a__pi(mark(y0)), negrecip(mark(x0)))
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(pi(y0), rnil)) → A__2NDSPOS(a__pi(mark(y0)), rnil)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), s(x0))) → A__2NDSPOS(a__pi(mark(y0)), s(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), 0)) → A__2NDSPOS(a__pi(mark(y0)), 0)
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(pi(y0), nil)) → A__2NDSPOS(a__pi(mark(y0)), nil)
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), rcons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), rcons(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PI(X) → A__FROM(0)
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(x0, x1), y1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(2ndspos(times(y0, y1), rnil)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), rnil)
MARK(2ndspos(times(y0, y1), posrecip(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), posrecip(mark(x0)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), s(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), s(mark(x0)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(times(y0, y1), negrecip(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), negrecip(mark(x0)))
MARK(2ndspos(times(y0, y1), 0)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), 0)
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(times(y0, y1), rcons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), nil)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), nil)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), rcons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), rnil)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), rnil)
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), posrecip(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), posrecip(mark(x0)))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(times(y0, y1), 0)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), 0)
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), s(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), s(mark(x0)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), negrecip(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), negrecip(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), nil)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), nil)
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PI(X) → A__FROM(0)
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__PLUS(0, Y) → MARK(Y)
MARK(2ndspos(2ndspos(x0, x1), y1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(2ndspos(2ndspos(y0, y1), negrecip(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), negrecip(mark(x0)))
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(2ndspos(y0, y1), s(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), s(mark(x0)))
MARK(2ndspos(2ndspos(y0, y1), posrecip(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), posrecip(mark(x0)))
MARK(2ndspos(2ndspos(y0, y1), 0)) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), 0)
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), rcons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), nil)) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), nil)
MARK(2ndspos(2ndspos(y0, y1), rnil)) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), rnil)
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(2ndspos(y0, y1), negrecip(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), negrecip(mark(x0)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), rcons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), 0)) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), 0)
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), s(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), s(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(2ndspos(y0, y1), rnil)) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), rnil)
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndspos(2ndspos(y0, y1), posrecip(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), posrecip(mark(x0)))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), nil)) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), nil)
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(plus(x0, x1), y1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PI(X) → A__FROM(0)
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), rnil)) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), rnil)
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), posrecip(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), posrecip(mark(x0)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), s(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), s(mark(x0)))
MARK(2ndspos(plus(y0, y1), nil)) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), nil)
MARK(2ndspos(plus(y0, y1), 0)) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), 0)
MARK(2ndspos(plus(y0, y1), rcons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), negrecip(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), negrecip(mark(x0)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
MARK(2ndspos(plus(y0, y1), rnil)) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), rnil)
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndspos(plus(y0, y1), posrecip(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), posrecip(mark(x0)))
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndspos(plus(y0, y1), s(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), s(mark(x0)))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
MARK(2ndspos(plus(y0, y1), nil)) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), nil)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), rcons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
MARK(2ndspos(plus(y0, y1), negrecip(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), negrecip(mark(x0)))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 0)) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), 0)
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(x0), y1)) → A__2NDSNEG(a__square(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PI(X) → A__FROM(0)
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(square(y0), 0)) → A__2NDSNEG(a__square(mark(y0)), 0)
MARK(2ndsneg(square(y0), rcons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), rcons(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), negrecip(x0))) → A__2NDSNEG(a__square(mark(y0)), negrecip(mark(x0)))
MARK(2ndsneg(square(y0), nil)) → A__2NDSNEG(a__square(mark(y0)), nil)
MARK(2ndsneg(square(y0), s(x0))) → A__2NDSNEG(a__square(mark(y0)), s(mark(x0)))
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(square(y0), posrecip(x0))) → A__2NDSNEG(a__square(mark(y0)), posrecip(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), rnil)) → A__2NDSNEG(a__square(mark(y0)), rnil)
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(square(y0), s(x0))) → A__2NDSNEG(a__square(mark(y0)), s(mark(x0)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(square(y0), 0)) → A__2NDSNEG(a__square(mark(y0)), 0)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndsneg(square(y0), negrecip(x0))) → A__2NDSNEG(a__square(mark(y0)), negrecip(mark(x0)))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(square(y0), posrecip(x0))) → A__2NDSNEG(a__square(mark(y0)), posrecip(mark(x0)))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), rnil)) → A__2NDSNEG(a__square(mark(y0)), rnil)
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), rcons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), rcons(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), nil)) → A__2NDSNEG(a__square(mark(y0)), nil)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(square(X)) → MARK(X)
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndsneg(2ndspos(x0, x1), y1)) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(square(X)) → MARK(X)
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(2ndsneg(2ndspos(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), 0)) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), 0)
MARK(2ndsneg(2ndspos(y0, y1), rcons(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), s(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), s(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), from(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), square(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), nil)) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), nil)
MARK(2ndsneg(2ndspos(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), negrecip(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), negrecip(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), rnil)) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), rnil)
MARK(2ndsneg(2ndspos(y0, y1), posrecip(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), posrecip(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), square(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(2ndspos(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
A__PI(X) → A__FROM(0)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), posrecip(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), posrecip(mark(x0)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndsneg(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), rcons(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(2ndsneg(2ndspos(y0, y1), s(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), s(mark(x0)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(2ndspos(y0, y1), from(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), nil)) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), nil)
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndspos(y0, y1), 0)) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), 0)
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(2ndspos(y0, y1), negrecip(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), negrecip(mark(x0)))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), rnil)) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), rnil)
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndspos(y0, y1), square(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(2ndspos(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(plus(x0, x1), y1)) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(2ndspos(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(2ndsneg(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), from(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(square(X)) → MARK(X)
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(2ndsneg(plus(y0, y1), rcons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(plus(y0, y1), 0)) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), 0)
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), rnil)) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), rnil)
MARK(2ndsneg(plus(y0, y1), nil)) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), nil)
MARK(2ndsneg(plus(y0, y1), s(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), s(mark(x0)))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), posrecip(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), posrecip(mark(x0)))
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), negrecip(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), negrecip(mark(x0)))
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), square(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndsneg(plus(y0, y1), nil)) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), nil)
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(plus(y0, y1), 0)) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), 0)
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
A__PI(X) → A__FROM(0)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), posrecip(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), posrecip(mark(x0)))
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(plus(y0, y1), rcons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), from(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), rnil)) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), rnil)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), s(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), s(mark(x0)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(plus(y0, y1), negrecip(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), negrecip(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndspos(y0, y1), square(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(2ndspos(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(x0), y1)) → A__2NDSNEG(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(2ndspos(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), from(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(square(X)) → MARK(X)
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(2ndsneg(from(y0), rnil)) → A__2NDSNEG(a__from(mark(y0)), rnil)
MARK(2ndsneg(from(y0), nil)) → A__2NDSNEG(a__from(mark(y0)), nil)
MARK(2ndsneg(from(y0), s(x0))) → A__2NDSNEG(a__from(mark(y0)), s(mark(x0)))
MARK(2ndsneg(from(y0), plus(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), 0)) → A__2NDSNEG(a__from(mark(y0)), 0)
MARK(2ndsneg(from(y0), pi(x0))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(from(y0), from(x0))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), negrecip(x0))) → A__2NDSNEG(a__from(mark(y0)), negrecip(mark(x0)))
MARK(2ndsneg(from(y0), cons2(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(from(y0), cons(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(from(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), rcons(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), rcons(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), times(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), posrecip(x0))) → A__2NDSNEG(a__from(mark(y0)), posrecip(mark(x0)))
MARK(2ndsneg(from(y0), square(x0))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(from(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndspos(y0, y1), square(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(2ndspos(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(from(y0), nil)) → A__2NDSNEG(a__from(mark(y0)), nil)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), cons(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(2ndspos(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(from(y0), s(x0))) → A__2NDSNEG(a__from(mark(y0)), s(mark(x0)))
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), from(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndsneg(from(y0), cons2(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
MARK(negrecip(X)) → MARK(X)
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(from(y0), rnil)) → A__2NDSNEG(a__from(mark(y0)), rnil)
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), negrecip(x0))) → A__2NDSNEG(a__from(mark(y0)), negrecip(mark(x0)))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(from(y0), pi(x0))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(from(y0), posrecip(x0))) → A__2NDSNEG(a__from(mark(y0)), posrecip(mark(x0)))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(from(y0), times(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(from(y0), square(x0))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), plus(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndsneg(from(y0), 0)) → A__2NDSNEG(a__from(mark(y0)), 0)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__FROM(X) → MARK(X)
MARK(2ndsneg(from(y0), rcons(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), rcons(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(y0), from(x0))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(from(y0), pi(x0))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndspos(y0, y1), square(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(2ndspos(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), cons(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(2ndspos(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(from(y0), times(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(from(y0), square(x0))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(from(y0), plus(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), from(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(square(X)) → MARK(X)
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndsneg(from(y0), cons2(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(from(y0), from(x0))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(times(x0, x1), y1)) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(2ndsneg(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), rnil)) → A__2NDSNEG(a__times(mark(y0), mark(y1)), rnil)
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), s(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), s(mark(x0)))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), nil)) → A__2NDSNEG(a__times(mark(y0), mark(y1)), nil)
MARK(2ndsneg(times(y0, y1), posrecip(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), posrecip(mark(x0)))
MARK(2ndsneg(times(y0, y1), pi(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(times(y0, y1), 0)) → A__2NDSNEG(a__times(mark(y0), mark(y1)), 0)
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), negrecip(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), negrecip(mark(x0)))
MARK(2ndsneg(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), rcons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), square(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), cons(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), from(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), 0)) → A__2NDSNEG(a__times(mark(y0), mark(y1)), 0)
MARK(2ndsneg(from(y0), cons2(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__SQUARE(X) → MARK(X)
MARK(negrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(from(X)) → MARK(X)
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(times(y0, y1), nil)) → A__2NDSNEG(a__times(mark(y0), mark(y1)), nil)
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), negrecip(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), negrecip(mark(x0)))
MARK(2ndsneg(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(from(y0), pi(x0))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), times(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), square(x0))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
A__PI(X) → A__FROM(0)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndsneg(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(cons(X1, X2)) → MARK(X1)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(2ndsneg(times(y0, y1), rnil)) → A__2NDSNEG(a__times(mark(y0), mark(y1)), rnil)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), plus(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), rcons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
MARK(rcons(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(y0), from(x0))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(2ndsneg(times(y0, y1), s(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), s(mark(x0)))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(times(y0, y1), posrecip(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), posrecip(mark(x0)))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), pi(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(2ndsneg(x0, x1), y1)) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), square(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), cons(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), from(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), cons2(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__SQUARE(X) → MARK(X)
MARK(negrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(from(X)) → MARK(X)
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(from(y0), pi(x0))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(from(y0), times(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), square(x0))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
A__PI(X) → A__FROM(0)
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndsneg(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), plus(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(y0), from(x0))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndsneg(times(y0, y1), pi(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(2ndsneg(2ndsneg(y0, y1), rnil)) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), rnil)
MARK(2ndsneg(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), nil)) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), nil)
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), posrecip(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), posrecip(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), negrecip(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), negrecip(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), s(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), s(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), rcons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), 0)) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), 0)
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), square(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(2ndspos(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), cons(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(2ndsneg(y0, y1), posrecip(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), posrecip(mark(x0)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(2ndsneg(2ndsneg(y0, y1), rcons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), from(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
MARK(2ndsneg(2ndsneg(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndsneg(from(y0), cons2(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__SQUARE(X) → MARK(X)
MARK(negrecip(X)) → MARK(X)
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(from(X)) → MARK(X)
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), 0)) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), 0)
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), rnil)) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), rnil)
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(from(y0), pi(x0))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), times(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(from(y0), square(x0))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(cons(X1, X2)) → MARK(X1)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(2ndsneg(from(y0), plus(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), nil)) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), nil)
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), negrecip(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), negrecip(mark(x0)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndsneg(2ndsneg(y0, y1), s(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), s(mark(x0)))
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__FROM(X) → MARK(X)
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(y0), from(x0))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), pi(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), square(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), cons(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), from(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
MARK(2ndsneg(2ndsneg(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), cons2(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__SQUARE(X) → MARK(X)
MARK(negrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(from(X)) → MARK(X)
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(from(y0), pi(x0))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(from(y0), times(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), square(x0))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(X) → A__FROM(0)
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(s(x0), y1)) → A__2NDSNEG(s(mark(x0)), mark(y1))
MARK(2ndsneg(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), plus(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(y0), from(x0))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndsneg(times(y0, y1), pi(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(2ndsneg(s(y0), s(x0))) → A__2NDSNEG(s(mark(y0)), s(mark(x0)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(s(y0), rcons(x0, x1))) → A__2NDSNEG(s(mark(y0)), rcons(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), rnil)) → A__2NDSNEG(s(mark(y0)), rnil)
MARK(2ndsneg(s(y0), 0)) → A__2NDSNEG(s(mark(y0)), 0)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(s(y0), 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), negrecip(x0))) → A__2NDSNEG(s(mark(y0)), negrecip(mark(x0)))
MARK(2ndsneg(s(y0), posrecip(x0))) → A__2NDSNEG(s(mark(y0)), posrecip(mark(x0)))
MARK(2ndsneg(s(y0), pi(x0))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(s(y0), nil)) → A__2NDSNEG(s(mark(y0)), nil)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndsneg(s(y0), rcons(x0, x1))) → A__2NDSNEG(s(mark(y0)), rcons(mark(x0), mark(x1)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), square(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(s(y0), pi(x0))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(from(y0), cons(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
MARK(2ndsneg(s(y0), nil)) → A__2NDSNEG(s(mark(y0)), nil)
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), from(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), negrecip(x0))) → A__2NDSNEG(s(mark(y0)), negrecip(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
MARK(2ndsneg(2ndsneg(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndsneg(from(y0), cons2(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__SQUARE(X) → MARK(X)
MARK(negrecip(X)) → MARK(X)
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(from(X)) → MARK(X)
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(s(y0), 0)) → A__2NDSNEG(s(mark(y0)), 0)
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(from(y0), pi(x0))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(s(y0), rnil)) → A__2NDSNEG(s(mark(y0)), rnil)
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), times(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(from(y0), square(x0))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(2ndsneg(s(y0), s(x0))) → A__2NDSNEG(s(mark(y0)), s(mark(x0)))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(cons(X1, X2)) → MARK(X1)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(2ndsneg(s(y0), 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), plus(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndsneg(s(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(y0), from(x0))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PLUS(0, Y) → MARK(Y)
MARK(2ndsneg(s(y0), posrecip(x0))) → A__2NDSNEG(s(mark(y0)), posrecip(mark(x0)))
MARK(posrecip(X)) → MARK(X)
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), pi(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), square(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), pi(x0))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(from(y0), cons(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), from(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
MARK(2ndsneg(2ndsneg(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), cons2(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__SQUARE(X) → MARK(X)
MARK(negrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(from(X)) → MARK(X)
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(from(y0), pi(x0))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(from(y0), times(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), square(x0))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → A__FROM(0)
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(s(y0), 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), plus(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndsneg(s(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__FROM(X) → MARK(X)
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(y0), from(x0))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(pi(x0), y1)) → A__2NDSNEG(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndsneg(times(y0, y1), pi(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
MARK(2ndsneg(pi(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(pi(y0), cons(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(pi(y0), square(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(pi(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(pi(y0), from(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(pi(y0), times(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(pi(y0), pi(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(pi(y0), rcons(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), rcons(mark(x0), mark(x1)))
MARK(2ndsneg(pi(y0), cons2(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(pi(y0), rnil)) → A__2NDSNEG(a__pi(mark(y0)), rnil)
MARK(2ndsneg(pi(y0), negrecip(x0))) → A__2NDSNEG(a__pi(mark(y0)), negrecip(mark(x0)))
MARK(2ndsneg(pi(y0), posrecip(x0))) → A__2NDSNEG(a__pi(mark(y0)), posrecip(mark(x0)))
MARK(2ndsneg(pi(y0), nil)) → A__2NDSNEG(a__pi(mark(y0)), nil)
MARK(2ndsneg(pi(y0), s(x0))) → A__2NDSNEG(a__pi(mark(y0)), s(mark(x0)))
MARK(2ndsneg(pi(y0), 0)) → A__2NDSNEG(a__pi(mark(y0)), 0)
MARK(2ndsneg(pi(y0), plus(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), square(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(pi(y0), s(x0))) → A__2NDSNEG(a__pi(mark(y0)), s(mark(x0)))
MARK(2ndsneg(s(y0), pi(x0))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(pi(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), cons(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(pi(y0), posrecip(x0))) → A__2NDSNEG(a__pi(mark(y0)), posrecip(mark(x0)))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(pi(y0), rnil)) → A__2NDSNEG(a__pi(mark(y0)), rnil)
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
MARK(2ndsneg(pi(y0), plus(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), from(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(pi(y0), negrecip(x0))) → A__2NDSNEG(a__pi(mark(y0)), negrecip(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
MARK(2ndsneg(pi(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndsneg(from(y0), cons2(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(pi(y0), 0)) → A__2NDSNEG(a__pi(mark(y0)), 0)
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(pi(y0), pi(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(negrecip(X)) → MARK(X)
MARK(2ndsneg(pi(y0), rcons(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), rcons(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(from(X)) → MARK(X)
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(pi(y0), from(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), pi(x0))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndsneg(pi(y0), cons2(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(pi(y0), nil)) → A__2NDSNEG(a__pi(mark(y0)), nil)
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), times(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(from(y0), square(x0))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(pi(y0), cons(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), cons(mark(x0), x1))
MARK(cons(X1, X2)) → MARK(X1)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(2ndsneg(from(y0), plus(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(s(y0), 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(pi(y0), square(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(y0), from(x0))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndsneg(pi(y0), times(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), pi(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), square(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), pi(x0))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(pi(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(from(y0), cons(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
MARK(2ndsneg(pi(y0), plus(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), from(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
MARK(2ndsneg(pi(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), cons2(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(pi(y0), pi(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(negrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(from(X)) → MARK(X)
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(pi(y0), from(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), pi(x0))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndsneg(pi(y0), cons2(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), cons2(x0, mark(x1)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(from(y0), times(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), square(x0))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → A__FROM(0)
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(pi(y0), cons(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), cons(mark(x0), x1))
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(s(y0), 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), plus(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(pi(y0), square(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndsneg(s(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__FROM(X) → MARK(X)
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(y0), from(x0))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → A__PLUS(mark(X), mark(Y))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndsneg(pi(y0), times(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndsneg(times(y0, y1), pi(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
A__PLUS(s(2ndsneg(x0, x1)), y1) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(rnil), y1) → A__PLUS(rnil, mark(y1))
A__PLUS(s(cons(x0, x1)), y1) → A__PLUS(cons(mark(x0), x1), mark(y1))
A__PLUS(s(posrecip(x0)), y1) → A__PLUS(posrecip(mark(x0)), mark(y1))
A__PLUS(s(negrecip(x0)), y1) → A__PLUS(negrecip(mark(x0)), mark(y1))
A__PLUS(s(from(x0)), y1) → A__PLUS(a__from(mark(x0)), mark(y1))
A__PLUS(s(pi(x0)), y1) → A__PLUS(a__pi(mark(x0)), mark(y1))
A__PLUS(s(nil), y1) → A__PLUS(nil, mark(y1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
A__PLUS(s(2ndspos(x0, x1)), y1) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(rcons(x0, x1)), y1) → A__PLUS(rcons(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(cons2(x0, x1)), y1) → A__PLUS(cons2(x0, mark(x1)), mark(y1))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), square(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__PLUS(s(pi(x0)), y1) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(s(y0), pi(x0))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(pi(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), cons(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(rnil), y1) → A__PLUS(rnil, mark(y1))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
A__PLUS(s(nil), y1) → A__PLUS(nil, mark(y1))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__PLUS(s(2ndspos(x0, x1)), y1) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(pi(y0), plus(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), from(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
MARK(2ndsneg(2ndsneg(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(pi(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndsneg(from(y0), cons2(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(pi(y0), pi(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(negrecip(X)) → MARK(X)
A__PLUS(s(from(x0)), y1) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(from(X)) → MARK(X)
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(posrecip(x0)), y1) → A__PLUS(posrecip(mark(x0)), mark(y1))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(from(y0), pi(x0))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(pi(y0), from(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndsneg(pi(y0), cons2(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PLUS(s(rcons(x0, x1)), y1) → A__PLUS(rcons(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), times(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(from(y0), square(x0))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
A__PLUS(s(2ndsneg(x0, x1)), y1) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(negrecip(x0)), y1) → A__PLUS(negrecip(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(pi(y0), cons(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), cons(mark(x0), x1))
MARK(cons(X1, X2)) → MARK(X1)
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(2ndsneg(from(y0), plus(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(s(y0), 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(cons2(x0, x1)), y1) → A__PLUS(cons2(x0, mark(x1)), mark(y1))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(pi(y0), square(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(cons(x0, x1)), y1) → A__PLUS(cons(mark(x0), x1), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(y0), from(x0))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), pi(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndsneg(pi(y0), times(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), square(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
A__PLUS(s(pi(x0)), y1) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(s(y0), pi(x0))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(pi(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), cons(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__PLUS(s(2ndspos(x0, x1)), y1) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(pi(y0), plus(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), from(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
MARK(2ndsneg(pi(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), cons2(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(pi(y0), pi(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(negrecip(X)) → MARK(X)
A__PLUS(s(from(x0)), y1) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(from(X)) → MARK(X)
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(pi(y0), from(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), pi(x0))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndsneg(pi(y0), cons2(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), cons2(x0, mark(x1)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(from(y0), times(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), square(x0))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → A__FROM(0)
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
A__PLUS(s(2ndsneg(x0, x1)), y1) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(pi(y0), cons(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), cons(mark(x0), x1))
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(s(y0), 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), plus(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(pi(y0), square(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndsneg(s(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__FROM(X) → MARK(X)
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(from(y0), from(x0))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndsneg(pi(y0), times(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndsneg(times(y0, y1), pi(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MARK(2ndsneg(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), square(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(from(y0), cons(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), square(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), from(x0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(from(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndspos(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), cons2(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(from(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), times(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), plus(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), from(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(from(y0), cons2(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(from(y0), pi(x0))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(from(y0), pi(x0))) → A__2NDSPOS(a__from(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(from(y0), from(x0))) → A__2NDSPOS(a__from(mark(y0)), a__from(mark(x0)))
A__PI(2ndspos(x0, x1)) → A__2NDSPOS(a__2ndspos(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(from(y0), times(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(from(y0), square(x0))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(2ndspos(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(from(y0), cons(x0, x1))) → A__2NDSPOS(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PI(from(x0)) → A__2NDSPOS(a__from(mark(x0)), a__from(0))
MARK(2ndsneg(from(y0), plus(x0, x1))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndspos(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(from(y0), from(x0))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(from(y0), square(x0))) → A__2NDSPOS(a__from(mark(y0)), a__square(mark(x0)))
Used ordering: Polynomial interpretation [25]:
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(pi(x0)), y1) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(s(y0), pi(x0))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(pi(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__PLUS(s(2ndspos(x0, x1)), y1) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(pi(y0), plus(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
MARK(2ndsneg(pi(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(pi(y0), pi(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(negrecip(X)) → MARK(X)
A__PLUS(s(from(x0)), y1) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(from(X)) → MARK(X)
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(pi(y0), from(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndsneg(pi(y0), cons2(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → A__FROM(0)
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
A__PLUS(s(2ndsneg(x0, x1)), y1) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(pi(y0), cons(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), cons(mark(x0), x1))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(s(y0), 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(pi(y0), square(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndsneg(s(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndsneg(pi(y0), times(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndsneg(times(y0, y1), pi(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
POL(0) = 1
POL(2ndsneg(x1, x2)) = 1
POL(2ndspos(x1, x2)) = 0
POL(A__2NDSNEG(x1, x2)) = x1
POL(A__2NDSPOS(x1, x2)) = x1
POL(A__FROM(x1)) = 1
POL(A__PI(x1)) = 1
POL(A__PLUS(x1, x2)) = 1
POL(A__SQUARE(x1)) = 1
POL(A__TIMES(x1, x2)) = 1
POL(MARK(x1)) = 1
POL(a__2ndsneg(x1, x2)) = 1
POL(a__2ndspos(x1, x2)) = 0
POL(a__from(x1)) = 0
POL(a__pi(x1)) = 1
POL(a__plus(x1, x2)) = x1
POL(a__square(x1)) = 1
POL(a__times(x1, x2)) = 1
POL(cons(x1, x2)) = 0
POL(cons2(x1, x2)) = 0
POL(from(x1)) = 0
POL(mark(x1)) = 1
POL(negrecip(x1)) = 0
POL(nil) = 0
POL(pi(x1)) = 0
POL(plus(x1, x2)) = 0
POL(posrecip(x1)) = 0
POL(rcons(x1, x2)) = 0
POL(rnil) = 0
POL(s(x1)) = 1
POL(square(x1)) = 0
POL(times(x1, x2)) = 0
a__from(X) → cons(mark(X), from(s(X)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
mark(pi(X)) → a__pi(mark(X))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(from(X)) → a__from(mark(X))
a__times(0, Y) → 0
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
mark(nil) → nil
mark(negrecip(X)) → negrecip(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(s(X)) → s(mark(X))
mark(0) → 0
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__plus(0, Y) → mark(Y)
mark(square(X)) → a__square(mark(X))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
a__square(X) → a__times(mark(X), mark(X))
a__times(X1, X2) → times(X1, X2)
a__plus(X1, X2) → plus(X1, X2)
a__square(X) → square(X)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
mark(rnil) → rnil
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__from(X) → from(X)
a__pi(X) → pi(X)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(pi(x0)), y1) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(s(y0), pi(x0))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(pi(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__PLUS(s(2ndspos(x0, x1)), y1) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(pi(y0), plus(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
MARK(2ndsneg(2ndsneg(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(pi(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(pi(y0), pi(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(negrecip(X)) → MARK(X)
A__PLUS(s(from(x0)), y1) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(pi(y0), from(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndsneg(pi(y0), cons2(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → A__FROM(0)
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
A__PLUS(s(2ndsneg(x0, x1)), y1) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(pi(y0), cons(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), cons(mark(x0), x1))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(s(y0), 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(pi(y0), square(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndsneg(s(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndsneg(pi(y0), times(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndsneg(times(y0, y1), pi(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MARK(2ndspos(2ndsneg(y0, y1), from(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), square(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(pi(y0), pi(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), cons(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), times(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), cons2(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), pi(x0))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(pi(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), from(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(pi(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), plus(x0, x1))) → A__2NDSPOS(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(2ndsneg(x0, x1)) → A__2NDSPOS(a__2ndsneg(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(pi(y0), square(x0))) → A__2NDSPOS(a__pi(mark(y0)), a__square(mark(x0)))
A__PI(pi(x0)) → A__2NDSPOS(a__pi(mark(x0)), a__from(0))
MARK(2ndspos(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
Used ordering: Polynomial interpretation [25]:
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(pi(x0)), y1) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(s(y0), pi(x0))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(pi(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → MARK(Y)
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__PLUS(s(2ndspos(x0, x1)), y1) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(pi(y0), plus(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
MARK(2ndsneg(2ndsneg(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(pi(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(pi(y0), pi(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(negrecip(X)) → MARK(X)
A__PLUS(s(from(x0)), y1) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndsneg(pi(y0), from(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndsneg(pi(y0), cons2(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → A__FROM(0)
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
A__PLUS(s(2ndsneg(x0, x1)), y1) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(pi(y0), cons(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), cons(mark(x0), x1))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(s(y0), 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(pi(y0), square(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndsneg(s(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndsneg(pi(y0), times(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndsneg(times(y0, y1), pi(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
POL(0) = 1
POL(2ndsneg(x1, x2)) = 0
POL(2ndspos(x1, x2)) = 0
POL(A__2NDSNEG(x1, x2)) = 1
POL(A__2NDSPOS(x1, x2)) = x1
POL(A__FROM(x1)) = 1
POL(A__PI(x1)) = 1
POL(A__PLUS(x1, x2)) = 1
POL(A__SQUARE(x1)) = 1
POL(A__TIMES(x1, x2)) = 1
POL(MARK(x1)) = 1
POL(a__2ndsneg(x1, x2)) = 0
POL(a__2ndspos(x1, x2)) = 0
POL(a__from(x1)) = 0
POL(a__pi(x1)) = 0
POL(a__plus(x1, x2)) = x1
POL(a__square(x1)) = 1
POL(a__times(x1, x2)) = 1
POL(cons(x1, x2)) = 0
POL(cons2(x1, x2)) = 0
POL(from(x1)) = 0
POL(mark(x1)) = 1
POL(negrecip(x1)) = 0
POL(nil) = 1
POL(pi(x1)) = 0
POL(plus(x1, x2)) = 0
POL(posrecip(x1)) = 0
POL(rcons(x1, x2)) = 0
POL(rnil) = 0
POL(s(x1)) = 1
POL(square(x1)) = 0
POL(times(x1, x2)) = 0
a__from(X) → cons(mark(X), from(s(X)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
mark(pi(X)) → a__pi(mark(X))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(from(X)) → a__from(mark(X))
a__times(0, Y) → 0
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
mark(nil) → nil
mark(negrecip(X)) → negrecip(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(s(X)) → s(mark(X))
mark(0) → 0
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__plus(0, Y) → mark(Y)
mark(square(X)) → a__square(mark(X))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
a__square(X) → a__times(mark(X), mark(X))
a__times(X1, X2) → times(X1, X2)
a__plus(X1, X2) → plus(X1, X2)
a__square(X) → square(X)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
mark(rnil) → rnil
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__from(X) → from(X)
a__pi(X) → pi(X)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndsneg(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(pi(y0), from(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__from(mark(x0)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__PLUS(s(pi(x0)), y1) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(s(y0), pi(x0))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(pi(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndsneg(pi(y0), cons2(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
A__PLUS(s(2ndsneg(x0, x1)), y1) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__PLUS(s(2ndspos(x0, x1)), y1) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(pi(y0), plus(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(pi(y0), cons(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), cons(mark(x0), x1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(s(y0), 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(pi(y0), square(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__square(mark(x0)))
MARK(square(X)) → MARK(X)
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(pi(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(2ndsneg(pi(y0), pi(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__pi(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(from(x0)), y1) → A__PLUS(a__from(mark(x0)), mark(y1))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), pi(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndsneg(pi(y0), times(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MARK(2ndsneg(pi(y0), from(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(pi(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(pi(y0), cons2(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), cons2(x0, mark(x1)))
MARK(times(from(x0), y1)) → A__TIMES(a__from(mark(x0)), mark(y1))
MARK(2ndsneg(pi(y0), plus(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(pi(y0), cons(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), cons(mark(x0), x1))
MARK(times(pi(x0), y1)) → A__TIMES(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(pi(y0), square(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(pi(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(times(2ndspos(x0, x1), y1)) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(pi(y0), pi(x0))) → A__2NDSNEG(a__pi(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(pi(y0), times(x0, x1))) → A__2NDSNEG(a__pi(mark(y0)), a__times(mark(x0), mark(x1)))
Used ordering: Polynomial interpretation [25]:
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(2ndsneg(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__PLUS(s(pi(x0)), y1) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(s(y0), pi(x0))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
A__PLUS(s(2ndsneg(x0, x1)), y1) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__PLUS(s(2ndspos(x0, x1)), y1) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(s(y0), 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(square(X)) → MARK(X)
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(from(x0)), y1) → A__PLUS(a__from(mark(x0)), mark(y1))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), pi(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
POL(0) = 0
POL(2ndsneg(x1, x2)) = 0
POL(2ndspos(x1, x2)) = 0
POL(A__2NDSNEG(x1, x2)) = x1
POL(A__2NDSPOS(x1, x2)) = x1
POL(A__FROM(x1)) = 1
POL(A__PI(x1)) = 1
POL(A__PLUS(x1, x2)) = 1
POL(A__SQUARE(x1)) = 1
POL(A__TIMES(x1, x2)) = x1
POL(MARK(x1)) = 1
POL(a__2ndsneg(x1, x2)) = 1
POL(a__2ndspos(x1, x2)) = 0
POL(a__from(x1)) = 0
POL(a__pi(x1)) = 0
POL(a__plus(x1, x2)) = 1
POL(a__square(x1)) = 1
POL(a__times(x1, x2)) = 1
POL(cons(x1, x2)) = 0
POL(cons2(x1, x2)) = x2
POL(from(x1)) = 0
POL(mark(x1)) = 1
POL(negrecip(x1)) = 1
POL(nil) = 1
POL(pi(x1)) = 0
POL(plus(x1, x2)) = 0
POL(posrecip(x1)) = 1
POL(rcons(x1, x2)) = 0
POL(rnil) = 0
POL(s(x1)) = 1
POL(square(x1)) = 0
POL(times(x1, x2)) = 0
a__from(X) → cons(mark(X), from(s(X)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
mark(pi(X)) → a__pi(mark(X))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(from(X)) → a__from(mark(X))
a__times(0, Y) → 0
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
mark(nil) → nil
mark(negrecip(X)) → negrecip(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(s(X)) → s(mark(X))
mark(0) → 0
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__plus(0, Y) → mark(Y)
mark(square(X)) → a__square(mark(X))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
a__square(X) → a__times(mark(X), mark(X))
a__times(X1, X2) → times(X1, X2)
a__plus(X1, X2) → plus(X1, X2)
a__square(X) → square(X)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
mark(rnil) → rnil
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__from(X) → from(X)
a__pi(X) → pi(X)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(pi(x0)), y1) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(2ndsneg(s(y0), pi(x0))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
A__PLUS(s(2ndsneg(x0, x1)), y1) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__PLUS(s(2ndspos(x0, x1)), y1) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(s(y0), 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(2ndsneg(2ndsneg(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(s(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PLUS(s(from(x0)), y1) → A__PLUS(a__from(mark(x0)), mark(y1))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndsneg(times(y0, y1), pi(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MARK(2ndsneg(2ndsneg(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), 2ndspos(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), pi(x0))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(square(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), pi(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(s(y0), 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), pi(x0))) → A__2NDSNEG(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), pi(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(s(y0), 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), pi(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndsneg(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
Used ordering: Polynomial interpretation [25]:
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__PLUS(s(pi(x0)), y1) → A__PLUS(a__pi(mark(x0)), mark(y1))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
A__PLUS(s(2ndsneg(x0, x1)), y1) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__PLUS(s(2ndspos(x0, x1)), y1) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(from(x0)), y1) → A__PLUS(a__from(mark(x0)), mark(y1))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
POL(0) = 1
POL(2ndsneg(x1, x2)) = 0
POL(2ndspos(x1, x2)) = 0
POL(A__2NDSNEG(x1, x2)) = x2
POL(A__2NDSPOS(x1, x2)) = 1
POL(A__FROM(x1)) = 1
POL(A__PI(x1)) = 1
POL(A__PLUS(x1, x2)) = 1
POL(A__SQUARE(x1)) = 1
POL(A__TIMES(x1, x2)) = 1
POL(MARK(x1)) = 1
POL(a__2ndsneg(x1, x2)) = 0
POL(a__2ndspos(x1, x2)) = 0
POL(a__from(x1)) = 1
POL(a__pi(x1)) = 0
POL(a__plus(x1, x2)) = x1
POL(a__square(x1)) = 1
POL(a__times(x1, x2)) = 1
POL(cons(x1, x2)) = 1
POL(cons2(x1, x2)) = 1
POL(from(x1)) = 0
POL(mark(x1)) = 1
POL(negrecip(x1)) = 0
POL(nil) = 0
POL(pi(x1)) = 0
POL(plus(x1, x2)) = x1
POL(posrecip(x1)) = 0
POL(rcons(x1, x2)) = x1
POL(rnil) = 0
POL(s(x1)) = 0
POL(square(x1)) = 0
POL(times(x1, x2)) = 0
a__from(X) → cons(mark(X), from(s(X)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
mark(pi(X)) → a__pi(mark(X))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(from(X)) → a__from(mark(X))
a__times(0, Y) → 0
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
mark(nil) → nil
mark(negrecip(X)) → negrecip(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(s(X)) → s(mark(X))
mark(0) → 0
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__plus(0, Y) → mark(Y)
mark(square(X)) → a__square(mark(X))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
a__square(X) → a__times(mark(X), mark(X))
a__times(X1, X2) → times(X1, X2)
a__plus(X1, X2) → plus(X1, X2)
a__square(X) → square(X)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
mark(rnil) → rnil
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__from(X) → from(X)
a__pi(X) → pi(X)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__PLUS(s(pi(x0)), y1) → A__PLUS(a__pi(mark(x0)), mark(y1))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
A__PLUS(s(2ndsneg(x0, x1)), y1) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__PLUS(s(X), Y) → MARK(Y)
A__PLUS(s(2ndspos(x0, x1)), y1) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(from(x0)), y1) → A__PLUS(a__from(mark(x0)), mark(y1))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
A__2NDSPOS(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
MARK(2ndspos(square(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), pi(x0))) → A__2NDSPOS(s(mark(y0)), a__pi(mark(x0)))
MARK(2ndspos(plus(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, pi(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(2ndspos(plus(y0, y1), pi(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(square(y0), 2ndspos(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), 2ndspos(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), pi(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(times(y0, y1), 2ndspos(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), pi(x0))) → A__2NDSPOS(a__square(mark(y0)), a__pi(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
MARK(2ndspos(times(y0, y1), 2ndsneg(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
Used ordering: Polynomial interpretation [25]:
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__PLUS(s(pi(x0)), y1) → A__PLUS(a__pi(mark(x0)), mark(y1))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
A__PLUS(s(2ndsneg(x0, x1)), y1) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__PLUS(s(2ndspos(x0, x1)), y1) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(from(x0)), y1) → A__PLUS(a__from(mark(x0)), mark(y1))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
POL(0) = 0
POL(2ndsneg(x1, x2)) = 0
POL(2ndspos(x1, x2)) = 0
POL(A__2NDSNEG(x1, x2)) = 1
POL(A__2NDSPOS(x1, x2)) = x2
POL(A__FROM(x1)) = 1
POL(A__PI(x1)) = 1
POL(A__PLUS(x1, x2)) = 1
POL(A__SQUARE(x1)) = 1
POL(A__TIMES(x1, x2)) = 1
POL(MARK(x1)) = 1
POL(a__2ndsneg(x1, x2)) = 0
POL(a__2ndspos(x1, x2)) = 0
POL(a__from(x1)) = 1
POL(a__pi(x1)) = 0
POL(a__plus(x1, x2)) = 1
POL(a__square(x1)) = 1
POL(a__times(x1, x2)) = 1
POL(cons(x1, x2)) = 1
POL(cons2(x1, x2)) = x2
POL(from(x1)) = 0
POL(mark(x1)) = 1
POL(negrecip(x1)) = 0
POL(nil) = 0
POL(pi(x1)) = 0
POL(plus(x1, x2)) = 0
POL(posrecip(x1)) = x1
POL(rcons(x1, x2)) = 0
POL(rnil) = 0
POL(s(x1)) = 0
POL(square(x1)) = 0
POL(times(x1, x2)) = 0
a__from(X) → cons(mark(X), from(s(X)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
mark(pi(X)) → a__pi(mark(X))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(from(X)) → a__from(mark(X))
a__times(0, Y) → 0
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
mark(nil) → nil
mark(negrecip(X)) → negrecip(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(s(X)) → s(mark(X))
mark(0) → 0
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__plus(0, Y) → mark(Y)
mark(square(X)) → a__square(mark(X))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
a__square(X) → a__times(mark(X), mark(X))
a__times(X1, X2) → times(X1, X2)
a__plus(X1, X2) → plus(X1, X2)
a__square(X) → square(X)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
mark(rnil) → rnil
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__from(X) → from(X)
a__pi(X) → pi(X)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__PLUS(s(pi(x0)), y1) → A__PLUS(a__pi(mark(x0)), mark(y1))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
A__PLUS(s(2ndsneg(x0, x1)), y1) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__PLUS(s(2ndspos(x0, x1)), y1) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(from(x0)), y1) → A__PLUS(a__from(mark(x0)), mark(y1))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MARK(times(2ndsneg(x0, x1), y1)) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
Used ordering: Polynomial interpretation [25]:
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__PLUS(s(pi(x0)), y1) → A__PLUS(a__pi(mark(x0)), mark(y1))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
A__PLUS(s(2ndsneg(x0, x1)), y1) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__PLUS(s(2ndspos(x0, x1)), y1) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(from(x0)), y1) → A__PLUS(a__from(mark(x0)), mark(y1))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
POL(0) = 0
POL(2ndsneg(x1, x2)) = 0
POL(2ndspos(x1, x2)) = 0
POL(A__2NDSNEG(x1, x2)) = 1
POL(A__2NDSPOS(x1, x2)) = x2
POL(A__FROM(x1)) = 1
POL(A__PI(x1)) = 1
POL(A__PLUS(x1, x2)) = 1
POL(A__SQUARE(x1)) = 1
POL(A__TIMES(x1, x2)) = x1
POL(MARK(x1)) = 1
POL(a__2ndsneg(x1, x2)) = 0
POL(a__2ndspos(x1, x2)) = x1
POL(a__from(x1)) = 1
POL(a__pi(x1)) = 1
POL(a__plus(x1, x2)) = 1
POL(a__square(x1)) = 1
POL(a__times(x1, x2)) = 1
POL(cons(x1, x2)) = 1
POL(cons2(x1, x2)) = 1
POL(from(x1)) = 0
POL(mark(x1)) = 1
POL(negrecip(x1)) = 0
POL(nil) = 0
POL(pi(x1)) = 0
POL(plus(x1, x2)) = 1
POL(posrecip(x1)) = 0
POL(rcons(x1, x2)) = 0
POL(rnil) = 0
POL(s(x1)) = 1
POL(square(x1)) = 0
POL(times(x1, x2)) = 1
a__from(X) → cons(mark(X), from(s(X)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
mark(pi(X)) → a__pi(mark(X))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(from(X)) → a__from(mark(X))
a__times(0, Y) → 0
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
mark(nil) → nil
mark(negrecip(X)) → negrecip(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(s(X)) → s(mark(X))
mark(0) → 0
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__plus(0, Y) → mark(Y)
mark(square(X)) → a__square(mark(X))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
a__square(X) → a__times(mark(X), mark(X))
a__times(X1, X2) → times(X1, X2)
a__plus(X1, X2) → plus(X1, X2)
a__square(X) → square(X)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
mark(rnil) → rnil
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__from(X) → from(X)
a__pi(X) → pi(X)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__PLUS(s(pi(x0)), y1) → A__PLUS(a__pi(mark(x0)), mark(y1))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
A__PLUS(s(2ndsneg(x0, x1)), y1) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__PLUS(s(2ndspos(x0, x1)), y1) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(from(x0)), y1) → A__PLUS(a__from(mark(x0)), mark(y1))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MARK(2ndsneg(2ndsneg(y0, y1), square(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), from(x0))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(2ndsneg(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), times(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(2ndsneg(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__2ndsneg(mark(y0), mark(y1)), cons(mark(x0), x1))
Used ordering: Polynomial interpretation [25]:
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__PLUS(s(pi(x0)), y1) → A__PLUS(a__pi(mark(x0)), mark(y1))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
A__PLUS(s(2ndsneg(x0, x1)), y1) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__PLUS(s(2ndspos(x0, x1)), y1) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__PLUS(s(from(x0)), y1) → A__PLUS(a__from(mark(x0)), mark(y1))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
POL(0) = 0
POL(2ndsneg(x1, x2)) = 0
POL(2ndspos(x1, x2)) = 0
POL(A__2NDSNEG(x1, x2)) = x1
POL(A__2NDSPOS(x1, x2)) = 1
POL(A__FROM(x1)) = 1
POL(A__PI(x1)) = 1
POL(A__PLUS(x1, x2)) = 1
POL(A__SQUARE(x1)) = 1
POL(A__TIMES(x1, x2)) = 1
POL(MARK(x1)) = 1
POL(a__2ndsneg(x1, x2)) = 0
POL(a__2ndspos(x1, x2)) = 0
POL(a__from(x1)) = 0
POL(a__pi(x1)) = 0
POL(a__plus(x1, x2)) = 1
POL(a__square(x1)) = 1
POL(a__times(x1, x2)) = x1
POL(cons(x1, x2)) = 0
POL(cons2(x1, x2)) = 0
POL(from(x1)) = 0
POL(mark(x1)) = 1
POL(negrecip(x1)) = 1
POL(nil) = 0
POL(pi(x1)) = 0
POL(plus(x1, x2)) = 1
POL(posrecip(x1)) = 0
POL(rcons(x1, x2)) = 0
POL(rnil) = 0
POL(s(x1)) = 1
POL(square(x1)) = 1
POL(times(x1, x2)) = 0
a__from(X) → cons(mark(X), from(s(X)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
mark(pi(X)) → a__pi(mark(X))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(from(X)) → a__from(mark(X))
a__times(0, Y) → 0
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
mark(nil) → nil
mark(negrecip(X)) → negrecip(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(s(X)) → s(mark(X))
mark(0) → 0
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__plus(0, Y) → mark(Y)
mark(square(X)) → a__square(mark(X))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
a__square(X) → a__times(mark(X), mark(X))
a__times(X1, X2) → times(X1, X2)
a__plus(X1, X2) → plus(X1, X2)
a__square(X) → square(X)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
mark(rnil) → rnil
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__from(X) → from(X)
a__pi(X) → pi(X)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__PLUS(s(pi(x0)), y1) → A__PLUS(a__pi(mark(x0)), mark(y1))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
A__PLUS(s(2ndsneg(x0, x1)), y1) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__PLUS(s(2ndspos(x0, x1)), y1) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(s(from(x0)), y1) → A__PLUS(a__from(mark(x0)), mark(y1))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
A__PLUS(s(pi(x0)), y1) → A__PLUS(a__pi(mark(x0)), mark(y1))
MARK(plus(2ndsneg(x0, x1), y1)) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(2ndsneg(x0, x1)), y1) → A__PLUS(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__PLUS(s(2ndspos(x0, x1)), y1) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(plus(2ndspos(x0, x1), y1)) → A__PLUS(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(plus(pi(x0), y1)) → A__PLUS(a__pi(mark(x0)), mark(y1))
A__PLUS(s(from(x0)), y1) → A__PLUS(a__from(mark(x0)), mark(y1))
MARK(plus(from(x0), y1)) → A__PLUS(a__from(mark(x0)), mark(y1))
Used ordering: Polynomial interpretation [25]:
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(X) → A__FROM(0)
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
POL(0) = 1
POL(2ndsneg(x1, x2)) = 0
POL(2ndspos(x1, x2)) = 0
POL(A__2NDSNEG(x1, x2)) = x1
POL(A__2NDSPOS(x1, x2)) = x1
POL(A__FROM(x1)) = 1
POL(A__PI(x1)) = 1
POL(A__PLUS(x1, x2)) = x1
POL(A__SQUARE(x1)) = 1
POL(A__TIMES(x1, x2)) = 1
POL(MARK(x1)) = 1
POL(a__2ndsneg(x1, x2)) = 0
POL(a__2ndspos(x1, x2)) = 0
POL(a__from(x1)) = 0
POL(a__pi(x1)) = 0
POL(a__plus(x1, x2)) = 1
POL(a__square(x1)) = 1
POL(a__times(x1, x2)) = 1
POL(cons(x1, x2)) = 0
POL(cons2(x1, x2)) = 0
POL(from(x1)) = 0
POL(mark(x1)) = 1
POL(negrecip(x1)) = 0
POL(nil) = 0
POL(pi(x1)) = 0
POL(plus(x1, x2)) = 1
POL(posrecip(x1)) = 0
POL(rcons(x1, x2)) = x1
POL(rnil) = 0
POL(s(x1)) = 1
POL(square(x1)) = 0
POL(times(x1, x2)) = 0
a__from(X) → cons(mark(X), from(s(X)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
mark(pi(X)) → a__pi(mark(X))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(from(X)) → a__from(mark(X))
a__times(0, Y) → 0
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
mark(nil) → nil
mark(negrecip(X)) → negrecip(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(s(X)) → s(mark(X))
mark(0) → 0
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__plus(0, Y) → mark(Y)
mark(square(X)) → a__square(mark(X))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
a__square(X) → a__times(mark(X), mark(X))
a__times(X1, X2) → times(X1, X2)
a__plus(X1, X2) → plus(X1, X2)
a__square(X) → square(X)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
mark(rnil) → rnil
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__from(X) → from(X)
a__pi(X) → pi(X)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(times(x0, x1)) → A__2NDSPOS(a__times(mark(x0), mark(x1)), a__from(0))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
A__PI(X) → A__FROM(0)
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), from(0))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), from(0))
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → A__TIMES(mark(X), mark(Y))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__TIMES(s(cons2(x0, x1)), y1) → A__TIMES(cons2(x0, mark(x1)), mark(y1))
A__TIMES(s(nil), y1) → A__TIMES(nil, mark(y1))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(pi(x0)), y1) → A__TIMES(a__pi(mark(x0)), mark(y1))
A__TIMES(s(2ndsneg(x0, x1)), y1) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(0), y1) → A__TIMES(0, mark(y1))
A__TIMES(s(2ndspos(x0, x1)), y1) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(from(x0)), y1) → A__TIMES(a__from(mark(x0)), mark(y1))
A__TIMES(s(rcons(x0, x1)), y1) → A__TIMES(rcons(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(posrecip(x0)), y1) → A__TIMES(posrecip(mark(x0)), mark(y1))
A__TIMES(s(cons(x0, x1)), y1) → A__TIMES(cons(mark(x0), x1), mark(y1))
A__TIMES(s(negrecip(x0)), y1) → A__TIMES(negrecip(mark(x0)), mark(y1))
A__TIMES(s(rnil), y1) → A__TIMES(rnil, mark(y1))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(rcons(x0, x1)), y1) → A__TIMES(rcons(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(rnil), y1) → A__TIMES(rnil, mark(y1))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__TIMES(s(from(x0)), y1) → A__TIMES(a__from(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(negrecip(x0)), y1) → A__TIMES(negrecip(mark(x0)), mark(y1))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__TIMES(s(2ndsneg(x0, x1)), y1) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
A__PI(X) → A__FROM(0)
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(X1, X2)) → MARK(X2)
A__TIMES(s(0), y1) → A__TIMES(0, mark(y1))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__TIMES(s(nil), y1) → A__TIMES(nil, mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__TIMES(s(posrecip(x0)), y1) → A__TIMES(posrecip(mark(x0)), mark(y1))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__TIMES(s(2ndspos(x0, x1)), y1) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
A__TIMES(s(cons2(x0, x1)), y1) → A__TIMES(cons2(x0, mark(x1)), mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__TIMES(s(pi(x0)), y1) → A__TIMES(a__pi(mark(x0)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__TIMES(s(cons(x0, x1)), y1) → A__TIMES(cons(mark(x0), x1), mark(y1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
A__TIMES(s(from(x0)), y1) → A__TIMES(a__from(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__TIMES(s(2ndsneg(x0, x1)), y1) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__TIMES(s(2ndspos(x0, x1)), y1) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__TIMES(s(pi(x0)), y1) → A__TIMES(a__pi(mark(x0)), mark(y1))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
A__TIMES(s(from(x0)), y1) → A__TIMES(a__from(mark(x0)), mark(y1))
A__TIMES(s(2ndsneg(x0, x1)), y1) → A__TIMES(a__2ndsneg(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(2ndspos(x0, x1)), y1) → A__TIMES(a__2ndspos(mark(x0), mark(x1)), mark(y1))
A__TIMES(s(pi(x0)), y1) → A__TIMES(a__pi(mark(x0)), mark(y1))
Used ordering: Polynomial interpretation [25]:
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
POL(0) = 1
POL(2ndsneg(x1, x2)) = 0
POL(2ndspos(x1, x2)) = 0
POL(A__2NDSNEG(x1, x2)) = 1
POL(A__2NDSPOS(x1, x2)) = x1
POL(A__FROM(x1)) = 1
POL(A__PI(x1)) = 1
POL(A__PLUS(x1, x2)) = 1
POL(A__SQUARE(x1)) = 1
POL(A__TIMES(x1, x2)) = x1
POL(MARK(x1)) = 1
POL(a__2ndsneg(x1, x2)) = 0
POL(a__2ndspos(x1, x2)) = 0
POL(a__from(x1)) = 0
POL(a__pi(x1)) = 0
POL(a__plus(x1, x2)) = x1
POL(a__square(x1)) = 1
POL(a__times(x1, x2)) = x1
POL(cons(x1, x2)) = 0
POL(cons2(x1, x2)) = 0
POL(from(x1)) = 0
POL(mark(x1)) = 1
POL(negrecip(x1)) = 0
POL(nil) = 1
POL(pi(x1)) = 0
POL(plus(x1, x2)) = 0
POL(posrecip(x1)) = 0
POL(rcons(x1, x2)) = x1
POL(rnil) = 0
POL(s(x1)) = 1
POL(square(x1)) = 0
POL(times(x1, x2)) = 0
a__from(X) → cons(mark(X), from(s(X)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
mark(pi(X)) → a__pi(mark(X))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(from(X)) → a__from(mark(X))
a__times(0, Y) → 0
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
mark(nil) → nil
mark(negrecip(X)) → negrecip(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(s(X)) → s(mark(X))
mark(0) → 0
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__plus(0, Y) → mark(Y)
mark(square(X)) → a__square(mark(X))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
a__square(X) → a__times(mark(X), mark(X))
a__times(X1, X2) → times(X1, X2)
a__plus(X1, X2) → plus(X1, X2)
a__square(X) → square(X)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
mark(rnil) → rnil
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__from(X) → from(X)
a__pi(X) → pi(X)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → A__2NDSNEG(s(mark(N)), cons2(X, mark(Z)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
A__2NDSNEG(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__2NDSNEG(s(y0), cons(y1, nil)) → A__2NDSNEG(s(mark(y0)), cons2(y1, nil))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(y0), cons(y1, s(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, s(mark(x0))))
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(y0), cons(y1, pi(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSNEG(s(y0), cons(y1, 0)) → A__2NDSNEG(s(mark(y0)), cons2(y1, 0))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSNEG(s(y0), cons(y1, negrecip(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, negrecip(mark(x0))))
A__2NDSNEG(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSNEG(s(y0), cons(y1, posrecip(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, posrecip(mark(x0))))
A__2NDSNEG(s(y0), cons(y1, cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons2(x0, mark(x1))))
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__2NDSNEG(s(y0), cons(y1, rcons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, rcons(mark(x0), mark(x1))))
A__2NDSNEG(s(y0), cons(y1, rnil)) → A__2NDSNEG(s(mark(y0)), cons2(y1, rnil))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__2NDSNEG(s(y0), cons(y1, rcons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, rcons(mark(x0), mark(x1))))
A__2NDSNEG(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSNEG(s(y0), cons(y1, s(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, s(mark(x0))))
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, negrecip(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, negrecip(mark(x0))))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, nil)) → A__2NDSNEG(s(mark(y0)), cons2(y1, nil))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons2(x0, mark(x1))))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
A__PI(X) → A__FROM(0)
A__2NDSNEG(s(y0), cons(y1, pi(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__2NDSNEG(s(y0), cons(y1, 0)) → A__2NDSNEG(s(mark(y0)), cons2(y1, 0))
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__2NDSNEG(s(y0), cons(y1, rnil)) → A__2NDSNEG(s(mark(y0)), cons2(y1, rnil))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, posrecip(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, posrecip(mark(x0))))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__2NDSNEG(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → A__2NDSNEG(mark(N), mark(Z))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, pi(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
A__2NDSPOS(s(s(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(s(mark(x0)), mark(y3))
A__2NDSPOS(s(plus(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y3))
A__2NDSPOS(s(from(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__from(mark(x0)), mark(y3))
A__2NDSPOS(s(nil), cons2(y1, cons(y2, y3))) → A__2NDSNEG(nil, mark(y3))
A__2NDSPOS(s(0), cons2(y1, cons(y2, y3))) → A__2NDSNEG(0, mark(y3))
A__2NDSPOS(s(times(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y3))
A__2NDSPOS(s(2ndspos(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y3))
A__2NDSPOS(s(cons(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(cons(mark(x0), x1), mark(y3))
A__2NDSPOS(s(posrecip(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(posrecip(mark(x0)), mark(y3))
A__2NDSPOS(s(rnil), cons2(y1, cons(y2, y3))) → A__2NDSNEG(rnil, mark(y3))
A__2NDSPOS(s(2ndsneg(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y3))
A__2NDSPOS(s(negrecip(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(negrecip(mark(x0)), mark(y3))
A__2NDSPOS(s(square(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__square(mark(x0)), mark(y3))
A__2NDSPOS(s(pi(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__pi(mark(x0)), mark(y3))
A__2NDSPOS(s(rcons(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(rcons(mark(x0), mark(x1)), mark(y3))
A__2NDSPOS(s(cons2(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(cons2(x0, mark(x1)), mark(y3))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(nil), cons2(y1, cons(y2, y3))) → A__2NDSNEG(nil, mark(y3))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__2NDSPOS(s(s(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(s(mark(x0)), mark(y3))
A__2NDSNEG(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(0), cons2(y1, cons(y2, y3))) → A__2NDSNEG(0, mark(y3))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(plus(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y3))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(cons2(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(cons2(x0, mark(x1)), mark(y3))
A__2NDSPOS(s(rcons(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(rcons(mark(x0), mark(x1)), mark(y3))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
A__PI(X) → A__FROM(0)
A__2NDSNEG(s(y0), cons(y1, pi(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(2ndsneg(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y3))
A__2NDSPOS(s(negrecip(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(negrecip(mark(x0)), mark(y3))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(square(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__square(mark(x0)), mark(y3))
A__2NDSPOS(s(pi(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__pi(mark(x0)), mark(y3))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(times(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y3))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(2ndspos(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y3))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__2NDSPOS(s(cons(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(cons(mark(x0), x1), mark(y3))
A__2NDSPOS(s(posrecip(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(posrecip(mark(x0)), mark(y3))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(from(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__from(mark(x0)), mark(y3))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(rnil), cons2(y1, cons(y2, y3))) → A__2NDSNEG(rnil, mark(y3))
A__PLUS(0, Y) → MARK(Y)
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__2NDSPOS(s(s(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(s(mark(x0)), mark(y3))
A__2NDSNEG(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(plus(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y3))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, pi(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(2ndsneg(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y3))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(square(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__square(mark(x0)), mark(y3))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__2NDSPOS(s(pi(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__pi(mark(x0)), mark(y3))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(times(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y3))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__2NDSPOS(s(2ndspos(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y3))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSPOS(s(from(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__from(mark(x0)), mark(y3))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 0))) → A__2NDSNEG(s(mark(y0)), 0)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, s(x0)))) → A__2NDSNEG(s(mark(y0)), s(mark(x0)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, pi(x0)))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, rcons(x0, x1)))) → A__2NDSNEG(s(mark(y0)), rcons(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, posrecip(x0)))) → A__2NDSNEG(s(mark(y0)), posrecip(mark(x0)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, negrecip(x0)))) → A__2NDSNEG(s(mark(y0)), negrecip(mark(x0)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndsneg(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, rnil))) → A__2NDSNEG(s(mark(y0)), rnil)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndspos(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, nil))) → A__2NDSNEG(s(mark(y0)), nil)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__2NDSNEG(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, posrecip(x0)))) → A__2NDSNEG(s(mark(y0)), posrecip(mark(x0)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, s(x0)))) → A__2NDSNEG(s(mark(y0)), s(mark(x0)))
A__2NDSPOS(s(plus(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y3))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 0))) → A__2NDSNEG(s(mark(y0)), 0)
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
A__PI(X) → A__FROM(0)
A__2NDSNEG(s(y0), cons(y1, pi(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, negrecip(x0)))) → A__2NDSNEG(s(mark(y0)), negrecip(mark(x0)))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, rnil))) → A__2NDSNEG(s(mark(y0)), rnil)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndspos(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(2ndsneg(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y3))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, nil))) → A__2NDSNEG(s(mark(y0)), nil)
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndsneg(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(square(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__square(mark(x0)), mark(y3))
A__2NDSPOS(s(pi(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__pi(mark(x0)), mark(y3))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, pi(x0)))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(times(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y3))
A__2NDSPOS(s(2ndspos(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y3))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(from(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__from(mark(x0)), mark(y3))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, rcons(x0, x1)))) → A__2NDSNEG(s(mark(y0)), rcons(mark(x0), mark(x1)))
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__2NDSNEG(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(plus(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__plus(mark(x0), mark(x1)), mark(y3))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, pi(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndspos(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(2ndsneg(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y3))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndsneg(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(square(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__square(mark(x0)), mark(y3))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__2NDSPOS(s(pi(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__pi(mark(x0)), mark(y3))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, pi(x0)))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(times(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y3))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(2ndspos(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y3))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSPOS(s(from(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__from(mark(x0)), mark(y3))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, rnil))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), rnil)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, pi(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 2ndspos(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), 0)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, s(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), s(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, negrecip(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), negrecip(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, posrecip(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), posrecip(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, rcons(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, nil))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), nil)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 2ndspos(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, negrecip(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), negrecip(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__2NDSNEG(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, rnil))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), rnil)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), 0)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, s(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), s(mark(x0)))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
A__PI(X) → A__FROM(0)
A__2NDSNEG(s(y0), cons(y1, pi(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, nil))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), nil)
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndspos(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(2ndsneg(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y3))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndsneg(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(square(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__square(mark(x0)), mark(y3))
A__2NDSPOS(s(pi(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__pi(mark(x0)), mark(y3))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, rcons(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, pi(x0)))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(times(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y3))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__2NDSPOS(s(2ndspos(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y3))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, pi(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(from(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__from(mark(x0)), mark(y3))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(0, Y) → MARK(Y)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, posrecip(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), posrecip(mark(x0)))
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 2ndspos(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__2NDSNEG(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, pi(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndspos(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(2ndsneg(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y3))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndsneg(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(square(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__square(mark(x0)), mark(y3))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__2NDSPOS(s(pi(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__pi(mark(x0)), mark(y3))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, pi(x0)))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(times(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y3))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(2ndspos(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y3))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, pi(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSPOS(s(from(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__from(mark(x0)), mark(y3))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, negrecip(x0)))) → A__2NDSNEG(a__from(mark(y0)), negrecip(mark(x0)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, rnil))) → A__2NDSNEG(a__from(mark(y0)), rnil)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, 2ndspos(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, rcons(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), rcons(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, s(x0)))) → A__2NDSNEG(a__from(mark(y0)), s(mark(x0)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, 0))) → A__2NDSNEG(a__from(mark(y0)), 0)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, posrecip(x0)))) → A__2NDSNEG(a__from(mark(y0)), posrecip(mark(x0)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, pi(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, nil))) → A__2NDSNEG(a__from(mark(y0)), nil)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 2ndspos(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, rcons(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), rcons(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__2NDSNEG(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, s(x0)))) → A__2NDSNEG(a__from(mark(y0)), s(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, rnil))) → A__2NDSNEG(a__from(mark(y0)), rnil)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
A__PI(X) → A__FROM(0)
A__2NDSNEG(s(y0), cons(y1, pi(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndspos(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(2ndsneg(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y3))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, 2ndspos(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndsneg(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(square(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__square(mark(x0)), mark(y3))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, pi(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSPOS(s(pi(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__pi(mark(x0)), mark(y3))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, pi(x0)))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(times(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y3))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__2NDSPOS(s(2ndspos(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y3))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, 0))) → A__2NDSNEG(a__from(mark(y0)), 0)
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, nil))) → A__2NDSNEG(a__from(mark(y0)), nil)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, pi(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(0, Y) → MARK(Y)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, negrecip(x0)))) → A__2NDSNEG(a__from(mark(y0)), negrecip(mark(x0)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, posrecip(x0)))) → A__2NDSNEG(a__from(mark(y0)), posrecip(mark(x0)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 2ndspos(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__2NDSNEG(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, pi(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndspos(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(2ndsneg(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y3))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(X1, X2)) → MARK(X2)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, 2ndspos(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndsneg(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(square(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__square(mark(x0)), mark(y3))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, pi(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__2NDSPOS(s(pi(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__pi(mark(x0)), mark(y3))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, pi(x0)))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(times(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__times(mark(x0), mark(x1)), mark(y3))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(2ndspos(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y3))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, pi(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
A__PLUS(0, Y) → MARK(Y)
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, rcons(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, rnil))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), rnil)
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, posrecip(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), posrecip(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, 2ndspos(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, negrecip(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), negrecip(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, 0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), 0)
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, pi(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, nil))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), nil)
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, s(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), s(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 2ndspos(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, 2ndspos(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__2NDSNEG(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
A__PI(X) → A__FROM(0)
A__2NDSNEG(s(y0), cons(y1, pi(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, 0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), 0)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, pi(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndspos(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(2ndsneg(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y3))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, nil))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), nil)
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, rcons(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, rnil))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), rnil)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, 2ndspos(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndsneg(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, posrecip(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), posrecip(mark(x0)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(square(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__square(mark(x0)), mark(y3))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, pi(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSPOS(s(pi(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__pi(mark(x0)), mark(y3))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, pi(x0)))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__2NDSPOS(s(2ndspos(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y3))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, s(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), s(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, pi(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, negrecip(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), negrecip(mark(x0)))
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 2ndspos(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, 2ndspos(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__2NDSNEG(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, pi(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, pi(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndspos(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(2ndsneg(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y3))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(X1, X2)) → MARK(X2)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, 2ndspos(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndsneg(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(square(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__square(mark(x0)), mark(y3))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, pi(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__2NDSPOS(s(pi(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__pi(mark(x0)), mark(y3))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, pi(x0)))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(2ndspos(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndspos(mark(x0), mark(x1)), mark(y3))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, pi(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
A__PLUS(0, Y) → MARK(Y)
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(posrecip(X)) → MARK(X)
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, rnil))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), rnil)
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, nil))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), nil)
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, s(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), s(mark(x0)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, 0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), 0)
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, posrecip(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), posrecip(mark(x0)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, 2ndspos(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, pi(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, negrecip(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), negrecip(mark(x0)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, rcons(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 2ndspos(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, 0))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), 0)
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, posrecip(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), posrecip(mark(x0)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, negrecip(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), negrecip(mark(x0)))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, 2ndspos(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, rnil))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), rnil)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, nil))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), nil)
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(pi(X)) → MARK(X)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, s(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), s(mark(x0)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(from(X)) → A__FROM(mark(X))
A__PI(X) → A__FROM(0)
A__2NDSNEG(s(y0), cons(y1, pi(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, pi(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, rcons(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), rcons(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__PI(X) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndspos(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(2ndsneg(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y3))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__TIMES(s(X), Y) → MARK(X)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(times(X1, X2)) → MARK(X2)
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, 2ndspos(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndsneg(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(square(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__square(mark(x0)), mark(y3))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, pi(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSPOS(s(pi(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__pi(mark(x0)), mark(y3))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, pi(x0)))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, pi(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, 2ndspos(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, pi(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(0, Y) → MARK(Y)
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(posrecip(X)) → MARK(X)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 2ndspos(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, 2ndspos(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__2NDSNEG(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, pi(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, pi(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndspos(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(2ndsneg(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y3))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(X1, X2)) → MARK(X2)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, 2ndspos(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndsneg(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(square(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__square(mark(x0)), mark(y3))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, pi(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__2NDSPOS(s(pi(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__pi(mark(x0)), mark(y3))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, pi(x0)))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, pi(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, 2ndspos(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, pi(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
A__PLUS(0, Y) → MARK(Y)
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(posrecip(X)) → MARK(X)
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 2ndspos(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, 2ndspos(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, pi(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndspos(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, 2ndspos(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, 2ndsneg(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, pi(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__pi(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, pi(x0)))) → A__2NDSNEG(s(mark(y0)), a__pi(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, pi(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, 2ndspos(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__2ndspos(mark(x0), mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, pi(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__pi(mark(x0)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__2ndsneg(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, 2ndsneg(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__2ndsneg(mark(x0), mark(x1)))
Used ordering: Polynomial interpretation [25]:
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__2NDSNEG(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, pi(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(2ndsneg(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y3))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(X1, X2)) → MARK(X2)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(square(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__square(mark(x0)), mark(y3))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__2NDSPOS(s(pi(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__pi(mark(x0)), mark(y3))
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
A__PLUS(0, Y) → MARK(Y)
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
POL(0) = 0
POL(2ndsneg(x1, x2)) = 0
POL(2ndspos(x1, x2)) = 0
POL(A__2NDSNEG(x1, x2)) = x2
POL(A__2NDSPOS(x1, x2)) = x2
POL(A__FROM(x1)) = 1
POL(A__PI(x1)) = 1
POL(A__PLUS(x1, x2)) = 1
POL(A__SQUARE(x1)) = 1
POL(A__TIMES(x1, x2)) = 1
POL(MARK(x1)) = 1
POL(a__2ndsneg(x1, x2)) = 0
POL(a__2ndspos(x1, x2)) = 0
POL(a__from(x1)) = 1
POL(a__pi(x1)) = 0
POL(a__plus(x1, x2)) = 1
POL(a__square(x1)) = 1
POL(a__times(x1, x2)) = 1
POL(cons(x1, x2)) = 1
POL(cons2(x1, x2)) = 1
POL(from(x1)) = 0
POL(mark(x1)) = 1
POL(negrecip(x1)) = x1
POL(nil) = 1
POL(pi(x1)) = 0
POL(plus(x1, x2)) = 0
POL(posrecip(x1)) = 0
POL(rcons(x1, x2)) = 0
POL(rnil) = 0
POL(s(x1)) = 0
POL(square(x1)) = 1
POL(times(x1, x2)) = 0
a__from(X) → cons(mark(X), from(s(X)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
mark(pi(X)) → a__pi(mark(X))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(from(X)) → a__from(mark(X))
a__times(0, Y) → 0
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
mark(nil) → nil
mark(negrecip(X)) → negrecip(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(s(X)) → s(mark(X))
mark(0) → 0
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__plus(0, Y) → mark(Y)
mark(square(X)) → a__square(mark(X))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
a__square(X) → a__times(mark(X), mark(X))
a__times(X1, X2) → times(X1, X2)
a__plus(X1, X2) → plus(X1, X2)
a__square(X) → square(X)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
mark(rnil) → rnil
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__from(X) → from(X)
a__pi(X) → pi(X)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__2NDSNEG(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, pi(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(2ndsneg(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y3))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(X1, X2)) → MARK(X2)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(square(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__square(mark(x0)), mark(y3))
A__2NDSPOS(s(pi(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__pi(mark(x0)), mark(y3))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(0, Y) → MARK(Y)
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(posrecip(X)) → MARK(X)
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__from(mark(x0)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(a__from(mark(y0)), a__from(mark(x0)))
A__2NDSPOS(s(2ndsneg(x0, x1)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__2ndsneg(mark(x0), mark(x1)), mark(y3))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(pi(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__pi(mark(x0)), mark(y3))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(2ndspos(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__2ndspos(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(from(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(a__from(mark(y0)), cons(mark(x0), x1))
Used ordering: Polynomial interpretation [25]:
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__2NDSNEG(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, pi(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(square(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__square(mark(x0)), mark(y3))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
POL(0) = 1
POL(2ndsneg(x1, x2)) = 0
POL(2ndspos(x1, x2)) = 0
POL(A__2NDSNEG(x1, x2)) = x1
POL(A__2NDSPOS(x1, x2)) = 1
POL(A__FROM(x1)) = 1
POL(A__PI(x1)) = 1
POL(A__PLUS(x1, x2)) = 1
POL(A__SQUARE(x1)) = 1
POL(A__TIMES(x1, x2)) = 1
POL(MARK(x1)) = 1
POL(a__2ndsneg(x1, x2)) = 0
POL(a__2ndspos(x1, x2)) = 0
POL(a__from(x1)) = 0
POL(a__pi(x1)) = 0
POL(a__plus(x1, x2)) = x1
POL(a__square(x1)) = 1
POL(a__times(x1, x2)) = 1
POL(cons(x1, x2)) = 0
POL(cons2(x1, x2)) = 0
POL(from(x1)) = 0
POL(mark(x1)) = 1
POL(negrecip(x1)) = 0
POL(nil) = 1
POL(pi(x1)) = 0
POL(plus(x1, x2)) = 0
POL(posrecip(x1)) = 0
POL(rcons(x1, x2)) = x1
POL(rnil) = 0
POL(s(x1)) = 1
POL(square(x1)) = 0
POL(times(x1, x2)) = 1
a__from(X) → cons(mark(X), from(s(X)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
mark(pi(X)) → a__pi(mark(X))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(from(X)) → a__from(mark(X))
a__times(0, Y) → 0
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
mark(nil) → nil
mark(negrecip(X)) → negrecip(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(s(X)) → s(mark(X))
mark(0) → 0
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__plus(0, Y) → mark(Y)
mark(square(X)) → a__square(mark(X))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
a__square(X) → a__times(mark(X), mark(X))
a__times(X1, X2) → times(X1, X2)
a__plus(X1, X2) → plus(X1, X2)
a__square(X) → square(X)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
mark(rnil) → rnil
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__from(X) → from(X)
a__pi(X) → pi(X)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__2NDSNEG(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, pi(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(square(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__square(mark(x0)), mark(y3))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
A__2NDSNEG(s(y0), cons(y1, 2ndsneg(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndsneg(mark(x0), mark(x1))))
A__2NDSNEG(s(y0), cons(y1, 2ndspos(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__2ndspos(mark(x0), mark(x1))))
A__2NDSNEG(s(y0), cons(y1, pi(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__pi(mark(x0))))
Used ordering: Polynomial interpretation [25]:
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(2ndspos(X1, X2)) → MARK(X1)
MARK(s(X)) → MARK(X)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(square(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__square(mark(x0)), mark(y3))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
MARK(rcons(X1, X2)) → MARK(X2)
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__PLUS(s(X), Y) → MARK(X)
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
A__PLUS(0, Y) → MARK(Y)
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
POL(0) = 0
POL(2ndsneg(x1, x2)) = 0
POL(2ndspos(x1, x2)) = 0
POL(A__2NDSNEG(x1, x2)) = x2
POL(A__2NDSPOS(x1, x2)) = 1
POL(A__FROM(x1)) = 1
POL(A__PI(x1)) = 1
POL(A__PLUS(x1, x2)) = 1
POL(A__SQUARE(x1)) = 1
POL(A__TIMES(x1, x2)) = 1
POL(MARK(x1)) = 1
POL(a__2ndsneg(x1, x2)) = 0
POL(a__2ndspos(x1, x2)) = 0
POL(a__from(x1)) = 1
POL(a__pi(x1)) = 0
POL(a__plus(x1, x2)) = 1
POL(a__square(x1)) = 1
POL(a__times(x1, x2)) = 1
POL(cons(x1, x2)) = 1
POL(cons2(x1, x2)) = x2
POL(from(x1)) = 1
POL(mark(x1)) = 1
POL(negrecip(x1)) = 0
POL(nil) = 0
POL(pi(x1)) = 0
POL(plus(x1, x2)) = 1
POL(posrecip(x1)) = 1
POL(rcons(x1, x2)) = x2
POL(rnil) = 0
POL(s(x1)) = 0
POL(square(x1)) = 0
POL(times(x1, x2)) = 0
a__from(X) → cons(mark(X), from(s(X)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
mark(pi(X)) → a__pi(mark(X))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(from(X)) → a__from(mark(X))
a__times(0, Y) → 0
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
mark(nil) → nil
mark(negrecip(X)) → negrecip(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(s(X)) → s(mark(X))
mark(0) → 0
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__plus(0, Y) → mark(Y)
mark(square(X)) → a__square(mark(X))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
a__square(X) → a__times(mark(X), mark(X))
a__times(X1, X2) → times(X1, X2)
a__plus(X1, X2) → plus(X1, X2)
a__square(X) → square(X)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
mark(rnil) → rnil
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__from(X) → from(X)
a__pi(X) → pi(X)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), plus(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(plus(y0, y1), square(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(s(y0), square(x0))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
MARK(2ndspos(X1, X2)) → MARK(X2)
MARK(times(times(x0, x1), y1)) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(plus(plus(x0, x1), y1)) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(s(y0), from(x0))) → A__2NDSPOS(s(mark(y0)), a__from(mark(x0)))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(Z)
A__TIMES(s(X), Y) → MARK(Y)
A__2NDSPOS(s(y0), cons(y1, plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons(X, Z)) → MARK(N)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, square(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(times(y0, y1), times(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, plus(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), times(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__TIMES(s(X), Y) → A__PLUS(mark(Y), a__times(mark(X), mark(Y)))
MARK(2ndspos(square(y0), cons2(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons2(x0, mark(x1)))
MARK(plus(square(x0), y1)) → A__PLUS(a__square(mark(x0)), mark(y1))
MARK(plus(s(x0), y1)) → A__PLUS(s(mark(x0)), mark(y1))
A__PI(plus(x0, x1)) → A__2NDSPOS(a__plus(mark(x0), mark(x1)), a__from(0))
MARK(2ndspos(square(y0), cons(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndsneg(times(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__PI(times(y0, y1)) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(0), from(s(0))))
MARK(cons2(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), cons2(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons2(x0, mark(x1)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(s(X)) → MARK(X)
MARK(2ndspos(X1, X2)) → MARK(X1)
A__PLUS(s(square(x0)), y1) → A__PLUS(a__square(mark(x0)), mark(y1))
A__TIMES(s(square(x0)), y1) → A__TIMES(a__square(mark(x0)), mark(y1))
MARK(2ndsneg(square(y0), plus(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__plus(mark(x0), mark(x1)))
MARK(2ndsneg(plus(y0, y1), square(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__square(mark(x0)))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, plus(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(pi(X)) → MARK(X)
MARK(2ndsneg(s(y0), from(x0))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X2)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(Z)
MARK(pi(X)) → A__PI(mark(X))
MARK(2ndsneg(times(y0, y1), from(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(times(y0, y1), square(x0))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndsneg(square(y0), times(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(2ndspos(times(y0, y1), cons2(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X2)
MARK(2ndsneg(square(y0), from(x0))) → A__2NDSNEG(a__square(mark(y0)), a__from(mark(x0)))
A__TIMES(s(times(x0, x1)), y1) → A__TIMES(a__times(mark(x0), mark(x1)), mark(y1))
MARK(2ndspos(times(y0, y1), square(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__square(mark(x0)))
MARK(2ndspos(square(y0), times(x0, x1))) → A__2NDSPOS(a__square(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(s(y0), cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons(mark(x0), x1))
MARK(times(square(x0), y1)) → A__TIMES(a__square(mark(x0)), mark(y1))
A__2NDSNEG(s(y0), cons(y1, from(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__PI(X) → A__FROM(0)
MARK(from(X)) → A__FROM(mark(X))
MARK(2ndspos(s(y0), plus(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, from(x0)))) → A__2NDSNEG(s(mark(y0)), a__from(mark(x0)))
MARK(plus(X1, X2)) → MARK(X1)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, square(x0)))) → A__2NDSNEG(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(y0), cons(y1, times(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, times(x0, x1)))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
A__PI(X) → MARK(X)
MARK(2ndspos(s(y0), cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons(mark(x0), x1))
MARK(times(s(x0), y1)) → A__TIMES(s(mark(x0)), mark(y1))
MARK(2ndsneg(plus(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__PLUS(s(X), Y) → MARK(Y)
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__TIMES(s(X), Y) → MARK(X)
A__TIMES(s(s(x0)), y1) → A__TIMES(s(mark(x0)), mark(y1))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(2ndsneg(s(y0), cons2(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, times(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__times(mark(x0), mark(x1))))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(N)
MARK(cons(X1, X2)) → MARK(X1)
MARK(2ndsneg(plus(y0, y1), from(x0))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), cons(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(times(X1, X2)) → MARK(X2)
A__PI(square(x0)) → A__2NDSPOS(a__square(mark(x0)), a__from(0))
MARK(2ndsneg(square(y0), cons(x0, x1))) → A__2NDSNEG(a__square(mark(y0)), cons(mark(x0), x1))
MARK(2ndspos(plus(y0, y1), times(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(times(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(s(y0), times(x0, x1))) → A__2NDSPOS(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(X1, X2)) → MARK(X1)
MARK(2ndsneg(square(y0), square(x0))) → A__2NDSNEG(a__square(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(square(x0)), cons2(y1, cons(y2, y3))) → A__2NDSNEG(a__square(mark(x0)), mark(y3))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
MARK(rcons(X1, X2)) → MARK(X1)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
MARK(square(X)) → MARK(X)
A__2NDSPOS(s(s(y0)), cons2(y1, cons(y2, cons2(x0, x1)))) → A__2NDSNEG(s(mark(y0)), cons2(x0, mark(x1)))
A__PI(s(x0)) → A__2NDSPOS(s(mark(x0)), a__from(0))
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → MARK(Y)
A__FROM(X) → MARK(X)
MARK(times(plus(x0, x1), y1)) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(2ndsneg(s(y0), plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__plus(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, cons(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__2NDSPOS(s(y0), cons(y1, from(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__from(mark(x0))))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons(mark(x0), x1))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
MARK(rcons(X1, X2)) → MARK(X2)
MARK(2ndspos(s(y0), square(x0))) → A__2NDSPOS(s(mark(y0)), a__square(mark(x0)))
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, cons2(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons2(x0, mark(x1)))
MARK(2ndspos(s(y0), cons2(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(x0, mark(x1)))
A__2NDSNEG(s(y0), cons(y1, plus(x0, x1))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__plus(mark(x0), mark(x1))))
MARK(2ndsneg(plus(y0, y1), cons2(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), cons2(x0, mark(x1)))
A__2NDSPOS(s(y0), cons(y1, cons(x0, x1))) → A__2NDSPOS(s(mark(y0)), cons2(y1, cons(mark(x0), x1)))
A__PLUS(s(X), Y) → MARK(X)
MARK(times(X1, X2)) → MARK(X1)
A__TIMES(s(plus(x0, x1)), y1) → A__TIMES(a__plus(mark(x0), mark(x1)), mark(y1))
MARK(plus(times(x0, x1), y1)) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__SQUARE(X) → MARK(X)
A__2NDSPOS(s(N), cons(X, Z)) → MARK(N)
MARK(negrecip(X)) → MARK(X)
A__2NDSPOS(s(times(y0, y1)), cons2(y2, cons(y3, times(x0, x1)))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
A__2NDSNEG(s(y0), cons(y1, square(x0))) → A__2NDSNEG(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(0, Y) → MARK(Y)
MARK(posrecip(X)) → MARK(X)
MARK(2ndspos(square(y0), from(x0))) → A__2NDSPOS(a__square(mark(y0)), a__from(mark(x0)))
MARK(2ndspos(times(y0, y1), from(x0))) → A__2NDSPOS(a__times(mark(y0), mark(y1)), a__from(mark(x0)))
A__PLUS(s(times(x0, x1)), y1) → A__PLUS(a__times(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(y0), cons(y1, square(x0))) → A__2NDSPOS(s(mark(y0)), cons2(y1, a__square(mark(x0))))
A__PLUS(s(0), y1) → A__PLUS(0, mark(y1))
MARK(plus(0, y1)) → A__PLUS(0, mark(y1))
MARK(from(X)) → MARK(X)
MARK(2ndsneg(s(y0), times(x0, x1))) → A__2NDSNEG(s(mark(y0)), a__times(mark(x0), mark(x1)))
MARK(2ndspos(square(y0), square(x0))) → A__2NDSPOS(a__square(mark(y0)), a__square(mark(x0)))
A__SQUARE(X) → A__TIMES(mark(X), mark(X))
A__PLUS(s(plus(x0, x1)), y1) → A__PLUS(a__plus(mark(x0), mark(x1)), mark(y1))
A__2NDSPOS(s(plus(y0, y1)), cons2(y2, cons(y3, from(x0)))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
A__2NDSPOS(s(N), cons2(X, cons(Y, Z))) → MARK(Z)
A__2NDSNEG(s(N), cons2(X, cons(Y, Z))) → A__2NDSPOS(mark(N), mark(Z))
MARK(2ndsneg(plus(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(square(X)) → A__SQUARE(mark(X))
MARK(2ndspos(plus(y0, y1), from(x0))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__from(mark(x0)))
MARK(2ndsneg(plus(y0, y1), times(x0, x1))) → A__2NDSNEG(a__plus(mark(y0), mark(y1)), a__times(mark(x0), mark(x1)))
MARK(2ndsneg(times(y0, y1), plus(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
MARK(2ndspos(plus(y0, y1), plus(x0, x1))) → A__2NDSPOS(a__plus(mark(y0), mark(y1)), a__plus(mark(x0), mark(x1)))
A__PLUS(s(s(x0)), y1) → A__PLUS(s(mark(x0)), mark(y1))
MARK(2ndsneg(times(y0, y1), cons(x0, x1))) → A__2NDSNEG(a__times(mark(y0), mark(y1)), cons(mark(x0), x1))
a__from(X) → cons(mark(X), from(s(X)))
a__2ndspos(0, Z) → rnil
a__2ndspos(s(N), cons(X, Z)) → a__2ndspos(s(mark(N)), cons2(X, mark(Z)))
a__2ndspos(s(N), cons2(X, cons(Y, Z))) → rcons(posrecip(mark(Y)), a__2ndsneg(mark(N), mark(Z)))
a__2ndsneg(0, Z) → rnil
a__2ndsneg(s(N), cons(X, Z)) → a__2ndsneg(s(mark(N)), cons2(X, mark(Z)))
a__2ndsneg(s(N), cons2(X, cons(Y, Z))) → rcons(negrecip(mark(Y)), a__2ndspos(mark(N), mark(Z)))
a__pi(X) → a__2ndspos(mark(X), a__from(0))
a__plus(0, Y) → mark(Y)
a__plus(s(X), Y) → s(a__plus(mark(X), mark(Y)))
a__times(0, Y) → 0
a__times(s(X), Y) → a__plus(mark(Y), a__times(mark(X), mark(Y)))
a__square(X) → a__times(mark(X), mark(X))
mark(from(X)) → a__from(mark(X))
mark(2ndspos(X1, X2)) → a__2ndspos(mark(X1), mark(X2))
mark(2ndsneg(X1, X2)) → a__2ndsneg(mark(X1), mark(X2))
mark(pi(X)) → a__pi(mark(X))
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(times(X1, X2)) → a__times(mark(X1), mark(X2))
mark(square(X)) → a__square(mark(X))
mark(0) → 0
mark(s(X)) → s(mark(X))
mark(posrecip(X)) → posrecip(mark(X))
mark(negrecip(X)) → negrecip(mark(X))
mark(nil) → nil
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(cons2(X1, X2)) → cons2(X1, mark(X2))
mark(rnil) → rnil
mark(rcons(X1, X2)) → rcons(mark(X1), mark(X2))
a__from(X) → from(X)
a__2ndspos(X1, X2) → 2ndspos(X1, X2)
a__2ndsneg(X1, X2) → 2ndsneg(X1, X2)
a__pi(X) → pi(X)
a__plus(X1, X2) → plus(X1, X2)
a__times(X1, X2) → times(X1, X2)
a__square(X) → square(X)