MAYBE

Problem:
 active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
 active(sqr(0())) -> mark(0())
 active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
 active(dbl(0())) -> mark(0())
 active(dbl(s(X))) -> mark(s(s(dbl(X))))
 active(add(0(),X)) -> mark(X)
 active(add(s(X),Y)) -> mark(s(add(X,Y)))
 active(first(0(),X)) -> mark(nil())
 active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
 active(terms(X)) -> terms(active(X))
 active(cons(X1,X2)) -> cons(active(X1),X2)
 active(recip(X)) -> recip(active(X))
 active(sqr(X)) -> sqr(active(X))
 active(s(X)) -> s(active(X))
 active(add(X1,X2)) -> add(active(X1),X2)
 active(add(X1,X2)) -> add(X1,active(X2))
 active(dbl(X)) -> dbl(active(X))
 active(first(X1,X2)) -> first(active(X1),X2)
 active(first(X1,X2)) -> first(X1,active(X2))
 terms(mark(X)) -> mark(terms(X))
 cons(mark(X1),X2) -> mark(cons(X1,X2))
 recip(mark(X)) -> mark(recip(X))
 sqr(mark(X)) -> mark(sqr(X))
 s(mark(X)) -> mark(s(X))
 add(mark(X1),X2) -> mark(add(X1,X2))
 add(X1,mark(X2)) -> mark(add(X1,X2))
 dbl(mark(X)) -> mark(dbl(X))
 first(mark(X1),X2) -> mark(first(X1,X2))
 first(X1,mark(X2)) -> mark(first(X1,X2))
 proper(terms(X)) -> terms(proper(X))
 proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
 proper(recip(X)) -> recip(proper(X))
 proper(sqr(X)) -> sqr(proper(X))
 proper(s(X)) -> s(proper(X))
 proper(0()) -> ok(0())
 proper(add(X1,X2)) -> add(proper(X1),proper(X2))
 proper(dbl(X)) -> dbl(proper(X))
 proper(first(X1,X2)) -> first(proper(X1),proper(X2))
 proper(nil()) -> ok(nil())
 terms(ok(X)) -> ok(terms(X))
 cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
 recip(ok(X)) -> ok(recip(X))
 sqr(ok(X)) -> ok(sqr(X))
 s(ok(X)) -> ok(s(X))
 add(ok(X1),ok(X2)) -> ok(add(X1,X2))
 dbl(ok(X)) -> ok(dbl(X))
 first(ok(X1),ok(X2)) -> ok(first(X1,X2))
 top(mark(X)) -> top(proper(X))
 top(ok(X)) -> top(active(X))

Proof:
 DP Processor:
  DPs:
   active#(terms(N)) -> s#(N)
   active#(terms(N)) -> terms#(s(N))
   active#(terms(N)) -> sqr#(N)
   active#(terms(N)) -> recip#(sqr(N))
   active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
   active#(sqr(s(X))) -> dbl#(X)
   active#(sqr(s(X))) -> sqr#(X)
   active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
   active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
   active#(dbl(s(X))) -> dbl#(X)
   active#(dbl(s(X))) -> s#(dbl(X))
   active#(dbl(s(X))) -> s#(s(dbl(X)))
   active#(add(s(X),Y)) -> add#(X,Y)
   active#(add(s(X),Y)) -> s#(add(X,Y))
   active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
   active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
   active#(terms(X)) -> active#(X)
   active#(terms(X)) -> terms#(active(X))
   active#(cons(X1,X2)) -> active#(X1)
   active#(cons(X1,X2)) -> cons#(active(X1),X2)
   active#(recip(X)) -> active#(X)
   active#(recip(X)) -> recip#(active(X))
   active#(sqr(X)) -> active#(X)
   active#(sqr(X)) -> sqr#(active(X))
   active#(s(X)) -> active#(X)
   active#(s(X)) -> s#(active(X))
   active#(add(X1,X2)) -> active#(X1)
   active#(add(X1,X2)) -> add#(active(X1),X2)
   active#(add(X1,X2)) -> active#(X2)
   active#(add(X1,X2)) -> add#(X1,active(X2))
   active#(dbl(X)) -> active#(X)
   active#(dbl(X)) -> dbl#(active(X))
   active#(first(X1,X2)) -> active#(X1)
   active#(first(X1,X2)) -> first#(active(X1),X2)
   active#(first(X1,X2)) -> active#(X2)
   active#(first(X1,X2)) -> first#(X1,active(X2))
   terms#(mark(X)) -> terms#(X)
   cons#(mark(X1),X2) -> cons#(X1,X2)
   recip#(mark(X)) -> recip#(X)
   sqr#(mark(X)) -> sqr#(X)
   s#(mark(X)) -> s#(X)
   add#(mark(X1),X2) -> add#(X1,X2)
   add#(X1,mark(X2)) -> add#(X1,X2)
   dbl#(mark(X)) -> dbl#(X)
   first#(mark(X1),X2) -> first#(X1,X2)
   first#(X1,mark(X2)) -> first#(X1,X2)
   proper#(terms(X)) -> proper#(X)
   proper#(terms(X)) -> terms#(proper(X))
   proper#(cons(X1,X2)) -> proper#(X2)
   proper#(cons(X1,X2)) -> proper#(X1)
   proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
   proper#(recip(X)) -> proper#(X)
   proper#(recip(X)) -> recip#(proper(X))
   proper#(sqr(X)) -> proper#(X)
   proper#(sqr(X)) -> sqr#(proper(X))
   proper#(s(X)) -> proper#(X)
   proper#(s(X)) -> s#(proper(X))
   proper#(add(X1,X2)) -> proper#(X2)
   proper#(add(X1,X2)) -> proper#(X1)
   proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
   proper#(dbl(X)) -> proper#(X)
   proper#(dbl(X)) -> dbl#(proper(X))
   proper#(first(X1,X2)) -> proper#(X2)
   proper#(first(X1,X2)) -> proper#(X1)
   proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
   terms#(ok(X)) -> terms#(X)
   cons#(ok(X1),ok(X2)) -> cons#(X1,X2)
   recip#(ok(X)) -> recip#(X)
   sqr#(ok(X)) -> sqr#(X)
   s#(ok(X)) -> s#(X)
   add#(ok(X1),ok(X2)) -> add#(X1,X2)
   dbl#(ok(X)) -> dbl#(X)
   first#(ok(X1),ok(X2)) -> first#(X1,X2)
   top#(mark(X)) -> proper#(X)
   top#(mark(X)) -> top#(proper(X))
   top#(ok(X)) -> active#(X)
   top#(ok(X)) -> top#(active(X))
  TRS:
   active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
   active(sqr(0())) -> mark(0())
   active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
   active(dbl(0())) -> mark(0())
   active(dbl(s(X))) -> mark(s(s(dbl(X))))
   active(add(0(),X)) -> mark(X)
   active(add(s(X),Y)) -> mark(s(add(X,Y)))
   active(first(0(),X)) -> mark(nil())
   active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
   active(terms(X)) -> terms(active(X))
   active(cons(X1,X2)) -> cons(active(X1),X2)
   active(recip(X)) -> recip(active(X))
   active(sqr(X)) -> sqr(active(X))
   active(s(X)) -> s(active(X))
   active(add(X1,X2)) -> add(active(X1),X2)
   active(add(X1,X2)) -> add(X1,active(X2))
   active(dbl(X)) -> dbl(active(X))
   active(first(X1,X2)) -> first(active(X1),X2)
   active(first(X1,X2)) -> first(X1,active(X2))
   terms(mark(X)) -> mark(terms(X))
   cons(mark(X1),X2) -> mark(cons(X1,X2))
   recip(mark(X)) -> mark(recip(X))
   sqr(mark(X)) -> mark(sqr(X))
   s(mark(X)) -> mark(s(X))
   add(mark(X1),X2) -> mark(add(X1,X2))
   add(X1,mark(X2)) -> mark(add(X1,X2))
   dbl(mark(X)) -> mark(dbl(X))
   first(mark(X1),X2) -> mark(first(X1,X2))
   first(X1,mark(X2)) -> mark(first(X1,X2))
   proper(terms(X)) -> terms(proper(X))
   proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
   proper(recip(X)) -> recip(proper(X))
   proper(sqr(X)) -> sqr(proper(X))
   proper(s(X)) -> s(proper(X))
   proper(0()) -> ok(0())
   proper(add(X1,X2)) -> add(proper(X1),proper(X2))
   proper(dbl(X)) -> dbl(proper(X))
   proper(first(X1,X2)) -> first(proper(X1),proper(X2))
   proper(nil()) -> ok(nil())
   terms(ok(X)) -> ok(terms(X))
   cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
   recip(ok(X)) -> ok(recip(X))
   sqr(ok(X)) -> ok(sqr(X))
   s(ok(X)) -> ok(s(X))
   add(ok(X1),ok(X2)) -> ok(add(X1,X2))
   dbl(ok(X)) -> ok(dbl(X))
   first(ok(X1),ok(X2)) -> ok(first(X1,X2))
   top(mark(X)) -> top(proper(X))
   top(ok(X)) -> top(active(X))
  TDG Processor:
   DPs:
    active#(terms(N)) -> s#(N)
    active#(terms(N)) -> terms#(s(N))
    active#(terms(N)) -> sqr#(N)
    active#(terms(N)) -> recip#(sqr(N))
    active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
    active#(sqr(s(X))) -> dbl#(X)
    active#(sqr(s(X))) -> sqr#(X)
    active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
    active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
    active#(dbl(s(X))) -> dbl#(X)
    active#(dbl(s(X))) -> s#(dbl(X))
    active#(dbl(s(X))) -> s#(s(dbl(X)))
    active#(add(s(X),Y)) -> add#(X,Y)
    active#(add(s(X),Y)) -> s#(add(X,Y))
    active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
    active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
    active#(terms(X)) -> active#(X)
    active#(terms(X)) -> terms#(active(X))
    active#(cons(X1,X2)) -> active#(X1)
    active#(cons(X1,X2)) -> cons#(active(X1),X2)
    active#(recip(X)) -> active#(X)
    active#(recip(X)) -> recip#(active(X))
    active#(sqr(X)) -> active#(X)
    active#(sqr(X)) -> sqr#(active(X))
    active#(s(X)) -> active#(X)
    active#(s(X)) -> s#(active(X))
    active#(add(X1,X2)) -> active#(X1)
    active#(add(X1,X2)) -> add#(active(X1),X2)
    active#(add(X1,X2)) -> active#(X2)
    active#(add(X1,X2)) -> add#(X1,active(X2))
    active#(dbl(X)) -> active#(X)
    active#(dbl(X)) -> dbl#(active(X))
    active#(first(X1,X2)) -> active#(X1)
    active#(first(X1,X2)) -> first#(active(X1),X2)
    active#(first(X1,X2)) -> active#(X2)
    active#(first(X1,X2)) -> first#(X1,active(X2))
    terms#(mark(X)) -> terms#(X)
    cons#(mark(X1),X2) -> cons#(X1,X2)
    recip#(mark(X)) -> recip#(X)
    sqr#(mark(X)) -> sqr#(X)
    s#(mark(X)) -> s#(X)
    add#(mark(X1),X2) -> add#(X1,X2)
    add#(X1,mark(X2)) -> add#(X1,X2)
    dbl#(mark(X)) -> dbl#(X)
    first#(mark(X1),X2) -> first#(X1,X2)
    first#(X1,mark(X2)) -> first#(X1,X2)
    proper#(terms(X)) -> proper#(X)
    proper#(terms(X)) -> terms#(proper(X))
    proper#(cons(X1,X2)) -> proper#(X2)
    proper#(cons(X1,X2)) -> proper#(X1)
    proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
    proper#(recip(X)) -> proper#(X)
    proper#(recip(X)) -> recip#(proper(X))
    proper#(sqr(X)) -> proper#(X)
    proper#(sqr(X)) -> sqr#(proper(X))
    proper#(s(X)) -> proper#(X)
    proper#(s(X)) -> s#(proper(X))
    proper#(add(X1,X2)) -> proper#(X2)
    proper#(add(X1,X2)) -> proper#(X1)
    proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
    proper#(dbl(X)) -> proper#(X)
    proper#(dbl(X)) -> dbl#(proper(X))
    proper#(first(X1,X2)) -> proper#(X2)
    proper#(first(X1,X2)) -> proper#(X1)
    proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
    terms#(ok(X)) -> terms#(X)
    cons#(ok(X1),ok(X2)) -> cons#(X1,X2)
    recip#(ok(X)) -> recip#(X)
    sqr#(ok(X)) -> sqr#(X)
    s#(ok(X)) -> s#(X)
    add#(ok(X1),ok(X2)) -> add#(X1,X2)
    dbl#(ok(X)) -> dbl#(X)
    first#(ok(X1),ok(X2)) -> first#(X1,X2)
    top#(mark(X)) -> proper#(X)
    top#(mark(X)) -> top#(proper(X))
    top#(ok(X)) -> active#(X)
    top#(ok(X)) -> top#(active(X))
   TRS:
    active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
    active(sqr(0())) -> mark(0())
    active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
    active(dbl(0())) -> mark(0())
    active(dbl(s(X))) -> mark(s(s(dbl(X))))
    active(add(0(),X)) -> mark(X)
    active(add(s(X),Y)) -> mark(s(add(X,Y)))
    active(first(0(),X)) -> mark(nil())
    active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
    active(terms(X)) -> terms(active(X))
    active(cons(X1,X2)) -> cons(active(X1),X2)
    active(recip(X)) -> recip(active(X))
    active(sqr(X)) -> sqr(active(X))
    active(s(X)) -> s(active(X))
    active(add(X1,X2)) -> add(active(X1),X2)
    active(add(X1,X2)) -> add(X1,active(X2))
    active(dbl(X)) -> dbl(active(X))
    active(first(X1,X2)) -> first(active(X1),X2)
    active(first(X1,X2)) -> first(X1,active(X2))
    terms(mark(X)) -> mark(terms(X))
    cons(mark(X1),X2) -> mark(cons(X1,X2))
    recip(mark(X)) -> mark(recip(X))
    sqr(mark(X)) -> mark(sqr(X))
    s(mark(X)) -> mark(s(X))
    add(mark(X1),X2) -> mark(add(X1,X2))
    add(X1,mark(X2)) -> mark(add(X1,X2))
    dbl(mark(X)) -> mark(dbl(X))
    first(mark(X1),X2) -> mark(first(X1,X2))
    first(X1,mark(X2)) -> mark(first(X1,X2))
    proper(terms(X)) -> terms(proper(X))
    proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
    proper(recip(X)) -> recip(proper(X))
    proper(sqr(X)) -> sqr(proper(X))
    proper(s(X)) -> s(proper(X))
    proper(0()) -> ok(0())
    proper(add(X1,X2)) -> add(proper(X1),proper(X2))
    proper(dbl(X)) -> dbl(proper(X))
    proper(first(X1,X2)) -> first(proper(X1),proper(X2))
    proper(nil()) -> ok(nil())
    terms(ok(X)) -> ok(terms(X))
    cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
    recip(ok(X)) -> ok(recip(X))
    sqr(ok(X)) -> ok(sqr(X))
    s(ok(X)) -> ok(s(X))
    add(ok(X1),ok(X2)) -> ok(add(X1,X2))
    dbl(ok(X)) -> ok(dbl(X))
    first(ok(X1),ok(X2)) -> ok(first(X1,X2))
    top(mark(X)) -> top(proper(X))
    top(ok(X)) -> top(active(X))
   graph:
    top#(ok(X)) -> top#(active(X)) -> top#(ok(X)) -> top#(active(X))
    top#(ok(X)) -> top#(active(X)) -> top#(ok(X)) -> active#(X)
    top#(ok(X)) -> top#(active(X)) ->
    top#(mark(X)) -> top#(proper(X))
    top#(ok(X)) -> top#(active(X)) -> top#(mark(X)) -> proper#(X)
    top#(ok(X)) -> active#(X) ->
    active#(first(X1,X2)) -> first#(X1,active(X2))
    top#(ok(X)) -> active#(X) -> active#(first(X1,X2)) -> active#(X2)
    top#(ok(X)) -> active#(X) ->
    active#(first(X1,X2)) -> first#(active(X1),X2)
    top#(ok(X)) -> active#(X) -> active#(first(X1,X2)) -> active#(X1)
    top#(ok(X)) -> active#(X) -> active#(dbl(X)) -> dbl#(active(X))
    top#(ok(X)) -> active#(X) -> active#(dbl(X)) -> active#(X)
    top#(ok(X)) -> active#(X) ->
    active#(add(X1,X2)) -> add#(X1,active(X2))
    top#(ok(X)) -> active#(X) -> active#(add(X1,X2)) -> active#(X2)
    top#(ok(X)) -> active#(X) ->
    active#(add(X1,X2)) -> add#(active(X1),X2)
    top#(ok(X)) -> active#(X) -> active#(add(X1,X2)) -> active#(X1)
    top#(ok(X)) -> active#(X) -> active#(s(X)) -> s#(active(X))
    top#(ok(X)) -> active#(X) -> active#(s(X)) -> active#(X)
    top#(ok(X)) -> active#(X) -> active#(sqr(X)) -> sqr#(active(X))
    top#(ok(X)) -> active#(X) -> active#(sqr(X)) -> active#(X)
    top#(ok(X)) -> active#(X) -> active#(recip(X)) -> recip#(active(X))
    top#(ok(X)) -> active#(X) -> active#(recip(X)) -> active#(X)
    top#(ok(X)) -> active#(X) ->
    active#(cons(X1,X2)) -> cons#(active(X1),X2)
    top#(ok(X)) -> active#(X) -> active#(cons(X1,X2)) -> active#(X1)
    top#(ok(X)) -> active#(X) -> active#(terms(X)) -> terms#(active(X))
    top#(ok(X)) -> active#(X) -> active#(terms(X)) -> active#(X)
    top#(ok(X)) -> active#(X) ->
    active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
    top#(ok(X)) -> active#(X) ->
    active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
    top#(ok(X)) -> active#(X) -> active#(add(s(X),Y)) -> s#(add(X,Y))
    top#(ok(X)) -> active#(X) -> active#(add(s(X),Y)) -> add#(X,Y)
    top#(ok(X)) -> active#(X) -> active#(dbl(s(X))) -> s#(s(dbl(X)))
    top#(ok(X)) -> active#(X) -> active#(dbl(s(X))) -> s#(dbl(X))
    top#(ok(X)) -> active#(X) -> active#(dbl(s(X))) -> dbl#(X)
    top#(ok(X)) -> active#(X) ->
    active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
    top#(ok(X)) -> active#(X) -> active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
    top#(ok(X)) -> active#(X) -> active#(sqr(s(X))) -> sqr#(X)
    top#(ok(X)) -> active#(X) -> active#(sqr(s(X))) -> dbl#(X)
    top#(ok(X)) -> active#(X) ->
    active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
    top#(ok(X)) -> active#(X) -> active#(terms(N)) -> recip#(sqr(N))
    top#(ok(X)) -> active#(X) -> active#(terms(N)) -> sqr#(N)
    top#(ok(X)) -> active#(X) -> active#(terms(N)) -> terms#(s(N))
    top#(ok(X)) -> active#(X) -> active#(terms(N)) -> s#(N)
    top#(mark(X)) -> top#(proper(X)) ->
    top#(ok(X)) -> top#(active(X))
    top#(mark(X)) -> top#(proper(X)) -> top#(ok(X)) -> active#(X)
    top#(mark(X)) -> top#(proper(X)) ->
    top#(mark(X)) -> top#(proper(X))
    top#(mark(X)) -> top#(proper(X)) -> top#(mark(X)) -> proper#(X)
    top#(mark(X)) -> proper#(X) ->
    proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
    top#(mark(X)) -> proper#(X) -> proper#(first(X1,X2)) -> proper#(X1)
    top#(mark(X)) -> proper#(X) -> proper#(first(X1,X2)) -> proper#(X2)
    top#(mark(X)) -> proper#(X) -> proper#(dbl(X)) -> dbl#(proper(X))
    top#(mark(X)) -> proper#(X) -> proper#(dbl(X)) -> proper#(X)
    top#(mark(X)) -> proper#(X) ->
    proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
    top#(mark(X)) -> proper#(X) -> proper#(add(X1,X2)) -> proper#(X1)
    top#(mark(X)) -> proper#(X) -> proper#(add(X1,X2)) -> proper#(X2)
    top#(mark(X)) -> proper#(X) -> proper#(s(X)) -> s#(proper(X))
    top#(mark(X)) -> proper#(X) -> proper#(s(X)) -> proper#(X)
    top#(mark(X)) -> proper#(X) -> proper#(sqr(X)) -> sqr#(proper(X))
    top#(mark(X)) -> proper#(X) -> proper#(sqr(X)) -> proper#(X)
    top#(mark(X)) -> proper#(X) ->
    proper#(recip(X)) -> recip#(proper(X))
    top#(mark(X)) -> proper#(X) -> proper#(recip(X)) -> proper#(X)
    top#(mark(X)) -> proper#(X) ->
    proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
    top#(mark(X)) -> proper#(X) -> proper#(cons(X1,X2)) -> proper#(X1)
    top#(mark(X)) -> proper#(X) -> proper#(cons(X1,X2)) -> proper#(X2)
    top#(mark(X)) -> proper#(X) ->
    proper#(terms(X)) -> terms#(proper(X))
    top#(mark(X)) -> proper#(X) ->
    proper#(terms(X)) -> proper#(X)
    proper#(first(X1,X2)) -> proper#(X2) ->
    proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
    proper#(first(X1,X2)) -> proper#(X2) ->
    proper#(first(X1,X2)) -> proper#(X1)
    proper#(first(X1,X2)) -> proper#(X2) ->
    proper#(first(X1,X2)) -> proper#(X2)
    proper#(first(X1,X2)) -> proper#(X2) ->
    proper#(dbl(X)) -> dbl#(proper(X))
    proper#(first(X1,X2)) -> proper#(X2) ->
    proper#(dbl(X)) -> proper#(X)
    proper#(first(X1,X2)) -> proper#(X2) ->
    proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
    proper#(first(X1,X2)) -> proper#(X2) ->
    proper#(add(X1,X2)) -> proper#(X1)
    proper#(first(X1,X2)) -> proper#(X2) ->
    proper#(add(X1,X2)) -> proper#(X2)
    proper#(first(X1,X2)) -> proper#(X2) ->
    proper#(s(X)) -> s#(proper(X))
    proper#(first(X1,X2)) -> proper#(X2) ->
    proper#(s(X)) -> proper#(X)
    proper#(first(X1,X2)) -> proper#(X2) ->
    proper#(sqr(X)) -> sqr#(proper(X))
    proper#(first(X1,X2)) -> proper#(X2) ->
    proper#(sqr(X)) -> proper#(X)
    proper#(first(X1,X2)) -> proper#(X2) ->
    proper#(recip(X)) -> recip#(proper(X))
    proper#(first(X1,X2)) -> proper#(X2) ->
    proper#(recip(X)) -> proper#(X)
    proper#(first(X1,X2)) -> proper#(X2) ->
    proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
    proper#(first(X1,X2)) -> proper#(X2) ->
    proper#(cons(X1,X2)) -> proper#(X1)
    proper#(first(X1,X2)) -> proper#(X2) ->
    proper#(cons(X1,X2)) -> proper#(X2)
    proper#(first(X1,X2)) -> proper#(X2) ->
    proper#(terms(X)) -> terms#(proper(X))
    proper#(first(X1,X2)) -> proper#(X2) ->
    proper#(terms(X)) -> proper#(X)
    proper#(first(X1,X2)) -> proper#(X1) ->
    proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
    proper#(first(X1,X2)) -> proper#(X1) ->
    proper#(first(X1,X2)) -> proper#(X1)
    proper#(first(X1,X2)) -> proper#(X1) ->
    proper#(first(X1,X2)) -> proper#(X2)
    proper#(first(X1,X2)) -> proper#(X1) ->
    proper#(dbl(X)) -> dbl#(proper(X))
    proper#(first(X1,X2)) -> proper#(X1) ->
    proper#(dbl(X)) -> proper#(X)
    proper#(first(X1,X2)) -> proper#(X1) ->
    proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
    proper#(first(X1,X2)) -> proper#(X1) ->
    proper#(add(X1,X2)) -> proper#(X1)
    proper#(first(X1,X2)) -> proper#(X1) ->
    proper#(add(X1,X2)) -> proper#(X2)
    proper#(first(X1,X2)) -> proper#(X1) ->
    proper#(s(X)) -> s#(proper(X))
    proper#(first(X1,X2)) -> proper#(X1) ->
    proper#(s(X)) -> proper#(X)
    proper#(first(X1,X2)) -> proper#(X1) ->
    proper#(sqr(X)) -> sqr#(proper(X))
    proper#(first(X1,X2)) -> proper#(X1) ->
    proper#(sqr(X)) -> proper#(X)
    proper#(first(X1,X2)) -> proper#(X1) ->
    proper#(recip(X)) -> recip#(proper(X))
    proper#(first(X1,X2)) -> proper#(X1) ->
    proper#(recip(X)) -> proper#(X)
    proper#(first(X1,X2)) -> proper#(X1) ->
    proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
    proper#(first(X1,X2)) -> proper#(X1) ->
    proper#(cons(X1,X2)) -> proper#(X1)
    proper#(first(X1,X2)) -> proper#(X1) ->
    proper#(cons(X1,X2)) -> proper#(X2)
    proper#(first(X1,X2)) -> proper#(X1) ->
    proper#(terms(X)) -> terms#(proper(X))
    proper#(first(X1,X2)) -> proper#(X1) ->
    proper#(terms(X)) -> proper#(X)
    proper#(first(X1,X2)) -> first#(proper(X1),proper(X2)) ->
    first#(ok(X1),ok(X2)) -> first#(X1,X2)
    proper#(first(X1,X2)) -> first#(proper(X1),proper(X2)) ->
    first#(X1,mark(X2)) -> first#(X1,X2)
    proper#(first(X1,X2)) -> first#(proper(X1),proper(X2)) ->
    first#(mark(X1),X2) -> first#(X1,X2)
    proper#(add(X1,X2)) -> proper#(X2) ->
    proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
    proper#(add(X1,X2)) -> proper#(X2) ->
    proper#(first(X1,X2)) -> proper#(X1)
    proper#(add(X1,X2)) -> proper#(X2) ->
    proper#(first(X1,X2)) -> proper#(X2)
    proper#(add(X1,X2)) -> proper#(X2) ->
    proper#(dbl(X)) -> dbl#(proper(X))
    proper#(add(X1,X2)) -> proper#(X2) ->
    proper#(dbl(X)) -> proper#(X)
    proper#(add(X1,X2)) -> proper#(X2) ->
    proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
    proper#(add(X1,X2)) -> proper#(X2) ->
    proper#(add(X1,X2)) -> proper#(X1)
    proper#(add(X1,X2)) -> proper#(X2) ->
    proper#(add(X1,X2)) -> proper#(X2)
    proper#(add(X1,X2)) -> proper#(X2) ->
    proper#(s(X)) -> s#(proper(X))
    proper#(add(X1,X2)) -> proper#(X2) ->
    proper#(s(X)) -> proper#(X)
    proper#(add(X1,X2)) -> proper#(X2) ->
    proper#(sqr(X)) -> sqr#(proper(X))
    proper#(add(X1,X2)) -> proper#(X2) ->
    proper#(sqr(X)) -> proper#(X)
    proper#(add(X1,X2)) -> proper#(X2) ->
    proper#(recip(X)) -> recip#(proper(X))
    proper#(add(X1,X2)) -> proper#(X2) ->
    proper#(recip(X)) -> proper#(X)
    proper#(add(X1,X2)) -> proper#(X2) ->
    proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
    proper#(add(X1,X2)) -> proper#(X2) ->
    proper#(cons(X1,X2)) -> proper#(X1)
    proper#(add(X1,X2)) -> proper#(X2) ->
    proper#(cons(X1,X2)) -> proper#(X2)
    proper#(add(X1,X2)) -> proper#(X2) ->
    proper#(terms(X)) -> terms#(proper(X))
    proper#(add(X1,X2)) -> proper#(X2) ->
    proper#(terms(X)) -> proper#(X)
    proper#(add(X1,X2)) -> proper#(X1) ->
    proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
    proper#(add(X1,X2)) -> proper#(X1) ->
    proper#(first(X1,X2)) -> proper#(X1)
    proper#(add(X1,X2)) -> proper#(X1) ->
    proper#(first(X1,X2)) -> proper#(X2)
    proper#(add(X1,X2)) -> proper#(X1) ->
    proper#(dbl(X)) -> dbl#(proper(X))
    proper#(add(X1,X2)) -> proper#(X1) ->
    proper#(dbl(X)) -> proper#(X)
    proper#(add(X1,X2)) -> proper#(X1) ->
    proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
    proper#(add(X1,X2)) -> proper#(X1) ->
    proper#(add(X1,X2)) -> proper#(X1)
    proper#(add(X1,X2)) -> proper#(X1) ->
    proper#(add(X1,X2)) -> proper#(X2)
    proper#(add(X1,X2)) -> proper#(X1) ->
    proper#(s(X)) -> s#(proper(X))
    proper#(add(X1,X2)) -> proper#(X1) ->
    proper#(s(X)) -> proper#(X)
    proper#(add(X1,X2)) -> proper#(X1) ->
    proper#(sqr(X)) -> sqr#(proper(X))
    proper#(add(X1,X2)) -> proper#(X1) ->
    proper#(sqr(X)) -> proper#(X)
    proper#(add(X1,X2)) -> proper#(X1) ->
    proper#(recip(X)) -> recip#(proper(X))
    proper#(add(X1,X2)) -> proper#(X1) ->
    proper#(recip(X)) -> proper#(X)
    proper#(add(X1,X2)) -> proper#(X1) ->
    proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
    proper#(add(X1,X2)) -> proper#(X1) ->
    proper#(cons(X1,X2)) -> proper#(X1)
    proper#(add(X1,X2)) -> proper#(X1) ->
    proper#(cons(X1,X2)) -> proper#(X2)
    proper#(add(X1,X2)) -> proper#(X1) ->
    proper#(terms(X)) -> terms#(proper(X))
    proper#(add(X1,X2)) -> proper#(X1) ->
    proper#(terms(X)) -> proper#(X)
    proper#(add(X1,X2)) -> add#(proper(X1),proper(X2)) ->
    add#(ok(X1),ok(X2)) -> add#(X1,X2)
    proper#(add(X1,X2)) -> add#(proper(X1),proper(X2)) ->
    add#(X1,mark(X2)) -> add#(X1,X2)
    proper#(add(X1,X2)) -> add#(proper(X1),proper(X2)) ->
    add#(mark(X1),X2) -> add#(X1,X2)
    proper#(dbl(X)) -> proper#(X) ->
    proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
    proper#(dbl(X)) -> proper#(X) ->
    proper#(first(X1,X2)) -> proper#(X1)
    proper#(dbl(X)) -> proper#(X) ->
    proper#(first(X1,X2)) -> proper#(X2)
    proper#(dbl(X)) -> proper#(X) ->
    proper#(dbl(X)) -> dbl#(proper(X))
    proper#(dbl(X)) -> proper#(X) -> proper#(dbl(X)) -> proper#(X)
    proper#(dbl(X)) -> proper#(X) ->
    proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
    proper#(dbl(X)) -> proper#(X) ->
    proper#(add(X1,X2)) -> proper#(X1)
    proper#(dbl(X)) -> proper#(X) ->
    proper#(add(X1,X2)) -> proper#(X2)
    proper#(dbl(X)) -> proper#(X) -> proper#(s(X)) -> s#(proper(X))
    proper#(dbl(X)) -> proper#(X) -> proper#(s(X)) -> proper#(X)
    proper#(dbl(X)) -> proper#(X) ->
    proper#(sqr(X)) -> sqr#(proper(X))
    proper#(dbl(X)) -> proper#(X) -> proper#(sqr(X)) -> proper#(X)
    proper#(dbl(X)) -> proper#(X) ->
    proper#(recip(X)) -> recip#(proper(X))
    proper#(dbl(X)) -> proper#(X) -> proper#(recip(X)) -> proper#(X)
    proper#(dbl(X)) -> proper#(X) ->
    proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
    proper#(dbl(X)) -> proper#(X) ->
    proper#(cons(X1,X2)) -> proper#(X1)
    proper#(dbl(X)) -> proper#(X) ->
    proper#(cons(X1,X2)) -> proper#(X2)
    proper#(dbl(X)) -> proper#(X) ->
    proper#(terms(X)) -> terms#(proper(X))
    proper#(dbl(X)) -> proper#(X) ->
    proper#(terms(X)) -> proper#(X)
    proper#(dbl(X)) -> dbl#(proper(X)) -> dbl#(ok(X)) -> dbl#(X)
    proper#(dbl(X)) -> dbl#(proper(X)) ->
    dbl#(mark(X)) -> dbl#(X)
    proper#(cons(X1,X2)) -> proper#(X2) ->
    proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
    proper#(cons(X1,X2)) -> proper#(X2) ->
    proper#(first(X1,X2)) -> proper#(X1)
    proper#(cons(X1,X2)) -> proper#(X2) ->
    proper#(first(X1,X2)) -> proper#(X2)
    proper#(cons(X1,X2)) -> proper#(X2) ->
    proper#(dbl(X)) -> dbl#(proper(X))
    proper#(cons(X1,X2)) -> proper#(X2) ->
    proper#(dbl(X)) -> proper#(X)
    proper#(cons(X1,X2)) -> proper#(X2) ->
    proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
    proper#(cons(X1,X2)) -> proper#(X2) ->
    proper#(add(X1,X2)) -> proper#(X1)
    proper#(cons(X1,X2)) -> proper#(X2) ->
    proper#(add(X1,X2)) -> proper#(X2)
    proper#(cons(X1,X2)) -> proper#(X2) ->
    proper#(s(X)) -> s#(proper(X))
    proper#(cons(X1,X2)) -> proper#(X2) ->
    proper#(s(X)) -> proper#(X)
    proper#(cons(X1,X2)) -> proper#(X2) ->
    proper#(sqr(X)) -> sqr#(proper(X))
    proper#(cons(X1,X2)) -> proper#(X2) ->
    proper#(sqr(X)) -> proper#(X)
    proper#(cons(X1,X2)) -> proper#(X2) ->
    proper#(recip(X)) -> recip#(proper(X))
    proper#(cons(X1,X2)) -> proper#(X2) ->
    proper#(recip(X)) -> proper#(X)
    proper#(cons(X1,X2)) -> proper#(X2) ->
    proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
    proper#(cons(X1,X2)) -> proper#(X2) ->
    proper#(cons(X1,X2)) -> proper#(X1)
    proper#(cons(X1,X2)) -> proper#(X2) ->
    proper#(cons(X1,X2)) -> proper#(X2)
    proper#(cons(X1,X2)) -> proper#(X2) ->
    proper#(terms(X)) -> terms#(proper(X))
    proper#(cons(X1,X2)) -> proper#(X2) ->
    proper#(terms(X)) -> proper#(X)
    proper#(cons(X1,X2)) -> proper#(X1) ->
    proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
    proper#(cons(X1,X2)) -> proper#(X1) ->
    proper#(first(X1,X2)) -> proper#(X1)
    proper#(cons(X1,X2)) -> proper#(X1) ->
    proper#(first(X1,X2)) -> proper#(X2)
    proper#(cons(X1,X2)) -> proper#(X1) ->
    proper#(dbl(X)) -> dbl#(proper(X))
    proper#(cons(X1,X2)) -> proper#(X1) ->
    proper#(dbl(X)) -> proper#(X)
    proper#(cons(X1,X2)) -> proper#(X1) ->
    proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
    proper#(cons(X1,X2)) -> proper#(X1) ->
    proper#(add(X1,X2)) -> proper#(X1)
    proper#(cons(X1,X2)) -> proper#(X1) ->
    proper#(add(X1,X2)) -> proper#(X2)
    proper#(cons(X1,X2)) -> proper#(X1) ->
    proper#(s(X)) -> s#(proper(X))
    proper#(cons(X1,X2)) -> proper#(X1) ->
    proper#(s(X)) -> proper#(X)
    proper#(cons(X1,X2)) -> proper#(X1) ->
    proper#(sqr(X)) -> sqr#(proper(X))
    proper#(cons(X1,X2)) -> proper#(X1) ->
    proper#(sqr(X)) -> proper#(X)
    proper#(cons(X1,X2)) -> proper#(X1) ->
    proper#(recip(X)) -> recip#(proper(X))
    proper#(cons(X1,X2)) -> proper#(X1) ->
    proper#(recip(X)) -> proper#(X)
    proper#(cons(X1,X2)) -> proper#(X1) ->
    proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
    proper#(cons(X1,X2)) -> proper#(X1) ->
    proper#(cons(X1,X2)) -> proper#(X1)
    proper#(cons(X1,X2)) -> proper#(X1) ->
    proper#(cons(X1,X2)) -> proper#(X2)
    proper#(cons(X1,X2)) -> proper#(X1) ->
    proper#(terms(X)) -> terms#(proper(X))
    proper#(cons(X1,X2)) -> proper#(X1) ->
    proper#(terms(X)) -> proper#(X)
    proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2)) ->
    cons#(ok(X1),ok(X2)) -> cons#(X1,X2)
    proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2)) ->
    cons#(mark(X1),X2) -> cons#(X1,X2)
    proper#(s(X)) -> proper#(X) ->
    proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
    proper#(s(X)) -> proper#(X) -> proper#(first(X1,X2)) -> proper#(X1)
    proper#(s(X)) -> proper#(X) -> proper#(first(X1,X2)) -> proper#(X2)
    proper#(s(X)) -> proper#(X) -> proper#(dbl(X)) -> dbl#(proper(X))
    proper#(s(X)) -> proper#(X) -> proper#(dbl(X)) -> proper#(X)
    proper#(s(X)) -> proper#(X) ->
    proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
    proper#(s(X)) -> proper#(X) -> proper#(add(X1,X2)) -> proper#(X1)
    proper#(s(X)) -> proper#(X) -> proper#(add(X1,X2)) -> proper#(X2)
    proper#(s(X)) -> proper#(X) -> proper#(s(X)) -> s#(proper(X))
    proper#(s(X)) -> proper#(X) -> proper#(s(X)) -> proper#(X)
    proper#(s(X)) -> proper#(X) -> proper#(sqr(X)) -> sqr#(proper(X))
    proper#(s(X)) -> proper#(X) -> proper#(sqr(X)) -> proper#(X)
    proper#(s(X)) -> proper#(X) ->
    proper#(recip(X)) -> recip#(proper(X))
    proper#(s(X)) -> proper#(X) -> proper#(recip(X)) -> proper#(X)
    proper#(s(X)) -> proper#(X) ->
    proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
    proper#(s(X)) -> proper#(X) -> proper#(cons(X1,X2)) -> proper#(X1)
    proper#(s(X)) -> proper#(X) -> proper#(cons(X1,X2)) -> proper#(X2)
    proper#(s(X)) -> proper#(X) ->
    proper#(terms(X)) -> terms#(proper(X))
    proper#(s(X)) -> proper#(X) -> proper#(terms(X)) -> proper#(X)
    proper#(s(X)) -> s#(proper(X)) -> s#(ok(X)) -> s#(X)
    proper#(s(X)) -> s#(proper(X)) -> s#(mark(X)) -> s#(X)
    proper#(recip(X)) -> proper#(X) ->
    proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
    proper#(recip(X)) -> proper#(X) ->
    proper#(first(X1,X2)) -> proper#(X1)
    proper#(recip(X)) -> proper#(X) ->
    proper#(first(X1,X2)) -> proper#(X2)
    proper#(recip(X)) -> proper#(X) ->
    proper#(dbl(X)) -> dbl#(proper(X))
    proper#(recip(X)) -> proper#(X) -> proper#(dbl(X)) -> proper#(X)
    proper#(recip(X)) -> proper#(X) ->
    proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
    proper#(recip(X)) -> proper#(X) ->
    proper#(add(X1,X2)) -> proper#(X1)
    proper#(recip(X)) -> proper#(X) ->
    proper#(add(X1,X2)) -> proper#(X2)
    proper#(recip(X)) -> proper#(X) ->
    proper#(s(X)) -> s#(proper(X))
    proper#(recip(X)) -> proper#(X) -> proper#(s(X)) -> proper#(X)
    proper#(recip(X)) -> proper#(X) ->
    proper#(sqr(X)) -> sqr#(proper(X))
    proper#(recip(X)) -> proper#(X) -> proper#(sqr(X)) -> proper#(X)
    proper#(recip(X)) -> proper#(X) ->
    proper#(recip(X)) -> recip#(proper(X))
    proper#(recip(X)) -> proper#(X) ->
    proper#(recip(X)) -> proper#(X)
    proper#(recip(X)) -> proper#(X) ->
    proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
    proper#(recip(X)) -> proper#(X) ->
    proper#(cons(X1,X2)) -> proper#(X1)
    proper#(recip(X)) -> proper#(X) ->
    proper#(cons(X1,X2)) -> proper#(X2)
    proper#(recip(X)) -> proper#(X) ->
    proper#(terms(X)) -> terms#(proper(X))
    proper#(recip(X)) -> proper#(X) ->
    proper#(terms(X)) -> proper#(X)
    proper#(recip(X)) -> recip#(proper(X)) ->
    recip#(ok(X)) -> recip#(X)
    proper#(recip(X)) -> recip#(proper(X)) ->
    recip#(mark(X)) -> recip#(X)
    proper#(sqr(X)) -> proper#(X) ->
    proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
    proper#(sqr(X)) -> proper#(X) ->
    proper#(first(X1,X2)) -> proper#(X1)
    proper#(sqr(X)) -> proper#(X) ->
    proper#(first(X1,X2)) -> proper#(X2)
    proper#(sqr(X)) -> proper#(X) ->
    proper#(dbl(X)) -> dbl#(proper(X))
    proper#(sqr(X)) -> proper#(X) -> proper#(dbl(X)) -> proper#(X)
    proper#(sqr(X)) -> proper#(X) ->
    proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
    proper#(sqr(X)) -> proper#(X) ->
    proper#(add(X1,X2)) -> proper#(X1)
    proper#(sqr(X)) -> proper#(X) ->
    proper#(add(X1,X2)) -> proper#(X2)
    proper#(sqr(X)) -> proper#(X) -> proper#(s(X)) -> s#(proper(X))
    proper#(sqr(X)) -> proper#(X) -> proper#(s(X)) -> proper#(X)
    proper#(sqr(X)) -> proper#(X) ->
    proper#(sqr(X)) -> sqr#(proper(X))
    proper#(sqr(X)) -> proper#(X) -> proper#(sqr(X)) -> proper#(X)
    proper#(sqr(X)) -> proper#(X) ->
    proper#(recip(X)) -> recip#(proper(X))
    proper#(sqr(X)) -> proper#(X) -> proper#(recip(X)) -> proper#(X)
    proper#(sqr(X)) -> proper#(X) ->
    proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
    proper#(sqr(X)) -> proper#(X) ->
    proper#(cons(X1,X2)) -> proper#(X1)
    proper#(sqr(X)) -> proper#(X) ->
    proper#(cons(X1,X2)) -> proper#(X2)
    proper#(sqr(X)) -> proper#(X) ->
    proper#(terms(X)) -> terms#(proper(X))
    proper#(sqr(X)) -> proper#(X) ->
    proper#(terms(X)) -> proper#(X)
    proper#(sqr(X)) -> sqr#(proper(X)) -> sqr#(ok(X)) -> sqr#(X)
    proper#(sqr(X)) -> sqr#(proper(X)) -> sqr#(mark(X)) -> sqr#(X)
    proper#(terms(X)) -> proper#(X) ->
    proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
    proper#(terms(X)) -> proper#(X) ->
    proper#(first(X1,X2)) -> proper#(X1)
    proper#(terms(X)) -> proper#(X) ->
    proper#(first(X1,X2)) -> proper#(X2)
    proper#(terms(X)) -> proper#(X) ->
    proper#(dbl(X)) -> dbl#(proper(X))
    proper#(terms(X)) -> proper#(X) -> proper#(dbl(X)) -> proper#(X)
    proper#(terms(X)) -> proper#(X) ->
    proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
    proper#(terms(X)) -> proper#(X) ->
    proper#(add(X1,X2)) -> proper#(X1)
    proper#(terms(X)) -> proper#(X) ->
    proper#(add(X1,X2)) -> proper#(X2)
    proper#(terms(X)) -> proper#(X) ->
    proper#(s(X)) -> s#(proper(X))
    proper#(terms(X)) -> proper#(X) -> proper#(s(X)) -> proper#(X)
    proper#(terms(X)) -> proper#(X) ->
    proper#(sqr(X)) -> sqr#(proper(X))
    proper#(terms(X)) -> proper#(X) -> proper#(sqr(X)) -> proper#(X)
    proper#(terms(X)) -> proper#(X) ->
    proper#(recip(X)) -> recip#(proper(X))
    proper#(terms(X)) -> proper#(X) ->
    proper#(recip(X)) -> proper#(X)
    proper#(terms(X)) -> proper#(X) ->
    proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
    proper#(terms(X)) -> proper#(X) ->
    proper#(cons(X1,X2)) -> proper#(X1)
    proper#(terms(X)) -> proper#(X) ->
    proper#(cons(X1,X2)) -> proper#(X2)
    proper#(terms(X)) -> proper#(X) ->
    proper#(terms(X)) -> terms#(proper(X))
    proper#(terms(X)) -> proper#(X) ->
    proper#(terms(X)) -> proper#(X)
    proper#(terms(X)) -> terms#(proper(X)) ->
    terms#(ok(X)) -> terms#(X)
    proper#(terms(X)) -> terms#(proper(X)) ->
    terms#(mark(X)) -> terms#(X)
    first#(ok(X1),ok(X2)) -> first#(X1,X2) ->
    first#(ok(X1),ok(X2)) -> first#(X1,X2)
    first#(ok(X1),ok(X2)) -> first#(X1,X2) ->
    first#(X1,mark(X2)) -> first#(X1,X2)
    first#(ok(X1),ok(X2)) -> first#(X1,X2) ->
    first#(mark(X1),X2) -> first#(X1,X2)
    first#(mark(X1),X2) -> first#(X1,X2) ->
    first#(ok(X1),ok(X2)) -> first#(X1,X2)
    first#(mark(X1),X2) -> first#(X1,X2) ->
    first#(X1,mark(X2)) -> first#(X1,X2)
    first#(mark(X1),X2) -> first#(X1,X2) ->
    first#(mark(X1),X2) -> first#(X1,X2)
    first#(X1,mark(X2)) -> first#(X1,X2) ->
    first#(ok(X1),ok(X2)) -> first#(X1,X2)
    first#(X1,mark(X2)) -> first#(X1,X2) ->
    first#(X1,mark(X2)) -> first#(X1,X2)
    first#(X1,mark(X2)) -> first#(X1,X2) ->
    first#(mark(X1),X2) -> first#(X1,X2)
    add#(ok(X1),ok(X2)) -> add#(X1,X2) ->
    add#(ok(X1),ok(X2)) -> add#(X1,X2)
    add#(ok(X1),ok(X2)) -> add#(X1,X2) ->
    add#(X1,mark(X2)) -> add#(X1,X2)
    add#(ok(X1),ok(X2)) -> add#(X1,X2) ->
    add#(mark(X1),X2) -> add#(X1,X2)
    add#(mark(X1),X2) -> add#(X1,X2) ->
    add#(ok(X1),ok(X2)) -> add#(X1,X2)
    add#(mark(X1),X2) -> add#(X1,X2) ->
    add#(X1,mark(X2)) -> add#(X1,X2)
    add#(mark(X1),X2) -> add#(X1,X2) ->
    add#(mark(X1),X2) -> add#(X1,X2)
    add#(X1,mark(X2)) -> add#(X1,X2) ->
    add#(ok(X1),ok(X2)) -> add#(X1,X2)
    add#(X1,mark(X2)) -> add#(X1,X2) ->
    add#(X1,mark(X2)) -> add#(X1,X2)
    add#(X1,mark(X2)) -> add#(X1,X2) -> add#(mark(X1),X2) -> add#(X1,X2)
    dbl#(ok(X)) -> dbl#(X) -> dbl#(ok(X)) -> dbl#(X)
    dbl#(ok(X)) -> dbl#(X) -> dbl#(mark(X)) -> dbl#(X)
    dbl#(mark(X)) -> dbl#(X) -> dbl#(ok(X)) -> dbl#(X)
    dbl#(mark(X)) -> dbl#(X) -> dbl#(mark(X)) -> dbl#(X)
    cons#(ok(X1),ok(X2)) -> cons#(X1,X2) ->
    cons#(ok(X1),ok(X2)) -> cons#(X1,X2)
    cons#(ok(X1),ok(X2)) -> cons#(X1,X2) ->
    cons#(mark(X1),X2) -> cons#(X1,X2)
    cons#(mark(X1),X2) -> cons#(X1,X2) ->
    cons#(ok(X1),ok(X2)) -> cons#(X1,X2)
    cons#(mark(X1),X2) -> cons#(X1,X2) ->
    cons#(mark(X1),X2) -> cons#(X1,X2)
    recip#(ok(X)) -> recip#(X) -> recip#(ok(X)) -> recip#(X)
    recip#(ok(X)) -> recip#(X) -> recip#(mark(X)) -> recip#(X)
    recip#(mark(X)) -> recip#(X) -> recip#(ok(X)) -> recip#(X)
    recip#(mark(X)) -> recip#(X) -> recip#(mark(X)) -> recip#(X)
    sqr#(ok(X)) -> sqr#(X) -> sqr#(ok(X)) -> sqr#(X)
    sqr#(ok(X)) -> sqr#(X) -> sqr#(mark(X)) -> sqr#(X)
    sqr#(mark(X)) -> sqr#(X) -> sqr#(ok(X)) -> sqr#(X)
    sqr#(mark(X)) -> sqr#(X) -> sqr#(mark(X)) -> sqr#(X)
    terms#(ok(X)) -> terms#(X) -> terms#(ok(X)) -> terms#(X)
    terms#(ok(X)) -> terms#(X) -> terms#(mark(X)) -> terms#(X)
    terms#(mark(X)) -> terms#(X) -> terms#(ok(X)) -> terms#(X)
    terms#(mark(X)) -> terms#(X) -> terms#(mark(X)) -> terms#(X)
    s#(ok(X)) -> s#(X) -> s#(ok(X)) -> s#(X)
    s#(ok(X)) -> s#(X) -> s#(mark(X)) -> s#(X)
    s#(mark(X)) -> s#(X) -> s#(ok(X)) -> s#(X)
    s#(mark(X)) -> s#(X) -> s#(mark(X)) -> s#(X)
    active#(first(s(X),cons(Y,Z))) -> first#(X,Z) ->
    first#(ok(X1),ok(X2)) -> first#(X1,X2)
    active#(first(s(X),cons(Y,Z))) -> first#(X,Z) ->
    first#(X1,mark(X2)) -> first#(X1,X2)
    active#(first(s(X),cons(Y,Z))) -> first#(X,Z) ->
    first#(mark(X1),X2) -> first#(X1,X2)
    active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z)) ->
    cons#(ok(X1),ok(X2)) -> cons#(X1,X2)
    active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z)) ->
    cons#(mark(X1),X2) -> cons#(X1,X2)
    active#(first(X1,X2)) -> first#(active(X1),X2) ->
    first#(ok(X1),ok(X2)) -> first#(X1,X2)
    active#(first(X1,X2)) -> first#(active(X1),X2) ->
    first#(X1,mark(X2)) -> first#(X1,X2)
    active#(first(X1,X2)) -> first#(active(X1),X2) ->
    first#(mark(X1),X2) -> first#(X1,X2)
    active#(first(X1,X2)) -> first#(X1,active(X2)) ->
    first#(ok(X1),ok(X2)) -> first#(X1,X2)
    active#(first(X1,X2)) -> first#(X1,active(X2)) ->
    first#(X1,mark(X2)) -> first#(X1,X2)
    active#(first(X1,X2)) -> first#(X1,active(X2)) ->
    first#(mark(X1),X2) -> first#(X1,X2)
    active#(first(X1,X2)) -> active#(X2) ->
    active#(first(X1,X2)) -> first#(X1,active(X2))
    active#(first(X1,X2)) -> active#(X2) ->
    active#(first(X1,X2)) -> active#(X2)
    active#(first(X1,X2)) -> active#(X2) ->
    active#(first(X1,X2)) -> first#(active(X1),X2)
    active#(first(X1,X2)) -> active#(X2) ->
    active#(first(X1,X2)) -> active#(X1)
    active#(first(X1,X2)) -> active#(X2) ->
    active#(dbl(X)) -> dbl#(active(X))
    active#(first(X1,X2)) -> active#(X2) ->
    active#(dbl(X)) -> active#(X)
    active#(first(X1,X2)) -> active#(X2) ->
    active#(add(X1,X2)) -> add#(X1,active(X2))
    active#(first(X1,X2)) -> active#(X2) ->
    active#(add(X1,X2)) -> active#(X2)
    active#(first(X1,X2)) -> active#(X2) ->
    active#(add(X1,X2)) -> add#(active(X1),X2)
    active#(first(X1,X2)) -> active#(X2) ->
    active#(add(X1,X2)) -> active#(X1)
    active#(first(X1,X2)) -> active#(X2) ->
    active#(s(X)) -> s#(active(X))
    active#(first(X1,X2)) -> active#(X2) ->
    active#(s(X)) -> active#(X)
    active#(first(X1,X2)) -> active#(X2) ->
    active#(sqr(X)) -> sqr#(active(X))
    active#(first(X1,X2)) -> active#(X2) ->
    active#(sqr(X)) -> active#(X)
    active#(first(X1,X2)) -> active#(X2) ->
    active#(recip(X)) -> recip#(active(X))
    active#(first(X1,X2)) -> active#(X2) ->
    active#(recip(X)) -> active#(X)
    active#(first(X1,X2)) -> active#(X2) ->
    active#(cons(X1,X2)) -> cons#(active(X1),X2)
    active#(first(X1,X2)) -> active#(X2) ->
    active#(cons(X1,X2)) -> active#(X1)
    active#(first(X1,X2)) -> active#(X2) ->
    active#(terms(X)) -> terms#(active(X))
    active#(first(X1,X2)) -> active#(X2) ->
    active#(terms(X)) -> active#(X)
    active#(first(X1,X2)) -> active#(X2) ->
    active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
    active#(first(X1,X2)) -> active#(X2) ->
    active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
    active#(first(X1,X2)) -> active#(X2) ->
    active#(add(s(X),Y)) -> s#(add(X,Y))
    active#(first(X1,X2)) -> active#(X2) ->
    active#(add(s(X),Y)) -> add#(X,Y)
    active#(first(X1,X2)) -> active#(X2) ->
    active#(dbl(s(X))) -> s#(s(dbl(X)))
    active#(first(X1,X2)) -> active#(X2) ->
    active#(dbl(s(X))) -> s#(dbl(X))
    active#(first(X1,X2)) -> active#(X2) ->
    active#(dbl(s(X))) -> dbl#(X)
    active#(first(X1,X2)) -> active#(X2) ->
    active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
    active#(first(X1,X2)) -> active#(X2) ->
    active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
    active#(first(X1,X2)) -> active#(X2) ->
    active#(sqr(s(X))) -> sqr#(X)
    active#(first(X1,X2)) -> active#(X2) ->
    active#(sqr(s(X))) -> dbl#(X)
    active#(first(X1,X2)) -> active#(X2) ->
    active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
    active#(first(X1,X2)) -> active#(X2) ->
    active#(terms(N)) -> recip#(sqr(N))
    active#(first(X1,X2)) -> active#(X2) ->
    active#(terms(N)) -> sqr#(N)
    active#(first(X1,X2)) -> active#(X2) ->
    active#(terms(N)) -> terms#(s(N))
    active#(first(X1,X2)) -> active#(X2) ->
    active#(terms(N)) -> s#(N)
    active#(first(X1,X2)) -> active#(X1) ->
    active#(first(X1,X2)) -> first#(X1,active(X2))
    active#(first(X1,X2)) -> active#(X1) ->
    active#(first(X1,X2)) -> active#(X2)
    active#(first(X1,X2)) -> active#(X1) ->
    active#(first(X1,X2)) -> first#(active(X1),X2)
    active#(first(X1,X2)) -> active#(X1) ->
    active#(first(X1,X2)) -> active#(X1)
    active#(first(X1,X2)) -> active#(X1) ->
    active#(dbl(X)) -> dbl#(active(X))
    active#(first(X1,X2)) -> active#(X1) ->
    active#(dbl(X)) -> active#(X)
    active#(first(X1,X2)) -> active#(X1) ->
    active#(add(X1,X2)) -> add#(X1,active(X2))
    active#(first(X1,X2)) -> active#(X1) ->
    active#(add(X1,X2)) -> active#(X2)
    active#(first(X1,X2)) -> active#(X1) ->
    active#(add(X1,X2)) -> add#(active(X1),X2)
    active#(first(X1,X2)) -> active#(X1) ->
    active#(add(X1,X2)) -> active#(X1)
    active#(first(X1,X2)) -> active#(X1) ->
    active#(s(X)) -> s#(active(X))
    active#(first(X1,X2)) -> active#(X1) ->
    active#(s(X)) -> active#(X)
    active#(first(X1,X2)) -> active#(X1) ->
    active#(sqr(X)) -> sqr#(active(X))
    active#(first(X1,X2)) -> active#(X1) ->
    active#(sqr(X)) -> active#(X)
    active#(first(X1,X2)) -> active#(X1) ->
    active#(recip(X)) -> recip#(active(X))
    active#(first(X1,X2)) -> active#(X1) ->
    active#(recip(X)) -> active#(X)
    active#(first(X1,X2)) -> active#(X1) ->
    active#(cons(X1,X2)) -> cons#(active(X1),X2)
    active#(first(X1,X2)) -> active#(X1) ->
    active#(cons(X1,X2)) -> active#(X1)
    active#(first(X1,X2)) -> active#(X1) ->
    active#(terms(X)) -> terms#(active(X))
    active#(first(X1,X2)) -> active#(X1) ->
    active#(terms(X)) -> active#(X)
    active#(first(X1,X2)) -> active#(X1) ->
    active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
    active#(first(X1,X2)) -> active#(X1) ->
    active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
    active#(first(X1,X2)) -> active#(X1) ->
    active#(add(s(X),Y)) -> s#(add(X,Y))
    active#(first(X1,X2)) -> active#(X1) ->
    active#(add(s(X),Y)) -> add#(X,Y)
    active#(first(X1,X2)) -> active#(X1) ->
    active#(dbl(s(X))) -> s#(s(dbl(X)))
    active#(first(X1,X2)) -> active#(X1) ->
    active#(dbl(s(X))) -> s#(dbl(X))
    active#(first(X1,X2)) -> active#(X1) ->
    active#(dbl(s(X))) -> dbl#(X)
    active#(first(X1,X2)) -> active#(X1) ->
    active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
    active#(first(X1,X2)) -> active#(X1) ->
    active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
    active#(first(X1,X2)) -> active#(X1) ->
    active#(sqr(s(X))) -> sqr#(X)
    active#(first(X1,X2)) -> active#(X1) ->
    active#(sqr(s(X))) -> dbl#(X)
    active#(first(X1,X2)) -> active#(X1) ->
    active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
    active#(first(X1,X2)) -> active#(X1) ->
    active#(terms(N)) -> recip#(sqr(N))
    active#(first(X1,X2)) -> active#(X1) ->
    active#(terms(N)) -> sqr#(N)
    active#(first(X1,X2)) -> active#(X1) ->
    active#(terms(N)) -> terms#(s(N))
    active#(first(X1,X2)) -> active#(X1) ->
    active#(terms(N)) -> s#(N)
    active#(add(s(X),Y)) -> add#(X,Y) ->
    add#(ok(X1),ok(X2)) -> add#(X1,X2)
    active#(add(s(X),Y)) -> add#(X,Y) ->
    add#(X1,mark(X2)) -> add#(X1,X2)
    active#(add(s(X),Y)) -> add#(X,Y) ->
    add#(mark(X1),X2) -> add#(X1,X2)
    active#(add(s(X),Y)) -> s#(add(X,Y)) -> s#(ok(X)) -> s#(X)
    active#(add(s(X),Y)) -> s#(add(X,Y)) ->
    s#(mark(X)) -> s#(X)
    active#(add(X1,X2)) -> add#(active(X1),X2) ->
    add#(ok(X1),ok(X2)) -> add#(X1,X2)
    active#(add(X1,X2)) -> add#(active(X1),X2) ->
    add#(X1,mark(X2)) -> add#(X1,X2)
    active#(add(X1,X2)) -> add#(active(X1),X2) ->
    add#(mark(X1),X2) -> add#(X1,X2)
    active#(add(X1,X2)) -> add#(X1,active(X2)) ->
    add#(ok(X1),ok(X2)) -> add#(X1,X2)
    active#(add(X1,X2)) -> add#(X1,active(X2)) ->
    add#(X1,mark(X2)) -> add#(X1,X2)
    active#(add(X1,X2)) -> add#(X1,active(X2)) ->
    add#(mark(X1),X2) -> add#(X1,X2)
    active#(add(X1,X2)) -> active#(X2) ->
    active#(first(X1,X2)) -> first#(X1,active(X2))
    active#(add(X1,X2)) -> active#(X2) ->
    active#(first(X1,X2)) -> active#(X2)
    active#(add(X1,X2)) -> active#(X2) ->
    active#(first(X1,X2)) -> first#(active(X1),X2)
    active#(add(X1,X2)) -> active#(X2) ->
    active#(first(X1,X2)) -> active#(X1)
    active#(add(X1,X2)) -> active#(X2) ->
    active#(dbl(X)) -> dbl#(active(X))
    active#(add(X1,X2)) -> active#(X2) ->
    active#(dbl(X)) -> active#(X)
    active#(add(X1,X2)) -> active#(X2) ->
    active#(add(X1,X2)) -> add#(X1,active(X2))
    active#(add(X1,X2)) -> active#(X2) ->
    active#(add(X1,X2)) -> active#(X2)
    active#(add(X1,X2)) -> active#(X2) ->
    active#(add(X1,X2)) -> add#(active(X1),X2)
    active#(add(X1,X2)) -> active#(X2) ->
    active#(add(X1,X2)) -> active#(X1)
    active#(add(X1,X2)) -> active#(X2) ->
    active#(s(X)) -> s#(active(X))
    active#(add(X1,X2)) -> active#(X2) ->
    active#(s(X)) -> active#(X)
    active#(add(X1,X2)) -> active#(X2) ->
    active#(sqr(X)) -> sqr#(active(X))
    active#(add(X1,X2)) -> active#(X2) ->
    active#(sqr(X)) -> active#(X)
    active#(add(X1,X2)) -> active#(X2) ->
    active#(recip(X)) -> recip#(active(X))
    active#(add(X1,X2)) -> active#(X2) ->
    active#(recip(X)) -> active#(X)
    active#(add(X1,X2)) -> active#(X2) ->
    active#(cons(X1,X2)) -> cons#(active(X1),X2)
    active#(add(X1,X2)) -> active#(X2) ->
    active#(cons(X1,X2)) -> active#(X1)
    active#(add(X1,X2)) -> active#(X2) ->
    active#(terms(X)) -> terms#(active(X))
    active#(add(X1,X2)) -> active#(X2) ->
    active#(terms(X)) -> active#(X)
    active#(add(X1,X2)) -> active#(X2) ->
    active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
    active#(add(X1,X2)) -> active#(X2) ->
    active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
    active#(add(X1,X2)) -> active#(X2) ->
    active#(add(s(X),Y)) -> s#(add(X,Y))
    active#(add(X1,X2)) -> active#(X2) ->
    active#(add(s(X),Y)) -> add#(X,Y)
    active#(add(X1,X2)) -> active#(X2) ->
    active#(dbl(s(X))) -> s#(s(dbl(X)))
    active#(add(X1,X2)) -> active#(X2) ->
    active#(dbl(s(X))) -> s#(dbl(X))
    active#(add(X1,X2)) -> active#(X2) ->
    active#(dbl(s(X))) -> dbl#(X)
    active#(add(X1,X2)) -> active#(X2) ->
    active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
    active#(add(X1,X2)) -> active#(X2) ->
    active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
    active#(add(X1,X2)) -> active#(X2) ->
    active#(sqr(s(X))) -> sqr#(X)
    active#(add(X1,X2)) -> active#(X2) ->
    active#(sqr(s(X))) -> dbl#(X)
    active#(add(X1,X2)) -> active#(X2) ->
    active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
    active#(add(X1,X2)) -> active#(X2) ->
    active#(terms(N)) -> recip#(sqr(N))
    active#(add(X1,X2)) -> active#(X2) ->
    active#(terms(N)) -> sqr#(N)
    active#(add(X1,X2)) -> active#(X2) ->
    active#(terms(N)) -> terms#(s(N))
    active#(add(X1,X2)) -> active#(X2) ->
    active#(terms(N)) -> s#(N)
    active#(add(X1,X2)) -> active#(X1) ->
    active#(first(X1,X2)) -> first#(X1,active(X2))
    active#(add(X1,X2)) -> active#(X1) ->
    active#(first(X1,X2)) -> active#(X2)
    active#(add(X1,X2)) -> active#(X1) ->
    active#(first(X1,X2)) -> first#(active(X1),X2)
    active#(add(X1,X2)) -> active#(X1) ->
    active#(first(X1,X2)) -> active#(X1)
    active#(add(X1,X2)) -> active#(X1) ->
    active#(dbl(X)) -> dbl#(active(X))
    active#(add(X1,X2)) -> active#(X1) ->
    active#(dbl(X)) -> active#(X)
    active#(add(X1,X2)) -> active#(X1) ->
    active#(add(X1,X2)) -> add#(X1,active(X2))
    active#(add(X1,X2)) -> active#(X1) ->
    active#(add(X1,X2)) -> active#(X2)
    active#(add(X1,X2)) -> active#(X1) ->
    active#(add(X1,X2)) -> add#(active(X1),X2)
    active#(add(X1,X2)) -> active#(X1) ->
    active#(add(X1,X2)) -> active#(X1)
    active#(add(X1,X2)) -> active#(X1) ->
    active#(s(X)) -> s#(active(X))
    active#(add(X1,X2)) -> active#(X1) ->
    active#(s(X)) -> active#(X)
    active#(add(X1,X2)) -> active#(X1) ->
    active#(sqr(X)) -> sqr#(active(X))
    active#(add(X1,X2)) -> active#(X1) ->
    active#(sqr(X)) -> active#(X)
    active#(add(X1,X2)) -> active#(X1) ->
    active#(recip(X)) -> recip#(active(X))
    active#(add(X1,X2)) -> active#(X1) ->
    active#(recip(X)) -> active#(X)
    active#(add(X1,X2)) -> active#(X1) ->
    active#(cons(X1,X2)) -> cons#(active(X1),X2)
    active#(add(X1,X2)) -> active#(X1) ->
    active#(cons(X1,X2)) -> active#(X1)
    active#(add(X1,X2)) -> active#(X1) ->
    active#(terms(X)) -> terms#(active(X))
    active#(add(X1,X2)) -> active#(X1) ->
    active#(terms(X)) -> active#(X)
    active#(add(X1,X2)) -> active#(X1) ->
    active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
    active#(add(X1,X2)) -> active#(X1) ->
    active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
    active#(add(X1,X2)) -> active#(X1) ->
    active#(add(s(X),Y)) -> s#(add(X,Y))
    active#(add(X1,X2)) -> active#(X1) ->
    active#(add(s(X),Y)) -> add#(X,Y)
    active#(add(X1,X2)) -> active#(X1) ->
    active#(dbl(s(X))) -> s#(s(dbl(X)))
    active#(add(X1,X2)) -> active#(X1) ->
    active#(dbl(s(X))) -> s#(dbl(X))
    active#(add(X1,X2)) -> active#(X1) ->
    active#(dbl(s(X))) -> dbl#(X)
    active#(add(X1,X2)) -> active#(X1) ->
    active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
    active#(add(X1,X2)) -> active#(X1) ->
    active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
    active#(add(X1,X2)) -> active#(X1) ->
    active#(sqr(s(X))) -> sqr#(X)
    active#(add(X1,X2)) -> active#(X1) ->
    active#(sqr(s(X))) -> dbl#(X)
    active#(add(X1,X2)) -> active#(X1) ->
    active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
    active#(add(X1,X2)) -> active#(X1) ->
    active#(terms(N)) -> recip#(sqr(N))
    active#(add(X1,X2)) -> active#(X1) ->
    active#(terms(N)) -> sqr#(N)
    active#(add(X1,X2)) -> active#(X1) ->
    active#(terms(N)) -> terms#(s(N))
    active#(add(X1,X2)) -> active#(X1) -> active#(terms(N)) -> s#(N)
    active#(dbl(s(X))) -> dbl#(X) -> dbl#(ok(X)) -> dbl#(X)
    active#(dbl(s(X))) -> dbl#(X) -> dbl#(mark(X)) -> dbl#(X)
    active#(dbl(s(X))) -> s#(dbl(X)) -> s#(ok(X)) -> s#(X)
    active#(dbl(s(X))) -> s#(dbl(X)) -> s#(mark(X)) -> s#(X)
    active#(dbl(s(X))) -> s#(s(dbl(X))) -> s#(ok(X)) -> s#(X)
    active#(dbl(s(X))) -> s#(s(dbl(X))) -> s#(mark(X)) -> s#(X)
    active#(dbl(X)) -> dbl#(active(X)) -> dbl#(ok(X)) -> dbl#(X)
    active#(dbl(X)) -> dbl#(active(X)) -> dbl#(mark(X)) -> dbl#(X)
    active#(dbl(X)) -> active#(X) ->
    active#(first(X1,X2)) -> first#(X1,active(X2))
    active#(dbl(X)) -> active#(X) ->
    active#(first(X1,X2)) -> active#(X2)
    active#(dbl(X)) -> active#(X) ->
    active#(first(X1,X2)) -> first#(active(X1),X2)
    active#(dbl(X)) -> active#(X) ->
    active#(first(X1,X2)) -> active#(X1)
    active#(dbl(X)) -> active#(X) ->
    active#(dbl(X)) -> dbl#(active(X))
    active#(dbl(X)) -> active#(X) -> active#(dbl(X)) -> active#(X)
    active#(dbl(X)) -> active#(X) ->
    active#(add(X1,X2)) -> add#(X1,active(X2))
    active#(dbl(X)) -> active#(X) ->
    active#(add(X1,X2)) -> active#(X2)
    active#(dbl(X)) -> active#(X) ->
    active#(add(X1,X2)) -> add#(active(X1),X2)
    active#(dbl(X)) -> active#(X) ->
    active#(add(X1,X2)) -> active#(X1)
    active#(dbl(X)) -> active#(X) -> active#(s(X)) -> s#(active(X))
    active#(dbl(X)) -> active#(X) -> active#(s(X)) -> active#(X)
    active#(dbl(X)) -> active#(X) ->
    active#(sqr(X)) -> sqr#(active(X))
    active#(dbl(X)) -> active#(X) -> active#(sqr(X)) -> active#(X)
    active#(dbl(X)) -> active#(X) ->
    active#(recip(X)) -> recip#(active(X))
    active#(dbl(X)) -> active#(X) -> active#(recip(X)) -> active#(X)
    active#(dbl(X)) -> active#(X) ->
    active#(cons(X1,X2)) -> cons#(active(X1),X2)
    active#(dbl(X)) -> active#(X) ->
    active#(cons(X1,X2)) -> active#(X1)
    active#(dbl(X)) -> active#(X) ->
    active#(terms(X)) -> terms#(active(X))
    active#(dbl(X)) -> active#(X) -> active#(terms(X)) -> active#(X)
    active#(dbl(X)) -> active#(X) ->
    active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
    active#(dbl(X)) -> active#(X) ->
    active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
    active#(dbl(X)) -> active#(X) ->
    active#(add(s(X),Y)) -> s#(add(X,Y))
    active#(dbl(X)) -> active#(X) -> active#(add(s(X),Y)) -> add#(X,Y)
    active#(dbl(X)) -> active#(X) ->
    active#(dbl(s(X))) -> s#(s(dbl(X)))
    active#(dbl(X)) -> active#(X) -> active#(dbl(s(X))) -> s#(dbl(X))
    active#(dbl(X)) -> active#(X) -> active#(dbl(s(X))) -> dbl#(X)
    active#(dbl(X)) -> active#(X) ->
    active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
    active#(dbl(X)) -> active#(X) ->
    active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
    active#(dbl(X)) -> active#(X) -> active#(sqr(s(X))) -> sqr#(X)
    active#(dbl(X)) -> active#(X) -> active#(sqr(s(X))) -> dbl#(X)
    active#(dbl(X)) -> active#(X) ->
    active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
    active#(dbl(X)) -> active#(X) ->
    active#(terms(N)) -> recip#(sqr(N))
    active#(dbl(X)) -> active#(X) -> active#(terms(N)) -> sqr#(N)
    active#(dbl(X)) -> active#(X) -> active#(terms(N)) -> terms#(s(N))
    active#(dbl(X)) -> active#(X) ->
    active#(terms(N)) -> s#(N)
    active#(cons(X1,X2)) -> cons#(active(X1),X2) ->
    cons#(ok(X1),ok(X2)) -> cons#(X1,X2)
    active#(cons(X1,X2)) -> cons#(active(X1),X2) ->
    cons#(mark(X1),X2) -> cons#(X1,X2)
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(first(X1,X2)) -> first#(X1,active(X2))
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(first(X1,X2)) -> active#(X2)
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(first(X1,X2)) -> first#(active(X1),X2)
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(first(X1,X2)) -> active#(X1)
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(dbl(X)) -> dbl#(active(X))
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(dbl(X)) -> active#(X)
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(add(X1,X2)) -> add#(X1,active(X2))
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(add(X1,X2)) -> active#(X2)
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(add(X1,X2)) -> add#(active(X1),X2)
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(add(X1,X2)) -> active#(X1)
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(s(X)) -> s#(active(X))
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(s(X)) -> active#(X)
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(sqr(X)) -> sqr#(active(X))
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(sqr(X)) -> active#(X)
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(recip(X)) -> recip#(active(X))
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(recip(X)) -> active#(X)
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(cons(X1,X2)) -> cons#(active(X1),X2)
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(cons(X1,X2)) -> active#(X1)
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(terms(X)) -> terms#(active(X))
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(terms(X)) -> active#(X)
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(add(s(X),Y)) -> s#(add(X,Y))
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(add(s(X),Y)) -> add#(X,Y)
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(dbl(s(X))) -> s#(s(dbl(X)))
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(dbl(s(X))) -> s#(dbl(X))
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(dbl(s(X))) -> dbl#(X)
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(sqr(s(X))) -> sqr#(X)
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(sqr(s(X))) -> dbl#(X)
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(terms(N)) -> recip#(sqr(N))
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(terms(N)) -> sqr#(N)
    active#(cons(X1,X2)) -> active#(X1) ->
    active#(terms(N)) -> terms#(s(N))
    active#(cons(X1,X2)) -> active#(X1) -> active#(terms(N)) -> s#(N)
    active#(s(X)) -> s#(active(X)) -> s#(ok(X)) -> s#(X)
    active#(s(X)) -> s#(active(X)) -> s#(mark(X)) -> s#(X)
    active#(s(X)) -> active#(X) ->
    active#(first(X1,X2)) -> first#(X1,active(X2))
    active#(s(X)) -> active#(X) -> active#(first(X1,X2)) -> active#(X2)
    active#(s(X)) -> active#(X) ->
    active#(first(X1,X2)) -> first#(active(X1),X2)
    active#(s(X)) -> active#(X) -> active#(first(X1,X2)) -> active#(X1)
    active#(s(X)) -> active#(X) -> active#(dbl(X)) -> dbl#(active(X))
    active#(s(X)) -> active#(X) -> active#(dbl(X)) -> active#(X)
    active#(s(X)) -> active#(X) ->
    active#(add(X1,X2)) -> add#(X1,active(X2))
    active#(s(X)) -> active#(X) -> active#(add(X1,X2)) -> active#(X2)
    active#(s(X)) -> active#(X) ->
    active#(add(X1,X2)) -> add#(active(X1),X2)
    active#(s(X)) -> active#(X) -> active#(add(X1,X2)) -> active#(X1)
    active#(s(X)) -> active#(X) -> active#(s(X)) -> s#(active(X))
    active#(s(X)) -> active#(X) -> active#(s(X)) -> active#(X)
    active#(s(X)) -> active#(X) -> active#(sqr(X)) -> sqr#(active(X))
    active#(s(X)) -> active#(X) -> active#(sqr(X)) -> active#(X)
    active#(s(X)) -> active#(X) ->
    active#(recip(X)) -> recip#(active(X))
    active#(s(X)) -> active#(X) -> active#(recip(X)) -> active#(X)
    active#(s(X)) -> active#(X) ->
    active#(cons(X1,X2)) -> cons#(active(X1),X2)
    active#(s(X)) -> active#(X) -> active#(cons(X1,X2)) -> active#(X1)
    active#(s(X)) -> active#(X) ->
    active#(terms(X)) -> terms#(active(X))
    active#(s(X)) -> active#(X) -> active#(terms(X)) -> active#(X)
    active#(s(X)) -> active#(X) ->
    active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
    active#(s(X)) -> active#(X) ->
    active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
    active#(s(X)) -> active#(X) -> active#(add(s(X),Y)) -> s#(add(X,Y))
    active#(s(X)) -> active#(X) -> active#(add(s(X),Y)) -> add#(X,Y)
    active#(s(X)) -> active#(X) -> active#(dbl(s(X))) -> s#(s(dbl(X)))
    active#(s(X)) -> active#(X) -> active#(dbl(s(X))) -> s#(dbl(X))
    active#(s(X)) -> active#(X) -> active#(dbl(s(X))) -> dbl#(X)
    active#(s(X)) -> active#(X) ->
    active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
    active#(s(X)) -> active#(X) ->
    active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
    active#(s(X)) -> active#(X) -> active#(sqr(s(X))) -> sqr#(X)
    active#(s(X)) -> active#(X) -> active#(sqr(s(X))) -> dbl#(X)
    active#(s(X)) -> active#(X) ->
    active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
    active#(s(X)) -> active#(X) -> active#(terms(N)) -> recip#(sqr(N))
    active#(s(X)) -> active#(X) -> active#(terms(N)) -> sqr#(N)
    active#(s(X)) -> active#(X) -> active#(terms(N)) -> terms#(s(N))
    active#(s(X)) -> active#(X) -> active#(terms(N)) -> s#(N)
    active#(recip(X)) -> recip#(active(X)) ->
    recip#(ok(X)) -> recip#(X)
    active#(recip(X)) -> recip#(active(X)) ->
    recip#(mark(X)) -> recip#(X)
    active#(recip(X)) -> active#(X) ->
    active#(first(X1,X2)) -> first#(X1,active(X2))
    active#(recip(X)) -> active#(X) ->
    active#(first(X1,X2)) -> active#(X2)
    active#(recip(X)) -> active#(X) ->
    active#(first(X1,X2)) -> first#(active(X1),X2)
    active#(recip(X)) -> active#(X) ->
    active#(first(X1,X2)) -> active#(X1)
    active#(recip(X)) -> active#(X) ->
    active#(dbl(X)) -> dbl#(active(X))
    active#(recip(X)) -> active#(X) -> active#(dbl(X)) -> active#(X)
    active#(recip(X)) -> active#(X) ->
    active#(add(X1,X2)) -> add#(X1,active(X2))
    active#(recip(X)) -> active#(X) ->
    active#(add(X1,X2)) -> active#(X2)
    active#(recip(X)) -> active#(X) ->
    active#(add(X1,X2)) -> add#(active(X1),X2)
    active#(recip(X)) -> active#(X) ->
    active#(add(X1,X2)) -> active#(X1)
    active#(recip(X)) -> active#(X) ->
    active#(s(X)) -> s#(active(X))
    active#(recip(X)) -> active#(X) -> active#(s(X)) -> active#(X)
    active#(recip(X)) -> active#(X) ->
    active#(sqr(X)) -> sqr#(active(X))
    active#(recip(X)) -> active#(X) -> active#(sqr(X)) -> active#(X)
    active#(recip(X)) -> active#(X) ->
    active#(recip(X)) -> recip#(active(X))
    active#(recip(X)) -> active#(X) ->
    active#(recip(X)) -> active#(X)
    active#(recip(X)) -> active#(X) ->
    active#(cons(X1,X2)) -> cons#(active(X1),X2)
    active#(recip(X)) -> active#(X) ->
    active#(cons(X1,X2)) -> active#(X1)
    active#(recip(X)) -> active#(X) ->
    active#(terms(X)) -> terms#(active(X))
    active#(recip(X)) -> active#(X) ->
    active#(terms(X)) -> active#(X)
    active#(recip(X)) -> active#(X) ->
    active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
    active#(recip(X)) -> active#(X) ->
    active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
    active#(recip(X)) -> active#(X) ->
    active#(add(s(X),Y)) -> s#(add(X,Y))
    active#(recip(X)) -> active#(X) ->
    active#(add(s(X),Y)) -> add#(X,Y)
    active#(recip(X)) -> active#(X) ->
    active#(dbl(s(X))) -> s#(s(dbl(X)))
    active#(recip(X)) -> active#(X) ->
    active#(dbl(s(X))) -> s#(dbl(X))
    active#(recip(X)) -> active#(X) -> active#(dbl(s(X))) -> dbl#(X)
    active#(recip(X)) -> active#(X) ->
    active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
    active#(recip(X)) -> active#(X) ->
    active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
    active#(recip(X)) -> active#(X) -> active#(sqr(s(X))) -> sqr#(X)
    active#(recip(X)) -> active#(X) -> active#(sqr(s(X))) -> dbl#(X)
    active#(recip(X)) -> active#(X) ->
    active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
    active#(recip(X)) -> active#(X) ->
    active#(terms(N)) -> recip#(sqr(N))
    active#(recip(X)) -> active#(X) -> active#(terms(N)) -> sqr#(N)
    active#(recip(X)) -> active#(X) ->
    active#(terms(N)) -> terms#(s(N))
    active#(recip(X)) -> active#(X) ->
    active#(terms(N)) -> s#(N)
    active#(sqr(s(X))) -> add#(sqr(X),dbl(X)) ->
    add#(ok(X1),ok(X2)) -> add#(X1,X2)
    active#(sqr(s(X))) -> add#(sqr(X),dbl(X)) ->
    add#(X1,mark(X2)) -> add#(X1,X2)
    active#(sqr(s(X))) -> add#(sqr(X),dbl(X)) ->
    add#(mark(X1),X2) -> add#(X1,X2)
    active#(sqr(s(X))) -> dbl#(X) -> dbl#(ok(X)) -> dbl#(X)
    active#(sqr(s(X))) -> dbl#(X) -> dbl#(mark(X)) -> dbl#(X)
    active#(sqr(s(X))) -> sqr#(X) -> sqr#(ok(X)) -> sqr#(X)
    active#(sqr(s(X))) -> sqr#(X) ->
    sqr#(mark(X)) -> sqr#(X)
    active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X))) ->
    s#(ok(X)) -> s#(X)
    active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X))) ->
    s#(mark(X)) -> s#(X)
    active#(sqr(X)) -> sqr#(active(X)) -> sqr#(ok(X)) -> sqr#(X)
    active#(sqr(X)) -> sqr#(active(X)) -> sqr#(mark(X)) -> sqr#(X)
    active#(sqr(X)) -> active#(X) ->
    active#(first(X1,X2)) -> first#(X1,active(X2))
    active#(sqr(X)) -> active#(X) ->
    active#(first(X1,X2)) -> active#(X2)
    active#(sqr(X)) -> active#(X) ->
    active#(first(X1,X2)) -> first#(active(X1),X2)
    active#(sqr(X)) -> active#(X) ->
    active#(first(X1,X2)) -> active#(X1)
    active#(sqr(X)) -> active#(X) ->
    active#(dbl(X)) -> dbl#(active(X))
    active#(sqr(X)) -> active#(X) -> active#(dbl(X)) -> active#(X)
    active#(sqr(X)) -> active#(X) ->
    active#(add(X1,X2)) -> add#(X1,active(X2))
    active#(sqr(X)) -> active#(X) ->
    active#(add(X1,X2)) -> active#(X2)
    active#(sqr(X)) -> active#(X) ->
    active#(add(X1,X2)) -> add#(active(X1),X2)
    active#(sqr(X)) -> active#(X) ->
    active#(add(X1,X2)) -> active#(X1)
    active#(sqr(X)) -> active#(X) -> active#(s(X)) -> s#(active(X))
    active#(sqr(X)) -> active#(X) -> active#(s(X)) -> active#(X)
    active#(sqr(X)) -> active#(X) ->
    active#(sqr(X)) -> sqr#(active(X))
    active#(sqr(X)) -> active#(X) -> active#(sqr(X)) -> active#(X)
    active#(sqr(X)) -> active#(X) ->
    active#(recip(X)) -> recip#(active(X))
    active#(sqr(X)) -> active#(X) -> active#(recip(X)) -> active#(X)
    active#(sqr(X)) -> active#(X) ->
    active#(cons(X1,X2)) -> cons#(active(X1),X2)
    active#(sqr(X)) -> active#(X) ->
    active#(cons(X1,X2)) -> active#(X1)
    active#(sqr(X)) -> active#(X) ->
    active#(terms(X)) -> terms#(active(X))
    active#(sqr(X)) -> active#(X) -> active#(terms(X)) -> active#(X)
    active#(sqr(X)) -> active#(X) ->
    active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
    active#(sqr(X)) -> active#(X) ->
    active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
    active#(sqr(X)) -> active#(X) ->
    active#(add(s(X),Y)) -> s#(add(X,Y))
    active#(sqr(X)) -> active#(X) -> active#(add(s(X),Y)) -> add#(X,Y)
    active#(sqr(X)) -> active#(X) ->
    active#(dbl(s(X))) -> s#(s(dbl(X)))
    active#(sqr(X)) -> active#(X) -> active#(dbl(s(X))) -> s#(dbl(X))
    active#(sqr(X)) -> active#(X) -> active#(dbl(s(X))) -> dbl#(X)
    active#(sqr(X)) -> active#(X) ->
    active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
    active#(sqr(X)) -> active#(X) ->
    active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
    active#(sqr(X)) -> active#(X) -> active#(sqr(s(X))) -> sqr#(X)
    active#(sqr(X)) -> active#(X) -> active#(sqr(s(X))) -> dbl#(X)
    active#(sqr(X)) -> active#(X) ->
    active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
    active#(sqr(X)) -> active#(X) ->
    active#(terms(N)) -> recip#(sqr(N))
    active#(sqr(X)) -> active#(X) -> active#(terms(N)) -> sqr#(N)
    active#(sqr(X)) -> active#(X) -> active#(terms(N)) -> terms#(s(N))
    active#(sqr(X)) -> active#(X) ->
    active#(terms(N)) -> s#(N)
    active#(terms(X)) -> terms#(active(X)) ->
    terms#(ok(X)) -> terms#(X)
    active#(terms(X)) -> terms#(active(X)) ->
    terms#(mark(X)) -> terms#(X)
    active#(terms(X)) -> active#(X) ->
    active#(first(X1,X2)) -> first#(X1,active(X2))
    active#(terms(X)) -> active#(X) ->
    active#(first(X1,X2)) -> active#(X2)
    active#(terms(X)) -> active#(X) ->
    active#(first(X1,X2)) -> first#(active(X1),X2)
    active#(terms(X)) -> active#(X) ->
    active#(first(X1,X2)) -> active#(X1)
    active#(terms(X)) -> active#(X) ->
    active#(dbl(X)) -> dbl#(active(X))
    active#(terms(X)) -> active#(X) -> active#(dbl(X)) -> active#(X)
    active#(terms(X)) -> active#(X) ->
    active#(add(X1,X2)) -> add#(X1,active(X2))
    active#(terms(X)) -> active#(X) ->
    active#(add(X1,X2)) -> active#(X2)
    active#(terms(X)) -> active#(X) ->
    active#(add(X1,X2)) -> add#(active(X1),X2)
    active#(terms(X)) -> active#(X) ->
    active#(add(X1,X2)) -> active#(X1)
    active#(terms(X)) -> active#(X) ->
    active#(s(X)) -> s#(active(X))
    active#(terms(X)) -> active#(X) -> active#(s(X)) -> active#(X)
    active#(terms(X)) -> active#(X) ->
    active#(sqr(X)) -> sqr#(active(X))
    active#(terms(X)) -> active#(X) -> active#(sqr(X)) -> active#(X)
    active#(terms(X)) -> active#(X) ->
    active#(recip(X)) -> recip#(active(X))
    active#(terms(X)) -> active#(X) ->
    active#(recip(X)) -> active#(X)
    active#(terms(X)) -> active#(X) ->
    active#(cons(X1,X2)) -> cons#(active(X1),X2)
    active#(terms(X)) -> active#(X) ->
    active#(cons(X1,X2)) -> active#(X1)
    active#(terms(X)) -> active#(X) ->
    active#(terms(X)) -> terms#(active(X))
    active#(terms(X)) -> active#(X) ->
    active#(terms(X)) -> active#(X)
    active#(terms(X)) -> active#(X) ->
    active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
    active#(terms(X)) -> active#(X) ->
    active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
    active#(terms(X)) -> active#(X) ->
    active#(add(s(X),Y)) -> s#(add(X,Y))
    active#(terms(X)) -> active#(X) ->
    active#(add(s(X),Y)) -> add#(X,Y)
    active#(terms(X)) -> active#(X) ->
    active#(dbl(s(X))) -> s#(s(dbl(X)))
    active#(terms(X)) -> active#(X) ->
    active#(dbl(s(X))) -> s#(dbl(X))
    active#(terms(X)) -> active#(X) -> active#(dbl(s(X))) -> dbl#(X)
    active#(terms(X)) -> active#(X) ->
    active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
    active#(terms(X)) -> active#(X) ->
    active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
    active#(terms(X)) -> active#(X) -> active#(sqr(s(X))) -> sqr#(X)
    active#(terms(X)) -> active#(X) -> active#(sqr(s(X))) -> dbl#(X)
    active#(terms(X)) -> active#(X) ->
    active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
    active#(terms(X)) -> active#(X) ->
    active#(terms(N)) -> recip#(sqr(N))
    active#(terms(X)) -> active#(X) -> active#(terms(N)) -> sqr#(N)
    active#(terms(X)) -> active#(X) ->
    active#(terms(N)) -> terms#(s(N))
    active#(terms(X)) -> active#(X) ->
    active#(terms(N)) -> s#(N)
    active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N))) ->
    cons#(ok(X1),ok(X2)) -> cons#(X1,X2)
    active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N))) ->
    cons#(mark(X1),X2) -> cons#(X1,X2)
    active#(terms(N)) -> recip#(sqr(N)) ->
    recip#(ok(X)) -> recip#(X)
    active#(terms(N)) -> recip#(sqr(N)) -> recip#(mark(X)) -> recip#(X)
    active#(terms(N)) -> sqr#(N) -> sqr#(ok(X)) -> sqr#(X)
    active#(terms(N)) -> sqr#(N) -> sqr#(mark(X)) -> sqr#(X)
    active#(terms(N)) -> terms#(s(N)) ->
    terms#(ok(X)) -> terms#(X)
    active#(terms(N)) -> terms#(s(N)) -> terms#(mark(X)) -> terms#(X)
    active#(terms(N)) -> s#(N) -> s#(ok(X)) -> s#(X)
    active#(terms(N)) -> s#(N) -> s#(mark(X)) -> s#(X)
   EDG Processor:
    DPs:
     active#(terms(N)) -> s#(N)
     active#(terms(N)) -> terms#(s(N))
     active#(terms(N)) -> sqr#(N)
     active#(terms(N)) -> recip#(sqr(N))
     active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
     active#(sqr(s(X))) -> dbl#(X)
     active#(sqr(s(X))) -> sqr#(X)
     active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
     active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
     active#(dbl(s(X))) -> dbl#(X)
     active#(dbl(s(X))) -> s#(dbl(X))
     active#(dbl(s(X))) -> s#(s(dbl(X)))
     active#(add(s(X),Y)) -> add#(X,Y)
     active#(add(s(X),Y)) -> s#(add(X,Y))
     active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
     active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
     active#(terms(X)) -> active#(X)
     active#(terms(X)) -> terms#(active(X))
     active#(cons(X1,X2)) -> active#(X1)
     active#(cons(X1,X2)) -> cons#(active(X1),X2)
     active#(recip(X)) -> active#(X)
     active#(recip(X)) -> recip#(active(X))
     active#(sqr(X)) -> active#(X)
     active#(sqr(X)) -> sqr#(active(X))
     active#(s(X)) -> active#(X)
     active#(s(X)) -> s#(active(X))
     active#(add(X1,X2)) -> active#(X1)
     active#(add(X1,X2)) -> add#(active(X1),X2)
     active#(add(X1,X2)) -> active#(X2)
     active#(add(X1,X2)) -> add#(X1,active(X2))
     active#(dbl(X)) -> active#(X)
     active#(dbl(X)) -> dbl#(active(X))
     active#(first(X1,X2)) -> active#(X1)
     active#(first(X1,X2)) -> first#(active(X1),X2)
     active#(first(X1,X2)) -> active#(X2)
     active#(first(X1,X2)) -> first#(X1,active(X2))
     terms#(mark(X)) -> terms#(X)
     cons#(mark(X1),X2) -> cons#(X1,X2)
     recip#(mark(X)) -> recip#(X)
     sqr#(mark(X)) -> sqr#(X)
     s#(mark(X)) -> s#(X)
     add#(mark(X1),X2) -> add#(X1,X2)
     add#(X1,mark(X2)) -> add#(X1,X2)
     dbl#(mark(X)) -> dbl#(X)
     first#(mark(X1),X2) -> first#(X1,X2)
     first#(X1,mark(X2)) -> first#(X1,X2)
     proper#(terms(X)) -> proper#(X)
     proper#(terms(X)) -> terms#(proper(X))
     proper#(cons(X1,X2)) -> proper#(X2)
     proper#(cons(X1,X2)) -> proper#(X1)
     proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
     proper#(recip(X)) -> proper#(X)
     proper#(recip(X)) -> recip#(proper(X))
     proper#(sqr(X)) -> proper#(X)
     proper#(sqr(X)) -> sqr#(proper(X))
     proper#(s(X)) -> proper#(X)
     proper#(s(X)) -> s#(proper(X))
     proper#(add(X1,X2)) -> proper#(X2)
     proper#(add(X1,X2)) -> proper#(X1)
     proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
     proper#(dbl(X)) -> proper#(X)
     proper#(dbl(X)) -> dbl#(proper(X))
     proper#(first(X1,X2)) -> proper#(X2)
     proper#(first(X1,X2)) -> proper#(X1)
     proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
     terms#(ok(X)) -> terms#(X)
     cons#(ok(X1),ok(X2)) -> cons#(X1,X2)
     recip#(ok(X)) -> recip#(X)
     sqr#(ok(X)) -> sqr#(X)
     s#(ok(X)) -> s#(X)
     add#(ok(X1),ok(X2)) -> add#(X1,X2)
     dbl#(ok(X)) -> dbl#(X)
     first#(ok(X1),ok(X2)) -> first#(X1,X2)
     top#(mark(X)) -> proper#(X)
     top#(mark(X)) -> top#(proper(X))
     top#(ok(X)) -> active#(X)
     top#(ok(X)) -> top#(active(X))
    TRS:
     active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
     active(sqr(0())) -> mark(0())
     active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
     active(dbl(0())) -> mark(0())
     active(dbl(s(X))) -> mark(s(s(dbl(X))))
     active(add(0(),X)) -> mark(X)
     active(add(s(X),Y)) -> mark(s(add(X,Y)))
     active(first(0(),X)) -> mark(nil())
     active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
     active(terms(X)) -> terms(active(X))
     active(cons(X1,X2)) -> cons(active(X1),X2)
     active(recip(X)) -> recip(active(X))
     active(sqr(X)) -> sqr(active(X))
     active(s(X)) -> s(active(X))
     active(add(X1,X2)) -> add(active(X1),X2)
     active(add(X1,X2)) -> add(X1,active(X2))
     active(dbl(X)) -> dbl(active(X))
     active(first(X1,X2)) -> first(active(X1),X2)
     active(first(X1,X2)) -> first(X1,active(X2))
     terms(mark(X)) -> mark(terms(X))
     cons(mark(X1),X2) -> mark(cons(X1,X2))
     recip(mark(X)) -> mark(recip(X))
     sqr(mark(X)) -> mark(sqr(X))
     s(mark(X)) -> mark(s(X))
     add(mark(X1),X2) -> mark(add(X1,X2))
     add(X1,mark(X2)) -> mark(add(X1,X2))
     dbl(mark(X)) -> mark(dbl(X))
     first(mark(X1),X2) -> mark(first(X1,X2))
     first(X1,mark(X2)) -> mark(first(X1,X2))
     proper(terms(X)) -> terms(proper(X))
     proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
     proper(recip(X)) -> recip(proper(X))
     proper(sqr(X)) -> sqr(proper(X))
     proper(s(X)) -> s(proper(X))
     proper(0()) -> ok(0())
     proper(add(X1,X2)) -> add(proper(X1),proper(X2))
     proper(dbl(X)) -> dbl(proper(X))
     proper(first(X1,X2)) -> first(proper(X1),proper(X2))
     proper(nil()) -> ok(nil())
     terms(ok(X)) -> ok(terms(X))
     cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
     recip(ok(X)) -> ok(recip(X))
     sqr(ok(X)) -> ok(sqr(X))
     s(ok(X)) -> ok(s(X))
     add(ok(X1),ok(X2)) -> ok(add(X1,X2))
     dbl(ok(X)) -> ok(dbl(X))
     first(ok(X1),ok(X2)) -> ok(first(X1,X2))
     top(mark(X)) -> top(proper(X))
     top(ok(X)) -> top(active(X))
    graph:
     top#(ok(X)) -> top#(active(X)) -> top#(mark(X)) -> proper#(X)
     top#(ok(X)) -> top#(active(X)) ->
     top#(mark(X)) -> top#(proper(X))
     top#(ok(X)) -> top#(active(X)) -> top#(ok(X)) -> active#(X)
     top#(ok(X)) -> top#(active(X)) -> top#(ok(X)) -> top#(active(X))
     top#(ok(X)) -> active#(X) -> active#(terms(N)) -> s#(N)
     top#(ok(X)) -> active#(X) -> active#(terms(N)) -> terms#(s(N))
     top#(ok(X)) -> active#(X) -> active#(terms(N)) -> sqr#(N)
     top#(ok(X)) -> active#(X) -> active#(terms(N)) -> recip#(sqr(N))
     top#(ok(X)) -> active#(X) ->
     active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
     top#(ok(X)) -> active#(X) -> active#(sqr(s(X))) -> dbl#(X)
     top#(ok(X)) -> active#(X) -> active#(sqr(s(X))) -> sqr#(X)
     top#(ok(X)) -> active#(X) ->
     active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
     top#(ok(X)) -> active#(X) ->
     active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
     top#(ok(X)) -> active#(X) -> active#(dbl(s(X))) -> dbl#(X)
     top#(ok(X)) -> active#(X) -> active#(dbl(s(X))) -> s#(dbl(X))
     top#(ok(X)) -> active#(X) -> active#(dbl(s(X))) -> s#(s(dbl(X)))
     top#(ok(X)) -> active#(X) -> active#(add(s(X),Y)) -> add#(X,Y)
     top#(ok(X)) -> active#(X) -> active#(add(s(X),Y)) -> s#(add(X,Y))
     top#(ok(X)) -> active#(X) ->
     active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
     top#(ok(X)) -> active#(X) ->
     active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
     top#(ok(X)) -> active#(X) -> active#(terms(X)) -> active#(X)
     top#(ok(X)) -> active#(X) -> active#(terms(X)) -> terms#(active(X))
     top#(ok(X)) -> active#(X) -> active#(cons(X1,X2)) -> active#(X1)
     top#(ok(X)) -> active#(X) ->
     active#(cons(X1,X2)) -> cons#(active(X1),X2)
     top#(ok(X)) -> active#(X) -> active#(recip(X)) -> active#(X)
     top#(ok(X)) -> active#(X) -> active#(recip(X)) -> recip#(active(X))
     top#(ok(X)) -> active#(X) -> active#(sqr(X)) -> active#(X)
     top#(ok(X)) -> active#(X) -> active#(sqr(X)) -> sqr#(active(X))
     top#(ok(X)) -> active#(X) -> active#(s(X)) -> active#(X)
     top#(ok(X)) -> active#(X) -> active#(s(X)) -> s#(active(X))
     top#(ok(X)) -> active#(X) -> active#(add(X1,X2)) -> active#(X1)
     top#(ok(X)) -> active#(X) ->
     active#(add(X1,X2)) -> add#(active(X1),X2)
     top#(ok(X)) -> active#(X) -> active#(add(X1,X2)) -> active#(X2)
     top#(ok(X)) -> active#(X) ->
     active#(add(X1,X2)) -> add#(X1,active(X2))
     top#(ok(X)) -> active#(X) -> active#(dbl(X)) -> active#(X)
     top#(ok(X)) -> active#(X) -> active#(dbl(X)) -> dbl#(active(X))
     top#(ok(X)) -> active#(X) -> active#(first(X1,X2)) -> active#(X1)
     top#(ok(X)) -> active#(X) ->
     active#(first(X1,X2)) -> first#(active(X1),X2)
     top#(ok(X)) -> active#(X) -> active#(first(X1,X2)) -> active#(X2)
     top#(ok(X)) -> active#(X) ->
     active#(first(X1,X2)) -> first#(X1,active(X2))
     top#(mark(X)) -> top#(proper(X)) ->
     top#(mark(X)) -> proper#(X)
     top#(mark(X)) -> top#(proper(X)) ->
     top#(mark(X)) -> top#(proper(X))
     top#(mark(X)) -> top#(proper(X)) -> top#(ok(X)) -> active#(X)
     top#(mark(X)) -> top#(proper(X)) -> top#(ok(X)) -> top#(active(X))
     top#(mark(X)) -> proper#(X) -> proper#(terms(X)) -> proper#(X)
     top#(mark(X)) -> proper#(X) ->
     proper#(terms(X)) -> terms#(proper(X))
     top#(mark(X)) -> proper#(X) -> proper#(cons(X1,X2)) -> proper#(X2)
     top#(mark(X)) -> proper#(X) -> proper#(cons(X1,X2)) -> proper#(X1)
     top#(mark(X)) -> proper#(X) ->
     proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
     top#(mark(X)) -> proper#(X) -> proper#(recip(X)) -> proper#(X)
     top#(mark(X)) -> proper#(X) ->
     proper#(recip(X)) -> recip#(proper(X))
     top#(mark(X)) -> proper#(X) -> proper#(sqr(X)) -> proper#(X)
     top#(mark(X)) -> proper#(X) -> proper#(sqr(X)) -> sqr#(proper(X))
     top#(mark(X)) -> proper#(X) -> proper#(s(X)) -> proper#(X)
     top#(mark(X)) -> proper#(X) -> proper#(s(X)) -> s#(proper(X))
     top#(mark(X)) -> proper#(X) -> proper#(add(X1,X2)) -> proper#(X2)
     top#(mark(X)) -> proper#(X) -> proper#(add(X1,X2)) -> proper#(X1)
     top#(mark(X)) -> proper#(X) ->
     proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
     top#(mark(X)) -> proper#(X) -> proper#(dbl(X)) -> proper#(X)
     top#(mark(X)) -> proper#(X) -> proper#(dbl(X)) -> dbl#(proper(X))
     top#(mark(X)) -> proper#(X) -> proper#(first(X1,X2)) -> proper#(X2)
     top#(mark(X)) -> proper#(X) -> proper#(first(X1,X2)) -> proper#(X1)
     top#(mark(X)) -> proper#(X) ->
     proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
     proper#(first(X1,X2)) -> proper#(X2) ->
     proper#(terms(X)) -> proper#(X)
     proper#(first(X1,X2)) -> proper#(X2) ->
     proper#(terms(X)) -> terms#(proper(X))
     proper#(first(X1,X2)) -> proper#(X2) ->
     proper#(cons(X1,X2)) -> proper#(X2)
     proper#(first(X1,X2)) -> proper#(X2) ->
     proper#(cons(X1,X2)) -> proper#(X1)
     proper#(first(X1,X2)) -> proper#(X2) ->
     proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
     proper#(first(X1,X2)) -> proper#(X2) ->
     proper#(recip(X)) -> proper#(X)
     proper#(first(X1,X2)) -> proper#(X2) ->
     proper#(recip(X)) -> recip#(proper(X))
     proper#(first(X1,X2)) -> proper#(X2) ->
     proper#(sqr(X)) -> proper#(X)
     proper#(first(X1,X2)) -> proper#(X2) ->
     proper#(sqr(X)) -> sqr#(proper(X))
     proper#(first(X1,X2)) -> proper#(X2) ->
     proper#(s(X)) -> proper#(X)
     proper#(first(X1,X2)) -> proper#(X2) ->
     proper#(s(X)) -> s#(proper(X))
     proper#(first(X1,X2)) -> proper#(X2) ->
     proper#(add(X1,X2)) -> proper#(X2)
     proper#(first(X1,X2)) -> proper#(X2) ->
     proper#(add(X1,X2)) -> proper#(X1)
     proper#(first(X1,X2)) -> proper#(X2) ->
     proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
     proper#(first(X1,X2)) -> proper#(X2) ->
     proper#(dbl(X)) -> proper#(X)
     proper#(first(X1,X2)) -> proper#(X2) ->
     proper#(dbl(X)) -> dbl#(proper(X))
     proper#(first(X1,X2)) -> proper#(X2) ->
     proper#(first(X1,X2)) -> proper#(X2)
     proper#(first(X1,X2)) -> proper#(X2) ->
     proper#(first(X1,X2)) -> proper#(X1)
     proper#(first(X1,X2)) -> proper#(X2) ->
     proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
     proper#(first(X1,X2)) -> proper#(X1) ->
     proper#(terms(X)) -> proper#(X)
     proper#(first(X1,X2)) -> proper#(X1) ->
     proper#(terms(X)) -> terms#(proper(X))
     proper#(first(X1,X2)) -> proper#(X1) ->
     proper#(cons(X1,X2)) -> proper#(X2)
     proper#(first(X1,X2)) -> proper#(X1) ->
     proper#(cons(X1,X2)) -> proper#(X1)
     proper#(first(X1,X2)) -> proper#(X1) ->
     proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
     proper#(first(X1,X2)) -> proper#(X1) ->
     proper#(recip(X)) -> proper#(X)
     proper#(first(X1,X2)) -> proper#(X1) ->
     proper#(recip(X)) -> recip#(proper(X))
     proper#(first(X1,X2)) -> proper#(X1) ->
     proper#(sqr(X)) -> proper#(X)
     proper#(first(X1,X2)) -> proper#(X1) ->
     proper#(sqr(X)) -> sqr#(proper(X))
     proper#(first(X1,X2)) -> proper#(X1) ->
     proper#(s(X)) -> proper#(X)
     proper#(first(X1,X2)) -> proper#(X1) ->
     proper#(s(X)) -> s#(proper(X))
     proper#(first(X1,X2)) -> proper#(X1) ->
     proper#(add(X1,X2)) -> proper#(X2)
     proper#(first(X1,X2)) -> proper#(X1) ->
     proper#(add(X1,X2)) -> proper#(X1)
     proper#(first(X1,X2)) -> proper#(X1) ->
     proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
     proper#(first(X1,X2)) -> proper#(X1) ->
     proper#(dbl(X)) -> proper#(X)
     proper#(first(X1,X2)) -> proper#(X1) ->
     proper#(dbl(X)) -> dbl#(proper(X))
     proper#(first(X1,X2)) -> proper#(X1) ->
     proper#(first(X1,X2)) -> proper#(X2)
     proper#(first(X1,X2)) -> proper#(X1) ->
     proper#(first(X1,X2)) -> proper#(X1)
     proper#(first(X1,X2)) -> proper#(X1) ->
     proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
     proper#(first(X1,X2)) -> first#(proper(X1),proper(X2)) ->
     first#(mark(X1),X2) -> first#(X1,X2)
     proper#(first(X1,X2)) -> first#(proper(X1),proper(X2)) ->
     first#(X1,mark(X2)) -> first#(X1,X2)
     proper#(first(X1,X2)) -> first#(proper(X1),proper(X2)) ->
     first#(ok(X1),ok(X2)) -> first#(X1,X2)
     proper#(add(X1,X2)) -> proper#(X2) ->
     proper#(terms(X)) -> proper#(X)
     proper#(add(X1,X2)) -> proper#(X2) ->
     proper#(terms(X)) -> terms#(proper(X))
     proper#(add(X1,X2)) -> proper#(X2) ->
     proper#(cons(X1,X2)) -> proper#(X2)
     proper#(add(X1,X2)) -> proper#(X2) ->
     proper#(cons(X1,X2)) -> proper#(X1)
     proper#(add(X1,X2)) -> proper#(X2) ->
     proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
     proper#(add(X1,X2)) -> proper#(X2) ->
     proper#(recip(X)) -> proper#(X)
     proper#(add(X1,X2)) -> proper#(X2) ->
     proper#(recip(X)) -> recip#(proper(X))
     proper#(add(X1,X2)) -> proper#(X2) ->
     proper#(sqr(X)) -> proper#(X)
     proper#(add(X1,X2)) -> proper#(X2) ->
     proper#(sqr(X)) -> sqr#(proper(X))
     proper#(add(X1,X2)) -> proper#(X2) ->
     proper#(s(X)) -> proper#(X)
     proper#(add(X1,X2)) -> proper#(X2) ->
     proper#(s(X)) -> s#(proper(X))
     proper#(add(X1,X2)) -> proper#(X2) ->
     proper#(add(X1,X2)) -> proper#(X2)
     proper#(add(X1,X2)) -> proper#(X2) ->
     proper#(add(X1,X2)) -> proper#(X1)
     proper#(add(X1,X2)) -> proper#(X2) ->
     proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
     proper#(add(X1,X2)) -> proper#(X2) ->
     proper#(dbl(X)) -> proper#(X)
     proper#(add(X1,X2)) -> proper#(X2) ->
     proper#(dbl(X)) -> dbl#(proper(X))
     proper#(add(X1,X2)) -> proper#(X2) ->
     proper#(first(X1,X2)) -> proper#(X2)
     proper#(add(X1,X2)) -> proper#(X2) ->
     proper#(first(X1,X2)) -> proper#(X1)
     proper#(add(X1,X2)) -> proper#(X2) ->
     proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
     proper#(add(X1,X2)) -> proper#(X1) ->
     proper#(terms(X)) -> proper#(X)
     proper#(add(X1,X2)) -> proper#(X1) ->
     proper#(terms(X)) -> terms#(proper(X))
     proper#(add(X1,X2)) -> proper#(X1) ->
     proper#(cons(X1,X2)) -> proper#(X2)
     proper#(add(X1,X2)) -> proper#(X1) ->
     proper#(cons(X1,X2)) -> proper#(X1)
     proper#(add(X1,X2)) -> proper#(X1) ->
     proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
     proper#(add(X1,X2)) -> proper#(X1) ->
     proper#(recip(X)) -> proper#(X)
     proper#(add(X1,X2)) -> proper#(X1) ->
     proper#(recip(X)) -> recip#(proper(X))
     proper#(add(X1,X2)) -> proper#(X1) ->
     proper#(sqr(X)) -> proper#(X)
     proper#(add(X1,X2)) -> proper#(X1) ->
     proper#(sqr(X)) -> sqr#(proper(X))
     proper#(add(X1,X2)) -> proper#(X1) ->
     proper#(s(X)) -> proper#(X)
     proper#(add(X1,X2)) -> proper#(X1) ->
     proper#(s(X)) -> s#(proper(X))
     proper#(add(X1,X2)) -> proper#(X1) ->
     proper#(add(X1,X2)) -> proper#(X2)
     proper#(add(X1,X2)) -> proper#(X1) ->
     proper#(add(X1,X2)) -> proper#(X1)
     proper#(add(X1,X2)) -> proper#(X1) ->
     proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
     proper#(add(X1,X2)) -> proper#(X1) ->
     proper#(dbl(X)) -> proper#(X)
     proper#(add(X1,X2)) -> proper#(X1) ->
     proper#(dbl(X)) -> dbl#(proper(X))
     proper#(add(X1,X2)) -> proper#(X1) ->
     proper#(first(X1,X2)) -> proper#(X2)
     proper#(add(X1,X2)) -> proper#(X1) ->
     proper#(first(X1,X2)) -> proper#(X1)
     proper#(add(X1,X2)) -> proper#(X1) ->
     proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
     proper#(add(X1,X2)) -> add#(proper(X1),proper(X2)) ->
     add#(mark(X1),X2) -> add#(X1,X2)
     proper#(add(X1,X2)) -> add#(proper(X1),proper(X2)) ->
     add#(X1,mark(X2)) -> add#(X1,X2)
     proper#(add(X1,X2)) -> add#(proper(X1),proper(X2)) ->
     add#(ok(X1),ok(X2)) -> add#(X1,X2)
     proper#(dbl(X)) -> proper#(X) -> proper#(terms(X)) -> proper#(X)
     proper#(dbl(X)) -> proper#(X) ->
     proper#(terms(X)) -> terms#(proper(X))
     proper#(dbl(X)) -> proper#(X) ->
     proper#(cons(X1,X2)) -> proper#(X2)
     proper#(dbl(X)) -> proper#(X) ->
     proper#(cons(X1,X2)) -> proper#(X1)
     proper#(dbl(X)) -> proper#(X) ->
     proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
     proper#(dbl(X)) -> proper#(X) -> proper#(recip(X)) -> proper#(X)
     proper#(dbl(X)) -> proper#(X) ->
     proper#(recip(X)) -> recip#(proper(X))
     proper#(dbl(X)) -> proper#(X) -> proper#(sqr(X)) -> proper#(X)
     proper#(dbl(X)) -> proper#(X) ->
     proper#(sqr(X)) -> sqr#(proper(X))
     proper#(dbl(X)) -> proper#(X) -> proper#(s(X)) -> proper#(X)
     proper#(dbl(X)) -> proper#(X) -> proper#(s(X)) -> s#(proper(X))
     proper#(dbl(X)) -> proper#(X) ->
     proper#(add(X1,X2)) -> proper#(X2)
     proper#(dbl(X)) -> proper#(X) ->
     proper#(add(X1,X2)) -> proper#(X1)
     proper#(dbl(X)) -> proper#(X) ->
     proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
     proper#(dbl(X)) -> proper#(X) -> proper#(dbl(X)) -> proper#(X)
     proper#(dbl(X)) -> proper#(X) ->
     proper#(dbl(X)) -> dbl#(proper(X))
     proper#(dbl(X)) -> proper#(X) ->
     proper#(first(X1,X2)) -> proper#(X2)
     proper#(dbl(X)) -> proper#(X) ->
     proper#(first(X1,X2)) -> proper#(X1)
     proper#(dbl(X)) -> proper#(X) ->
     proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
     proper#(dbl(X)) -> dbl#(proper(X)) ->
     dbl#(mark(X)) -> dbl#(X)
     proper#(dbl(X)) -> dbl#(proper(X)) ->
     dbl#(ok(X)) -> dbl#(X)
     proper#(cons(X1,X2)) -> proper#(X2) ->
     proper#(terms(X)) -> proper#(X)
     proper#(cons(X1,X2)) -> proper#(X2) ->
     proper#(terms(X)) -> terms#(proper(X))
     proper#(cons(X1,X2)) -> proper#(X2) ->
     proper#(cons(X1,X2)) -> proper#(X2)
     proper#(cons(X1,X2)) -> proper#(X2) ->
     proper#(cons(X1,X2)) -> proper#(X1)
     proper#(cons(X1,X2)) -> proper#(X2) ->
     proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
     proper#(cons(X1,X2)) -> proper#(X2) ->
     proper#(recip(X)) -> proper#(X)
     proper#(cons(X1,X2)) -> proper#(X2) ->
     proper#(recip(X)) -> recip#(proper(X))
     proper#(cons(X1,X2)) -> proper#(X2) ->
     proper#(sqr(X)) -> proper#(X)
     proper#(cons(X1,X2)) -> proper#(X2) ->
     proper#(sqr(X)) -> sqr#(proper(X))
     proper#(cons(X1,X2)) -> proper#(X2) ->
     proper#(s(X)) -> proper#(X)
     proper#(cons(X1,X2)) -> proper#(X2) ->
     proper#(s(X)) -> s#(proper(X))
     proper#(cons(X1,X2)) -> proper#(X2) ->
     proper#(add(X1,X2)) -> proper#(X2)
     proper#(cons(X1,X2)) -> proper#(X2) ->
     proper#(add(X1,X2)) -> proper#(X1)
     proper#(cons(X1,X2)) -> proper#(X2) ->
     proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
     proper#(cons(X1,X2)) -> proper#(X2) ->
     proper#(dbl(X)) -> proper#(X)
     proper#(cons(X1,X2)) -> proper#(X2) ->
     proper#(dbl(X)) -> dbl#(proper(X))
     proper#(cons(X1,X2)) -> proper#(X2) ->
     proper#(first(X1,X2)) -> proper#(X2)
     proper#(cons(X1,X2)) -> proper#(X2) ->
     proper#(first(X1,X2)) -> proper#(X1)
     proper#(cons(X1,X2)) -> proper#(X2) ->
     proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
     proper#(cons(X1,X2)) -> proper#(X1) ->
     proper#(terms(X)) -> proper#(X)
     proper#(cons(X1,X2)) -> proper#(X1) ->
     proper#(terms(X)) -> terms#(proper(X))
     proper#(cons(X1,X2)) -> proper#(X1) ->
     proper#(cons(X1,X2)) -> proper#(X2)
     proper#(cons(X1,X2)) -> proper#(X1) ->
     proper#(cons(X1,X2)) -> proper#(X1)
     proper#(cons(X1,X2)) -> proper#(X1) ->
     proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
     proper#(cons(X1,X2)) -> proper#(X1) ->
     proper#(recip(X)) -> proper#(X)
     proper#(cons(X1,X2)) -> proper#(X1) ->
     proper#(recip(X)) -> recip#(proper(X))
     proper#(cons(X1,X2)) -> proper#(X1) ->
     proper#(sqr(X)) -> proper#(X)
     proper#(cons(X1,X2)) -> proper#(X1) ->
     proper#(sqr(X)) -> sqr#(proper(X))
     proper#(cons(X1,X2)) -> proper#(X1) ->
     proper#(s(X)) -> proper#(X)
     proper#(cons(X1,X2)) -> proper#(X1) ->
     proper#(s(X)) -> s#(proper(X))
     proper#(cons(X1,X2)) -> proper#(X1) ->
     proper#(add(X1,X2)) -> proper#(X2)
     proper#(cons(X1,X2)) -> proper#(X1) ->
     proper#(add(X1,X2)) -> proper#(X1)
     proper#(cons(X1,X2)) -> proper#(X1) ->
     proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
     proper#(cons(X1,X2)) -> proper#(X1) ->
     proper#(dbl(X)) -> proper#(X)
     proper#(cons(X1,X2)) -> proper#(X1) ->
     proper#(dbl(X)) -> dbl#(proper(X))
     proper#(cons(X1,X2)) -> proper#(X1) ->
     proper#(first(X1,X2)) -> proper#(X2)
     proper#(cons(X1,X2)) -> proper#(X1) ->
     proper#(first(X1,X2)) -> proper#(X1)
     proper#(cons(X1,X2)) -> proper#(X1) ->
     proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
     proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2)) ->
     cons#(mark(X1),X2) -> cons#(X1,X2)
     proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2)) ->
     cons#(ok(X1),ok(X2)) -> cons#(X1,X2)
     proper#(s(X)) -> proper#(X) -> proper#(terms(X)) -> proper#(X)
     proper#(s(X)) -> proper#(X) ->
     proper#(terms(X)) -> terms#(proper(X))
     proper#(s(X)) -> proper#(X) -> proper#(cons(X1,X2)) -> proper#(X2)
     proper#(s(X)) -> proper#(X) -> proper#(cons(X1,X2)) -> proper#(X1)
     proper#(s(X)) -> proper#(X) ->
     proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
     proper#(s(X)) -> proper#(X) -> proper#(recip(X)) -> proper#(X)
     proper#(s(X)) -> proper#(X) ->
     proper#(recip(X)) -> recip#(proper(X))
     proper#(s(X)) -> proper#(X) -> proper#(sqr(X)) -> proper#(X)
     proper#(s(X)) -> proper#(X) -> proper#(sqr(X)) -> sqr#(proper(X))
     proper#(s(X)) -> proper#(X) -> proper#(s(X)) -> proper#(X)
     proper#(s(X)) -> proper#(X) -> proper#(s(X)) -> s#(proper(X))
     proper#(s(X)) -> proper#(X) -> proper#(add(X1,X2)) -> proper#(X2)
     proper#(s(X)) -> proper#(X) -> proper#(add(X1,X2)) -> proper#(X1)
     proper#(s(X)) -> proper#(X) ->
     proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
     proper#(s(X)) -> proper#(X) -> proper#(dbl(X)) -> proper#(X)
     proper#(s(X)) -> proper#(X) -> proper#(dbl(X)) -> dbl#(proper(X))
     proper#(s(X)) -> proper#(X) -> proper#(first(X1,X2)) -> proper#(X2)
     proper#(s(X)) -> proper#(X) -> proper#(first(X1,X2)) -> proper#(X1)
     proper#(s(X)) -> proper#(X) ->
     proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
     proper#(s(X)) -> s#(proper(X)) -> s#(mark(X)) -> s#(X)
     proper#(s(X)) -> s#(proper(X)) -> s#(ok(X)) -> s#(X)
     proper#(recip(X)) -> proper#(X) ->
     proper#(terms(X)) -> proper#(X)
     proper#(recip(X)) -> proper#(X) ->
     proper#(terms(X)) -> terms#(proper(X))
     proper#(recip(X)) -> proper#(X) ->
     proper#(cons(X1,X2)) -> proper#(X2)
     proper#(recip(X)) -> proper#(X) ->
     proper#(cons(X1,X2)) -> proper#(X1)
     proper#(recip(X)) -> proper#(X) ->
     proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
     proper#(recip(X)) -> proper#(X) ->
     proper#(recip(X)) -> proper#(X)
     proper#(recip(X)) -> proper#(X) ->
     proper#(recip(X)) -> recip#(proper(X))
     proper#(recip(X)) -> proper#(X) ->
     proper#(sqr(X)) -> proper#(X)
     proper#(recip(X)) -> proper#(X) ->
     proper#(sqr(X)) -> sqr#(proper(X))
     proper#(recip(X)) -> proper#(X) -> proper#(s(X)) -> proper#(X)
     proper#(recip(X)) -> proper#(X) ->
     proper#(s(X)) -> s#(proper(X))
     proper#(recip(X)) -> proper#(X) ->
     proper#(add(X1,X2)) -> proper#(X2)
     proper#(recip(X)) -> proper#(X) ->
     proper#(add(X1,X2)) -> proper#(X1)
     proper#(recip(X)) -> proper#(X) ->
     proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
     proper#(recip(X)) -> proper#(X) ->
     proper#(dbl(X)) -> proper#(X)
     proper#(recip(X)) -> proper#(X) ->
     proper#(dbl(X)) -> dbl#(proper(X))
     proper#(recip(X)) -> proper#(X) ->
     proper#(first(X1,X2)) -> proper#(X2)
     proper#(recip(X)) -> proper#(X) ->
     proper#(first(X1,X2)) -> proper#(X1)
     proper#(recip(X)) -> proper#(X) ->
     proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
     proper#(recip(X)) -> recip#(proper(X)) ->
     recip#(mark(X)) -> recip#(X)
     proper#(recip(X)) -> recip#(proper(X)) ->
     recip#(ok(X)) -> recip#(X)
     proper#(sqr(X)) -> proper#(X) -> proper#(terms(X)) -> proper#(X)
     proper#(sqr(X)) -> proper#(X) ->
     proper#(terms(X)) -> terms#(proper(X))
     proper#(sqr(X)) -> proper#(X) ->
     proper#(cons(X1,X2)) -> proper#(X2)
     proper#(sqr(X)) -> proper#(X) ->
     proper#(cons(X1,X2)) -> proper#(X1)
     proper#(sqr(X)) -> proper#(X) ->
     proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
     proper#(sqr(X)) -> proper#(X) -> proper#(recip(X)) -> proper#(X)
     proper#(sqr(X)) -> proper#(X) ->
     proper#(recip(X)) -> recip#(proper(X))
     proper#(sqr(X)) -> proper#(X) -> proper#(sqr(X)) -> proper#(X)
     proper#(sqr(X)) -> proper#(X) ->
     proper#(sqr(X)) -> sqr#(proper(X))
     proper#(sqr(X)) -> proper#(X) -> proper#(s(X)) -> proper#(X)
     proper#(sqr(X)) -> proper#(X) -> proper#(s(X)) -> s#(proper(X))
     proper#(sqr(X)) -> proper#(X) ->
     proper#(add(X1,X2)) -> proper#(X2)
     proper#(sqr(X)) -> proper#(X) ->
     proper#(add(X1,X2)) -> proper#(X1)
     proper#(sqr(X)) -> proper#(X) ->
     proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
     proper#(sqr(X)) -> proper#(X) -> proper#(dbl(X)) -> proper#(X)
     proper#(sqr(X)) -> proper#(X) ->
     proper#(dbl(X)) -> dbl#(proper(X))
     proper#(sqr(X)) -> proper#(X) ->
     proper#(first(X1,X2)) -> proper#(X2)
     proper#(sqr(X)) -> proper#(X) ->
     proper#(first(X1,X2)) -> proper#(X1)
     proper#(sqr(X)) -> proper#(X) ->
     proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
     proper#(sqr(X)) -> sqr#(proper(X)) ->
     sqr#(mark(X)) -> sqr#(X)
     proper#(sqr(X)) -> sqr#(proper(X)) -> sqr#(ok(X)) -> sqr#(X)
     proper#(terms(X)) -> proper#(X) ->
     proper#(terms(X)) -> proper#(X)
     proper#(terms(X)) -> proper#(X) ->
     proper#(terms(X)) -> terms#(proper(X))
     proper#(terms(X)) -> proper#(X) ->
     proper#(cons(X1,X2)) -> proper#(X2)
     proper#(terms(X)) -> proper#(X) ->
     proper#(cons(X1,X2)) -> proper#(X1)
     proper#(terms(X)) -> proper#(X) ->
     proper#(cons(X1,X2)) -> cons#(proper(X1),proper(X2))
     proper#(terms(X)) -> proper#(X) ->
     proper#(recip(X)) -> proper#(X)
     proper#(terms(X)) -> proper#(X) ->
     proper#(recip(X)) -> recip#(proper(X))
     proper#(terms(X)) -> proper#(X) ->
     proper#(sqr(X)) -> proper#(X)
     proper#(terms(X)) -> proper#(X) ->
     proper#(sqr(X)) -> sqr#(proper(X))
     proper#(terms(X)) -> proper#(X) -> proper#(s(X)) -> proper#(X)
     proper#(terms(X)) -> proper#(X) ->
     proper#(s(X)) -> s#(proper(X))
     proper#(terms(X)) -> proper#(X) ->
     proper#(add(X1,X2)) -> proper#(X2)
     proper#(terms(X)) -> proper#(X) ->
     proper#(add(X1,X2)) -> proper#(X1)
     proper#(terms(X)) -> proper#(X) ->
     proper#(add(X1,X2)) -> add#(proper(X1),proper(X2))
     proper#(terms(X)) -> proper#(X) ->
     proper#(dbl(X)) -> proper#(X)
     proper#(terms(X)) -> proper#(X) ->
     proper#(dbl(X)) -> dbl#(proper(X))
     proper#(terms(X)) -> proper#(X) ->
     proper#(first(X1,X2)) -> proper#(X2)
     proper#(terms(X)) -> proper#(X) ->
     proper#(first(X1,X2)) -> proper#(X1)
     proper#(terms(X)) -> proper#(X) ->
     proper#(first(X1,X2)) -> first#(proper(X1),proper(X2))
     proper#(terms(X)) -> terms#(proper(X)) ->
     terms#(mark(X)) -> terms#(X)
     proper#(terms(X)) -> terms#(proper(X)) ->
     terms#(ok(X)) -> terms#(X)
     first#(ok(X1),ok(X2)) -> first#(X1,X2) ->
     first#(mark(X1),X2) -> first#(X1,X2)
     first#(ok(X1),ok(X2)) -> first#(X1,X2) ->
     first#(X1,mark(X2)) -> first#(X1,X2)
     first#(ok(X1),ok(X2)) -> first#(X1,X2) ->
     first#(ok(X1),ok(X2)) -> first#(X1,X2)
     first#(mark(X1),X2) -> first#(X1,X2) ->
     first#(mark(X1),X2) -> first#(X1,X2)
     first#(mark(X1),X2) -> first#(X1,X2) ->
     first#(X1,mark(X2)) -> first#(X1,X2)
     first#(mark(X1),X2) -> first#(X1,X2) ->
     first#(ok(X1),ok(X2)) -> first#(X1,X2)
     first#(X1,mark(X2)) -> first#(X1,X2) ->
     first#(mark(X1),X2) -> first#(X1,X2)
     first#(X1,mark(X2)) -> first#(X1,X2) ->
     first#(X1,mark(X2)) -> first#(X1,X2)
     first#(X1,mark(X2)) -> first#(X1,X2) ->
     first#(ok(X1),ok(X2)) -> first#(X1,X2)
     add#(ok(X1),ok(X2)) -> add#(X1,X2) ->
     add#(mark(X1),X2) -> add#(X1,X2)
     add#(ok(X1),ok(X2)) -> add#(X1,X2) ->
     add#(X1,mark(X2)) -> add#(X1,X2)
     add#(ok(X1),ok(X2)) -> add#(X1,X2) ->
     add#(ok(X1),ok(X2)) -> add#(X1,X2)
     add#(mark(X1),X2) -> add#(X1,X2) ->
     add#(mark(X1),X2) -> add#(X1,X2)
     add#(mark(X1),X2) -> add#(X1,X2) ->
     add#(X1,mark(X2)) -> add#(X1,X2)
     add#(mark(X1),X2) -> add#(X1,X2) ->
     add#(ok(X1),ok(X2)) -> add#(X1,X2)
     add#(X1,mark(X2)) -> add#(X1,X2) ->
     add#(mark(X1),X2) -> add#(X1,X2)
     add#(X1,mark(X2)) -> add#(X1,X2) ->
     add#(X1,mark(X2)) -> add#(X1,X2)
     add#(X1,mark(X2)) -> add#(X1,X2) -> add#(ok(X1),ok(X2)) -> add#(X1,X2)
     dbl#(ok(X)) -> dbl#(X) -> dbl#(mark(X)) -> dbl#(X)
     dbl#(ok(X)) -> dbl#(X) -> dbl#(ok(X)) -> dbl#(X)
     dbl#(mark(X)) -> dbl#(X) -> dbl#(mark(X)) -> dbl#(X)
     dbl#(mark(X)) -> dbl#(X) -> dbl#(ok(X)) -> dbl#(X)
     cons#(ok(X1),ok(X2)) -> cons#(X1,X2) ->
     cons#(mark(X1),X2) -> cons#(X1,X2)
     cons#(ok(X1),ok(X2)) -> cons#(X1,X2) ->
     cons#(ok(X1),ok(X2)) -> cons#(X1,X2)
     cons#(mark(X1),X2) -> cons#(X1,X2) ->
     cons#(mark(X1),X2) -> cons#(X1,X2)
     cons#(mark(X1),X2) -> cons#(X1,X2) ->
     cons#(ok(X1),ok(X2)) -> cons#(X1,X2)
     recip#(ok(X)) -> recip#(X) -> recip#(mark(X)) -> recip#(X)
     recip#(ok(X)) -> recip#(X) -> recip#(ok(X)) -> recip#(X)
     recip#(mark(X)) -> recip#(X) -> recip#(mark(X)) -> recip#(X)
     recip#(mark(X)) -> recip#(X) -> recip#(ok(X)) -> recip#(X)
     sqr#(ok(X)) -> sqr#(X) -> sqr#(mark(X)) -> sqr#(X)
     sqr#(ok(X)) -> sqr#(X) -> sqr#(ok(X)) -> sqr#(X)
     sqr#(mark(X)) -> sqr#(X) -> sqr#(mark(X)) -> sqr#(X)
     sqr#(mark(X)) -> sqr#(X) -> sqr#(ok(X)) -> sqr#(X)
     terms#(ok(X)) -> terms#(X) -> terms#(mark(X)) -> terms#(X)
     terms#(ok(X)) -> terms#(X) -> terms#(ok(X)) -> terms#(X)
     terms#(mark(X)) -> terms#(X) -> terms#(mark(X)) -> terms#(X)
     terms#(mark(X)) -> terms#(X) -> terms#(ok(X)) -> terms#(X)
     s#(ok(X)) -> s#(X) -> s#(mark(X)) -> s#(X)
     s#(ok(X)) -> s#(X) -> s#(ok(X)) -> s#(X)
     s#(mark(X)) -> s#(X) -> s#(mark(X)) -> s#(X)
     s#(mark(X)) -> s#(X) -> s#(ok(X)) -> s#(X)
     active#(first(s(X),cons(Y,Z))) -> first#(X,Z) ->
     first#(X1,mark(X2)) -> first#(X1,X2)
     active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z)) ->
     cons#(ok(X1),ok(X2)) -> cons#(X1,X2)
     active#(first(X1,X2)) -> first#(active(X1),X2) ->
     first#(mark(X1),X2) -> first#(X1,X2)
     active#(first(X1,X2)) -> first#(active(X1),X2) ->
     first#(ok(X1),ok(X2)) -> first#(X1,X2)
     active#(first(X1,X2)) -> first#(X1,active(X2)) ->
     first#(X1,mark(X2)) -> first#(X1,X2)
     active#(first(X1,X2)) -> first#(X1,active(X2)) ->
     first#(ok(X1),ok(X2)) -> first#(X1,X2)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(terms(N)) -> s#(N)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(terms(N)) -> terms#(s(N))
     active#(first(X1,X2)) -> active#(X2) ->
     active#(terms(N)) -> sqr#(N)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(terms(N)) -> recip#(sqr(N))
     active#(first(X1,X2)) -> active#(X2) ->
     active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
     active#(first(X1,X2)) -> active#(X2) ->
     active#(sqr(s(X))) -> dbl#(X)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(sqr(s(X))) -> sqr#(X)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
     active#(first(X1,X2)) -> active#(X2) ->
     active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
     active#(first(X1,X2)) -> active#(X2) ->
     active#(dbl(s(X))) -> dbl#(X)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(dbl(s(X))) -> s#(dbl(X))
     active#(first(X1,X2)) -> active#(X2) ->
     active#(dbl(s(X))) -> s#(s(dbl(X)))
     active#(first(X1,X2)) -> active#(X2) ->
     active#(add(s(X),Y)) -> add#(X,Y)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(add(s(X),Y)) -> s#(add(X,Y))
     active#(first(X1,X2)) -> active#(X2) ->
     active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
     active#(first(X1,X2)) -> active#(X2) ->
     active#(terms(X)) -> active#(X)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(terms(X)) -> terms#(active(X))
     active#(first(X1,X2)) -> active#(X2) ->
     active#(cons(X1,X2)) -> active#(X1)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(cons(X1,X2)) -> cons#(active(X1),X2)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(recip(X)) -> active#(X)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(recip(X)) -> recip#(active(X))
     active#(first(X1,X2)) -> active#(X2) ->
     active#(sqr(X)) -> active#(X)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(sqr(X)) -> sqr#(active(X))
     active#(first(X1,X2)) -> active#(X2) ->
     active#(s(X)) -> active#(X)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(s(X)) -> s#(active(X))
     active#(first(X1,X2)) -> active#(X2) ->
     active#(add(X1,X2)) -> active#(X1)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(add(X1,X2)) -> add#(active(X1),X2)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(add(X1,X2)) -> active#(X2)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(add(X1,X2)) -> add#(X1,active(X2))
     active#(first(X1,X2)) -> active#(X2) ->
     active#(dbl(X)) -> active#(X)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(dbl(X)) -> dbl#(active(X))
     active#(first(X1,X2)) -> active#(X2) ->
     active#(first(X1,X2)) -> active#(X1)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(first(X1,X2)) -> first#(active(X1),X2)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(first(X1,X2)) -> active#(X2)
     active#(first(X1,X2)) -> active#(X2) ->
     active#(first(X1,X2)) -> first#(X1,active(X2))
     active#(first(X1,X2)) -> active#(X1) ->
     active#(terms(N)) -> s#(N)
     active#(first(X1,X2)) -> active#(X1) ->
     active#(terms(N)) -> terms#(s(N))
     active#(first(X1,X2)) -> active#(X1) ->
     active#(terms(N)) -> sqr#(N)
     active#(first(X1,X2)) -> active#(X1) ->
     active#(terms(N)) -> recip#(sqr(N))
     active#(first(X1,X2)) -> active#(X1) ->
     active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
     active#(first(X1,X2)) -> active#(X1) ->
     active#(sqr(s(X))) -> dbl#(X)
     active#(first(X1,X2)) -> active#(X1) ->
     active#(sqr(s(X))) -> sqr#(X)
     active#(first(X1,X2)) -> active#(X1) ->
     active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
     active#(first(X1,X2)) -> active#(X1) ->
     active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
     active#(first(X1,X2)) -> active#(X1) ->
     active#(dbl(s(X))) -> dbl#(X)
     active#(first(X1,X2)) -> active#(X1) ->
     active#(dbl(s(X))) -> s#(dbl(X))
     active#(first(X1,X2)) -> active#(X1) ->
     active#(dbl(s(X))) -> s#(s(dbl(X)))
     active#(first(X1,X2)) -> active#(X1) ->
     active#(add(s(X),Y)) -> add#(X,Y)
     active#(first(X1,X2)) -> active#(X1) ->
     active#(add(s(X),Y)) -> s#(add(X,Y))
     active#(first(X1,X2)) -> active#(X1) ->
     active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
     active#(first(X1,X2)) -> active#(X1) ->
     active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
     active#(first(X1,X2)) -> active#(X1) ->
     active#(terms(X)) -> active#(X)
     active#(first(X1,X2)) -> active#(X1) ->
     active#(terms(X)) -> terms#(active(X))
     active#(first(X1,X2)) -> active#(X1) ->
     active#(cons(X1,X2)) -> active#(X1)
     active#(first(X1,X2)) -> active#(X1) ->
     active#(cons(X1,X2)) -> cons#(active(X1),X2)
     active#(first(X1,X2)) -> active#(X1) ->
     active#(recip(X)) -> active#(X)
     active#(first(X1,X2)) -> active#(X1) ->
     active#(recip(X)) -> recip#(active(X))
     active#(first(X1,X2)) -> active#(X1) ->
     active#(sqr(X)) -> active#(X)
     active#(first(X1,X2)) -> active#(X1) ->
     active#(sqr(X)) -> sqr#(active(X))
     active#(first(X1,X2)) -> active#(X1) ->
     active#(s(X)) -> active#(X)
     active#(first(X1,X2)) -> active#(X1) ->
     active#(s(X)) -> s#(active(X))
     active#(first(X1,X2)) -> active#(X1) ->
     active#(add(X1,X2)) -> active#(X1)
     active#(first(X1,X2)) -> active#(X1) ->
     active#(add(X1,X2)) -> add#(active(X1),X2)
     active#(first(X1,X2)) -> active#(X1) ->
     active#(add(X1,X2)) -> active#(X2)
     active#(first(X1,X2)) -> active#(X1) ->
     active#(add(X1,X2)) -> add#(X1,active(X2))
     active#(first(X1,X2)) -> active#(X1) ->
     active#(dbl(X)) -> active#(X)
     active#(first(X1,X2)) -> active#(X1) ->
     active#(dbl(X)) -> dbl#(active(X))
     active#(first(X1,X2)) -> active#(X1) ->
     active#(first(X1,X2)) -> active#(X1)
     active#(first(X1,X2)) -> active#(X1) ->
     active#(first(X1,X2)) -> first#(active(X1),X2)
     active#(first(X1,X2)) -> active#(X1) ->
     active#(first(X1,X2)) -> active#(X2)
     active#(first(X1,X2)) -> active#(X1) ->
     active#(first(X1,X2)) -> first#(X1,active(X2))
     active#(add(s(X),Y)) -> s#(add(X,Y)) ->
     s#(mark(X)) -> s#(X)
     active#(add(s(X),Y)) -> s#(add(X,Y)) ->
     s#(ok(X)) -> s#(X)
     active#(add(X1,X2)) -> add#(active(X1),X2) ->
     add#(mark(X1),X2) -> add#(X1,X2)
     active#(add(X1,X2)) -> add#(active(X1),X2) ->
     add#(ok(X1),ok(X2)) -> add#(X1,X2)
     active#(add(X1,X2)) -> add#(X1,active(X2)) ->
     add#(X1,mark(X2)) -> add#(X1,X2)
     active#(add(X1,X2)) -> add#(X1,active(X2)) ->
     add#(ok(X1),ok(X2)) -> add#(X1,X2)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(terms(N)) -> s#(N)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(terms(N)) -> terms#(s(N))
     active#(add(X1,X2)) -> active#(X2) ->
     active#(terms(N)) -> sqr#(N)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(terms(N)) -> recip#(sqr(N))
     active#(add(X1,X2)) -> active#(X2) ->
     active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
     active#(add(X1,X2)) -> active#(X2) ->
     active#(sqr(s(X))) -> dbl#(X)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(sqr(s(X))) -> sqr#(X)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
     active#(add(X1,X2)) -> active#(X2) ->
     active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
     active#(add(X1,X2)) -> active#(X2) ->
     active#(dbl(s(X))) -> dbl#(X)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(dbl(s(X))) -> s#(dbl(X))
     active#(add(X1,X2)) -> active#(X2) ->
     active#(dbl(s(X))) -> s#(s(dbl(X)))
     active#(add(X1,X2)) -> active#(X2) ->
     active#(add(s(X),Y)) -> add#(X,Y)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(add(s(X),Y)) -> s#(add(X,Y))
     active#(add(X1,X2)) -> active#(X2) ->
     active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
     active#(add(X1,X2)) -> active#(X2) ->
     active#(terms(X)) -> active#(X)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(terms(X)) -> terms#(active(X))
     active#(add(X1,X2)) -> active#(X2) ->
     active#(cons(X1,X2)) -> active#(X1)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(cons(X1,X2)) -> cons#(active(X1),X2)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(recip(X)) -> active#(X)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(recip(X)) -> recip#(active(X))
     active#(add(X1,X2)) -> active#(X2) ->
     active#(sqr(X)) -> active#(X)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(sqr(X)) -> sqr#(active(X))
     active#(add(X1,X2)) -> active#(X2) ->
     active#(s(X)) -> active#(X)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(s(X)) -> s#(active(X))
     active#(add(X1,X2)) -> active#(X2) ->
     active#(add(X1,X2)) -> active#(X1)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(add(X1,X2)) -> add#(active(X1),X2)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(add(X1,X2)) -> active#(X2)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(add(X1,X2)) -> add#(X1,active(X2))
     active#(add(X1,X2)) -> active#(X2) ->
     active#(dbl(X)) -> active#(X)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(dbl(X)) -> dbl#(active(X))
     active#(add(X1,X2)) -> active#(X2) ->
     active#(first(X1,X2)) -> active#(X1)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(first(X1,X2)) -> first#(active(X1),X2)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(first(X1,X2)) -> active#(X2)
     active#(add(X1,X2)) -> active#(X2) ->
     active#(first(X1,X2)) -> first#(X1,active(X2))
     active#(add(X1,X2)) -> active#(X1) ->
     active#(terms(N)) -> s#(N)
     active#(add(X1,X2)) -> active#(X1) ->
     active#(terms(N)) -> terms#(s(N))
     active#(add(X1,X2)) -> active#(X1) ->
     active#(terms(N)) -> sqr#(N)
     active#(add(X1,X2)) -> active#(X1) ->
     active#(terms(N)) -> recip#(sqr(N))
     active#(add(X1,X2)) -> active#(X1) ->
     active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
     active#(add(X1,X2)) -> active#(X1) ->
     active#(sqr(s(X))) -> dbl#(X)
     active#(add(X1,X2)) -> active#(X1) ->
     active#(sqr(s(X))) -> sqr#(X)
     active#(add(X1,X2)) -> active#(X1) ->
     active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
     active#(add(X1,X2)) -> active#(X1) ->
     active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
     active#(add(X1,X2)) -> active#(X1) ->
     active#(dbl(s(X))) -> dbl#(X)
     active#(add(X1,X2)) -> active#(X1) ->
     active#(dbl(s(X))) -> s#(dbl(X))
     active#(add(X1,X2)) -> active#(X1) ->
     active#(dbl(s(X))) -> s#(s(dbl(X)))
     active#(add(X1,X2)) -> active#(X1) ->
     active#(add(s(X),Y)) -> add#(X,Y)
     active#(add(X1,X2)) -> active#(X1) ->
     active#(add(s(X),Y)) -> s#(add(X,Y))
     active#(add(X1,X2)) -> active#(X1) ->
     active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
     active#(add(X1,X2)) -> active#(X1) ->
     active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
     active#(add(X1,X2)) -> active#(X1) ->
     active#(terms(X)) -> active#(X)
     active#(add(X1,X2)) -> active#(X1) ->
     active#(terms(X)) -> terms#(active(X))
     active#(add(X1,X2)) -> active#(X1) ->
     active#(cons(X1,X2)) -> active#(X1)
     active#(add(X1,X2)) -> active#(X1) ->
     active#(cons(X1,X2)) -> cons#(active(X1),X2)
     active#(add(X1,X2)) -> active#(X1) ->
     active#(recip(X)) -> active#(X)
     active#(add(X1,X2)) -> active#(X1) ->
     active#(recip(X)) -> recip#(active(X))
     active#(add(X1,X2)) -> active#(X1) ->
     active#(sqr(X)) -> active#(X)
     active#(add(X1,X2)) -> active#(X1) ->
     active#(sqr(X)) -> sqr#(active(X))
     active#(add(X1,X2)) -> active#(X1) ->
     active#(s(X)) -> active#(X)
     active#(add(X1,X2)) -> active#(X1) ->
     active#(s(X)) -> s#(active(X))
     active#(add(X1,X2)) -> active#(X1) ->
     active#(add(X1,X2)) -> active#(X1)
     active#(add(X1,X2)) -> active#(X1) ->
     active#(add(X1,X2)) -> add#(active(X1),X2)
     active#(add(X1,X2)) -> active#(X1) ->
     active#(add(X1,X2)) -> active#(X2)
     active#(add(X1,X2)) -> active#(X1) ->
     active#(add(X1,X2)) -> add#(X1,active(X2))
     active#(add(X1,X2)) -> active#(X1) ->
     active#(dbl(X)) -> active#(X)
     active#(add(X1,X2)) -> active#(X1) ->
     active#(dbl(X)) -> dbl#(active(X))
     active#(add(X1,X2)) -> active#(X1) ->
     active#(first(X1,X2)) -> active#(X1)
     active#(add(X1,X2)) -> active#(X1) ->
     active#(first(X1,X2)) -> first#(active(X1),X2)
     active#(add(X1,X2)) -> active#(X1) ->
     active#(first(X1,X2)) -> active#(X2)
     active#(add(X1,X2)) -> active#(X1) ->
     active#(first(X1,X2)) -> first#(X1,active(X2))
     active#(dbl(X)) -> dbl#(active(X)) ->
     dbl#(mark(X)) -> dbl#(X)
     active#(dbl(X)) -> dbl#(active(X)) -> dbl#(ok(X)) -> dbl#(X)
     active#(dbl(X)) -> active#(X) -> active#(terms(N)) -> s#(N)
     active#(dbl(X)) -> active#(X) ->
     active#(terms(N)) -> terms#(s(N))
     active#(dbl(X)) -> active#(X) -> active#(terms(N)) -> sqr#(N)
     active#(dbl(X)) -> active#(X) ->
     active#(terms(N)) -> recip#(sqr(N))
     active#(dbl(X)) -> active#(X) ->
     active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
     active#(dbl(X)) -> active#(X) -> active#(sqr(s(X))) -> dbl#(X)
     active#(dbl(X)) -> active#(X) -> active#(sqr(s(X))) -> sqr#(X)
     active#(dbl(X)) -> active#(X) ->
     active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
     active#(dbl(X)) -> active#(X) ->
     active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
     active#(dbl(X)) -> active#(X) -> active#(dbl(s(X))) -> dbl#(X)
     active#(dbl(X)) -> active#(X) -> active#(dbl(s(X))) -> s#(dbl(X))
     active#(dbl(X)) -> active#(X) ->
     active#(dbl(s(X))) -> s#(s(dbl(X)))
     active#(dbl(X)) -> active#(X) ->
     active#(add(s(X),Y)) -> add#(X,Y)
     active#(dbl(X)) -> active#(X) ->
     active#(add(s(X),Y)) -> s#(add(X,Y))
     active#(dbl(X)) -> active#(X) ->
     active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
     active#(dbl(X)) -> active#(X) ->
     active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
     active#(dbl(X)) -> active#(X) -> active#(terms(X)) -> active#(X)
     active#(dbl(X)) -> active#(X) ->
     active#(terms(X)) -> terms#(active(X))
     active#(dbl(X)) -> active#(X) ->
     active#(cons(X1,X2)) -> active#(X1)
     active#(dbl(X)) -> active#(X) ->
     active#(cons(X1,X2)) -> cons#(active(X1),X2)
     active#(dbl(X)) -> active#(X) -> active#(recip(X)) -> active#(X)
     active#(dbl(X)) -> active#(X) ->
     active#(recip(X)) -> recip#(active(X))
     active#(dbl(X)) -> active#(X) -> active#(sqr(X)) -> active#(X)
     active#(dbl(X)) -> active#(X) ->
     active#(sqr(X)) -> sqr#(active(X))
     active#(dbl(X)) -> active#(X) -> active#(s(X)) -> active#(X)
     active#(dbl(X)) -> active#(X) -> active#(s(X)) -> s#(active(X))
     active#(dbl(X)) -> active#(X) ->
     active#(add(X1,X2)) -> active#(X1)
     active#(dbl(X)) -> active#(X) ->
     active#(add(X1,X2)) -> add#(active(X1),X2)
     active#(dbl(X)) -> active#(X) ->
     active#(add(X1,X2)) -> active#(X2)
     active#(dbl(X)) -> active#(X) ->
     active#(add(X1,X2)) -> add#(X1,active(X2))
     active#(dbl(X)) -> active#(X) -> active#(dbl(X)) -> active#(X)
     active#(dbl(X)) -> active#(X) ->
     active#(dbl(X)) -> dbl#(active(X))
     active#(dbl(X)) -> active#(X) ->
     active#(first(X1,X2)) -> active#(X1)
     active#(dbl(X)) -> active#(X) ->
     active#(first(X1,X2)) -> first#(active(X1),X2)
     active#(dbl(X)) -> active#(X) ->
     active#(first(X1,X2)) -> active#(X2)
     active#(dbl(X)) -> active#(X) ->
     active#(first(X1,X2)) -> first#(X1,active(X2))
     active#(cons(X1,X2)) -> cons#(active(X1),X2) ->
     cons#(mark(X1),X2) -> cons#(X1,X2)
     active#(cons(X1,X2)) -> cons#(active(X1),X2) ->
     cons#(ok(X1),ok(X2)) -> cons#(X1,X2)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(terms(N)) -> s#(N)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(terms(N)) -> terms#(s(N))
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(terms(N)) -> sqr#(N)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(terms(N)) -> recip#(sqr(N))
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(sqr(s(X))) -> dbl#(X)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(sqr(s(X))) -> sqr#(X)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(dbl(s(X))) -> dbl#(X)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(dbl(s(X))) -> s#(dbl(X))
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(dbl(s(X))) -> s#(s(dbl(X)))
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(add(s(X),Y)) -> add#(X,Y)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(add(s(X),Y)) -> s#(add(X,Y))
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(terms(X)) -> active#(X)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(terms(X)) -> terms#(active(X))
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(cons(X1,X2)) -> active#(X1)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(cons(X1,X2)) -> cons#(active(X1),X2)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(recip(X)) -> active#(X)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(recip(X)) -> recip#(active(X))
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(sqr(X)) -> active#(X)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(sqr(X)) -> sqr#(active(X))
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(s(X)) -> active#(X)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(s(X)) -> s#(active(X))
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(add(X1,X2)) -> active#(X1)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(add(X1,X2)) -> add#(active(X1),X2)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(add(X1,X2)) -> active#(X2)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(add(X1,X2)) -> add#(X1,active(X2))
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(dbl(X)) -> active#(X)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(dbl(X)) -> dbl#(active(X))
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(first(X1,X2)) -> active#(X1)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(first(X1,X2)) -> first#(active(X1),X2)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(first(X1,X2)) -> active#(X2)
     active#(cons(X1,X2)) -> active#(X1) ->
     active#(first(X1,X2)) -> first#(X1,active(X2))
     active#(s(X)) -> s#(active(X)) -> s#(mark(X)) -> s#(X)
     active#(s(X)) -> s#(active(X)) -> s#(ok(X)) -> s#(X)
     active#(s(X)) -> active#(X) -> active#(terms(N)) -> s#(N)
     active#(s(X)) -> active#(X) -> active#(terms(N)) -> terms#(s(N))
     active#(s(X)) -> active#(X) -> active#(terms(N)) -> sqr#(N)
     active#(s(X)) -> active#(X) -> active#(terms(N)) -> recip#(sqr(N))
     active#(s(X)) -> active#(X) ->
     active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
     active#(s(X)) -> active#(X) -> active#(sqr(s(X))) -> dbl#(X)
     active#(s(X)) -> active#(X) -> active#(sqr(s(X))) -> sqr#(X)
     active#(s(X)) -> active#(X) ->
     active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
     active#(s(X)) -> active#(X) ->
     active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
     active#(s(X)) -> active#(X) -> active#(dbl(s(X))) -> dbl#(X)
     active#(s(X)) -> active#(X) -> active#(dbl(s(X))) -> s#(dbl(X))
     active#(s(X)) -> active#(X) -> active#(dbl(s(X))) -> s#(s(dbl(X)))
     active#(s(X)) -> active#(X) -> active#(add(s(X),Y)) -> add#(X,Y)
     active#(s(X)) -> active#(X) -> active#(add(s(X),Y)) -> s#(add(X,Y))
     active#(s(X)) -> active#(X) ->
     active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
     active#(s(X)) -> active#(X) ->
     active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
     active#(s(X)) -> active#(X) -> active#(terms(X)) -> active#(X)
     active#(s(X)) -> active#(X) ->
     active#(terms(X)) -> terms#(active(X))
     active#(s(X)) -> active#(X) -> active#(cons(X1,X2)) -> active#(X1)
     active#(s(X)) -> active#(X) ->
     active#(cons(X1,X2)) -> cons#(active(X1),X2)
     active#(s(X)) -> active#(X) -> active#(recip(X)) -> active#(X)
     active#(s(X)) -> active#(X) ->
     active#(recip(X)) -> recip#(active(X))
     active#(s(X)) -> active#(X) -> active#(sqr(X)) -> active#(X)
     active#(s(X)) -> active#(X) -> active#(sqr(X)) -> sqr#(active(X))
     active#(s(X)) -> active#(X) -> active#(s(X)) -> active#(X)
     active#(s(X)) -> active#(X) -> active#(s(X)) -> s#(active(X))
     active#(s(X)) -> active#(X) -> active#(add(X1,X2)) -> active#(X1)
     active#(s(X)) -> active#(X) ->
     active#(add(X1,X2)) -> add#(active(X1),X2)
     active#(s(X)) -> active#(X) -> active#(add(X1,X2)) -> active#(X2)
     active#(s(X)) -> active#(X) ->
     active#(add(X1,X2)) -> add#(X1,active(X2))
     active#(s(X)) -> active#(X) -> active#(dbl(X)) -> active#(X)
     active#(s(X)) -> active#(X) -> active#(dbl(X)) -> dbl#(active(X))
     active#(s(X)) -> active#(X) -> active#(first(X1,X2)) -> active#(X1)
     active#(s(X)) -> active#(X) ->
     active#(first(X1,X2)) -> first#(active(X1),X2)
     active#(s(X)) -> active#(X) -> active#(first(X1,X2)) -> active#(X2)
     active#(s(X)) -> active#(X) ->
     active#(first(X1,X2)) -> first#(X1,active(X2))
     active#(recip(X)) -> recip#(active(X)) ->
     recip#(mark(X)) -> recip#(X)
     active#(recip(X)) -> recip#(active(X)) ->
     recip#(ok(X)) -> recip#(X)
     active#(recip(X)) -> active#(X) -> active#(terms(N)) -> s#(N)
     active#(recip(X)) -> active#(X) ->
     active#(terms(N)) -> terms#(s(N))
     active#(recip(X)) -> active#(X) -> active#(terms(N)) -> sqr#(N)
     active#(recip(X)) -> active#(X) ->
     active#(terms(N)) -> recip#(sqr(N))
     active#(recip(X)) -> active#(X) ->
     active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
     active#(recip(X)) -> active#(X) ->
     active#(sqr(s(X))) -> dbl#(X)
     active#(recip(X)) -> active#(X) ->
     active#(sqr(s(X))) -> sqr#(X)
     active#(recip(X)) -> active#(X) ->
     active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
     active#(recip(X)) -> active#(X) ->
     active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
     active#(recip(X)) -> active#(X) ->
     active#(dbl(s(X))) -> dbl#(X)
     active#(recip(X)) -> active#(X) ->
     active#(dbl(s(X))) -> s#(dbl(X))
     active#(recip(X)) -> active#(X) ->
     active#(dbl(s(X))) -> s#(s(dbl(X)))
     active#(recip(X)) -> active#(X) ->
     active#(add(s(X),Y)) -> add#(X,Y)
     active#(recip(X)) -> active#(X) ->
     active#(add(s(X),Y)) -> s#(add(X,Y))
     active#(recip(X)) -> active#(X) ->
     active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
     active#(recip(X)) -> active#(X) ->
     active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
     active#(recip(X)) -> active#(X) ->
     active#(terms(X)) -> active#(X)
     active#(recip(X)) -> active#(X) ->
     active#(terms(X)) -> terms#(active(X))
     active#(recip(X)) -> active#(X) ->
     active#(cons(X1,X2)) -> active#(X1)
     active#(recip(X)) -> active#(X) ->
     active#(cons(X1,X2)) -> cons#(active(X1),X2)
     active#(recip(X)) -> active#(X) ->
     active#(recip(X)) -> active#(X)
     active#(recip(X)) -> active#(X) ->
     active#(recip(X)) -> recip#(active(X))
     active#(recip(X)) -> active#(X) ->
     active#(sqr(X)) -> active#(X)
     active#(recip(X)) -> active#(X) ->
     active#(sqr(X)) -> sqr#(active(X))
     active#(recip(X)) -> active#(X) -> active#(s(X)) -> active#(X)
     active#(recip(X)) -> active#(X) ->
     active#(s(X)) -> s#(active(X))
     active#(recip(X)) -> active#(X) ->
     active#(add(X1,X2)) -> active#(X1)
     active#(recip(X)) -> active#(X) ->
     active#(add(X1,X2)) -> add#(active(X1),X2)
     active#(recip(X)) -> active#(X) ->
     active#(add(X1,X2)) -> active#(X2)
     active#(recip(X)) -> active#(X) ->
     active#(add(X1,X2)) -> add#(X1,active(X2))
     active#(recip(X)) -> active#(X) ->
     active#(dbl(X)) -> active#(X)
     active#(recip(X)) -> active#(X) ->
     active#(dbl(X)) -> dbl#(active(X))
     active#(recip(X)) -> active#(X) ->
     active#(first(X1,X2)) -> active#(X1)
     active#(recip(X)) -> active#(X) ->
     active#(first(X1,X2)) -> first#(active(X1),X2)
     active#(recip(X)) -> active#(X) ->
     active#(first(X1,X2)) -> active#(X2)
     active#(recip(X)) -> active#(X) ->
     active#(first(X1,X2)) -> first#(X1,active(X2))
     active#(sqr(X)) -> sqr#(active(X)) ->
     sqr#(mark(X)) -> sqr#(X)
     active#(sqr(X)) -> sqr#(active(X)) -> sqr#(ok(X)) -> sqr#(X)
     active#(sqr(X)) -> active#(X) -> active#(terms(N)) -> s#(N)
     active#(sqr(X)) -> active#(X) ->
     active#(terms(N)) -> terms#(s(N))
     active#(sqr(X)) -> active#(X) -> active#(terms(N)) -> sqr#(N)
     active#(sqr(X)) -> active#(X) ->
     active#(terms(N)) -> recip#(sqr(N))
     active#(sqr(X)) -> active#(X) ->
     active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
     active#(sqr(X)) -> active#(X) -> active#(sqr(s(X))) -> dbl#(X)
     active#(sqr(X)) -> active#(X) -> active#(sqr(s(X))) -> sqr#(X)
     active#(sqr(X)) -> active#(X) ->
     active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
     active#(sqr(X)) -> active#(X) ->
     active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
     active#(sqr(X)) -> active#(X) -> active#(dbl(s(X))) -> dbl#(X)
     active#(sqr(X)) -> active#(X) -> active#(dbl(s(X))) -> s#(dbl(X))
     active#(sqr(X)) -> active#(X) ->
     active#(dbl(s(X))) -> s#(s(dbl(X)))
     active#(sqr(X)) -> active#(X) ->
     active#(add(s(X),Y)) -> add#(X,Y)
     active#(sqr(X)) -> active#(X) ->
     active#(add(s(X),Y)) -> s#(add(X,Y))
     active#(sqr(X)) -> active#(X) ->
     active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
     active#(sqr(X)) -> active#(X) ->
     active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
     active#(sqr(X)) -> active#(X) -> active#(terms(X)) -> active#(X)
     active#(sqr(X)) -> active#(X) ->
     active#(terms(X)) -> terms#(active(X))
     active#(sqr(X)) -> active#(X) ->
     active#(cons(X1,X2)) -> active#(X1)
     active#(sqr(X)) -> active#(X) ->
     active#(cons(X1,X2)) -> cons#(active(X1),X2)
     active#(sqr(X)) -> active#(X) -> active#(recip(X)) -> active#(X)
     active#(sqr(X)) -> active#(X) ->
     active#(recip(X)) -> recip#(active(X))
     active#(sqr(X)) -> active#(X) -> active#(sqr(X)) -> active#(X)
     active#(sqr(X)) -> active#(X) ->
     active#(sqr(X)) -> sqr#(active(X))
     active#(sqr(X)) -> active#(X) -> active#(s(X)) -> active#(X)
     active#(sqr(X)) -> active#(X) -> active#(s(X)) -> s#(active(X))
     active#(sqr(X)) -> active#(X) ->
     active#(add(X1,X2)) -> active#(X1)
     active#(sqr(X)) -> active#(X) ->
     active#(add(X1,X2)) -> add#(active(X1),X2)
     active#(sqr(X)) -> active#(X) ->
     active#(add(X1,X2)) -> active#(X2)
     active#(sqr(X)) -> active#(X) ->
     active#(add(X1,X2)) -> add#(X1,active(X2))
     active#(sqr(X)) -> active#(X) -> active#(dbl(X)) -> active#(X)
     active#(sqr(X)) -> active#(X) ->
     active#(dbl(X)) -> dbl#(active(X))
     active#(sqr(X)) -> active#(X) ->
     active#(first(X1,X2)) -> active#(X1)
     active#(sqr(X)) -> active#(X) ->
     active#(first(X1,X2)) -> first#(active(X1),X2)
     active#(sqr(X)) -> active#(X) ->
     active#(first(X1,X2)) -> active#(X2)
     active#(sqr(X)) -> active#(X) ->
     active#(first(X1,X2)) -> first#(X1,active(X2))
     active#(terms(X)) -> terms#(active(X)) ->
     terms#(mark(X)) -> terms#(X)
     active#(terms(X)) -> terms#(active(X)) ->
     terms#(ok(X)) -> terms#(X)
     active#(terms(X)) -> active#(X) -> active#(terms(N)) -> s#(N)
     active#(terms(X)) -> active#(X) ->
     active#(terms(N)) -> terms#(s(N))
     active#(terms(X)) -> active#(X) -> active#(terms(N)) -> sqr#(N)
     active#(terms(X)) -> active#(X) ->
     active#(terms(N)) -> recip#(sqr(N))
     active#(terms(X)) -> active#(X) ->
     active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N)))
     active#(terms(X)) -> active#(X) ->
     active#(sqr(s(X))) -> dbl#(X)
     active#(terms(X)) -> active#(X) ->
     active#(sqr(s(X))) -> sqr#(X)
     active#(terms(X)) -> active#(X) ->
     active#(sqr(s(X))) -> add#(sqr(X),dbl(X))
     active#(terms(X)) -> active#(X) ->
     active#(sqr(s(X))) -> s#(add(sqr(X),dbl(X)))
     active#(terms(X)) -> active#(X) ->
     active#(dbl(s(X))) -> dbl#(X)
     active#(terms(X)) -> active#(X) ->
     active#(dbl(s(X))) -> s#(dbl(X))
     active#(terms(X)) -> active#(X) ->
     active#(dbl(s(X))) -> s#(s(dbl(X)))
     active#(terms(X)) -> active#(X) ->
     active#(add(s(X),Y)) -> add#(X,Y)
     active#(terms(X)) -> active#(X) ->
     active#(add(s(X),Y)) -> s#(add(X,Y))
     active#(terms(X)) -> active#(X) ->
     active#(first(s(X),cons(Y,Z))) -> first#(X,Z)
     active#(terms(X)) -> active#(X) ->
     active#(first(s(X),cons(Y,Z))) -> cons#(Y,first(X,Z))
     active#(terms(X)) -> active#(X) ->
     active#(terms(X)) -> active#(X)
     active#(terms(X)) -> active#(X) ->
     active#(terms(X)) -> terms#(active(X))
     active#(terms(X)) -> active#(X) ->
     active#(cons(X1,X2)) -> active#(X1)
     active#(terms(X)) -> active#(X) ->
     active#(cons(X1,X2)) -> cons#(active(X1),X2)
     active#(terms(X)) -> active#(X) ->
     active#(recip(X)) -> active#(X)
     active#(terms(X)) -> active#(X) ->
     active#(recip(X)) -> recip#(active(X))
     active#(terms(X)) -> active#(X) ->
     active#(sqr(X)) -> active#(X)
     active#(terms(X)) -> active#(X) ->
     active#(sqr(X)) -> sqr#(active(X))
     active#(terms(X)) -> active#(X) -> active#(s(X)) -> active#(X)
     active#(terms(X)) -> active#(X) ->
     active#(s(X)) -> s#(active(X))
     active#(terms(X)) -> active#(X) ->
     active#(add(X1,X2)) -> active#(X1)
     active#(terms(X)) -> active#(X) ->
     active#(add(X1,X2)) -> add#(active(X1),X2)
     active#(terms(X)) -> active#(X) ->
     active#(add(X1,X2)) -> active#(X2)
     active#(terms(X)) -> active#(X) ->
     active#(add(X1,X2)) -> add#(X1,active(X2))
     active#(terms(X)) -> active#(X) ->
     active#(dbl(X)) -> active#(X)
     active#(terms(X)) -> active#(X) ->
     active#(dbl(X)) -> dbl#(active(X))
     active#(terms(X)) -> active#(X) ->
     active#(first(X1,X2)) -> active#(X1)
     active#(terms(X)) -> active#(X) ->
     active#(first(X1,X2)) -> first#(active(X1),X2)
     active#(terms(X)) -> active#(X) ->
     active#(first(X1,X2)) -> active#(X2)
     active#(terms(X)) -> active#(X) ->
     active#(first(X1,X2)) -> first#(X1,active(X2))
     active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N))) ->
     cons#(mark(X1),X2) -> cons#(X1,X2)
     active#(terms(N)) -> cons#(recip(sqr(N)),terms(s(N))) ->
     cons#(ok(X1),ok(X2)) -> cons#(X1,X2)
     active#(terms(N)) -> recip#(sqr(N)) ->
     recip#(mark(X)) -> recip#(X)
     active#(terms(N)) -> recip#(sqr(N)) ->
     recip#(ok(X)) -> recip#(X)
     active#(terms(N)) -> terms#(s(N)) ->
     terms#(mark(X)) -> terms#(X)
     active#(terms(N)) -> terms#(s(N)) -> terms#(ok(X)) -> terms#(X)
    SCC Processor:
     #sccs: 11
     #rules: 41
     #arcs: 722/5929
     DPs:
      top#(ok(X)) -> top#(active(X))
      top#(mark(X)) -> top#(proper(X))
     TRS:
      active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
      active(sqr(0())) -> mark(0())
      active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
      active(dbl(0())) -> mark(0())
      active(dbl(s(X))) -> mark(s(s(dbl(X))))
      active(add(0(),X)) -> mark(X)
      active(add(s(X),Y)) -> mark(s(add(X,Y)))
      active(first(0(),X)) -> mark(nil())
      active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
      active(terms(X)) -> terms(active(X))
      active(cons(X1,X2)) -> cons(active(X1),X2)
      active(recip(X)) -> recip(active(X))
      active(sqr(X)) -> sqr(active(X))
      active(s(X)) -> s(active(X))
      active(add(X1,X2)) -> add(active(X1),X2)
      active(add(X1,X2)) -> add(X1,active(X2))
      active(dbl(X)) -> dbl(active(X))
      active(first(X1,X2)) -> first(active(X1),X2)
      active(first(X1,X2)) -> first(X1,active(X2))
      terms(mark(X)) -> mark(terms(X))
      cons(mark(X1),X2) -> mark(cons(X1,X2))
      recip(mark(X)) -> mark(recip(X))
      sqr(mark(X)) -> mark(sqr(X))
      s(mark(X)) -> mark(s(X))
      add(mark(X1),X2) -> mark(add(X1,X2))
      add(X1,mark(X2)) -> mark(add(X1,X2))
      dbl(mark(X)) -> mark(dbl(X))
      first(mark(X1),X2) -> mark(first(X1,X2))
      first(X1,mark(X2)) -> mark(first(X1,X2))
      proper(terms(X)) -> terms(proper(X))
      proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
      proper(recip(X)) -> recip(proper(X))
      proper(sqr(X)) -> sqr(proper(X))
      proper(s(X)) -> s(proper(X))
      proper(0()) -> ok(0())
      proper(add(X1,X2)) -> add(proper(X1),proper(X2))
      proper(dbl(X)) -> dbl(proper(X))
      proper(first(X1,X2)) -> first(proper(X1),proper(X2))
      proper(nil()) -> ok(nil())
      terms(ok(X)) -> ok(terms(X))
      cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
      recip(ok(X)) -> ok(recip(X))
      sqr(ok(X)) -> ok(sqr(X))
      s(ok(X)) -> ok(s(X))
      add(ok(X1),ok(X2)) -> ok(add(X1,X2))
      dbl(ok(X)) -> ok(dbl(X))
      first(ok(X1),ok(X2)) -> ok(first(X1,X2))
      top(mark(X)) -> top(proper(X))
      top(ok(X)) -> top(active(X))
     Open
     
     DPs:
      proper#(first(X1,X2)) -> proper#(X1)
      proper#(first(X1,X2)) -> proper#(X2)
      proper#(dbl(X)) -> proper#(X)
      proper#(add(X1,X2)) -> proper#(X1)
      proper#(add(X1,X2)) -> proper#(X2)
      proper#(s(X)) -> proper#(X)
      proper#(sqr(X)) -> proper#(X)
      proper#(recip(X)) -> proper#(X)
      proper#(cons(X1,X2)) -> proper#(X1)
      proper#(cons(X1,X2)) -> proper#(X2)
      proper#(terms(X)) -> proper#(X)
     TRS:
      active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
      active(sqr(0())) -> mark(0())
      active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
      active(dbl(0())) -> mark(0())
      active(dbl(s(X))) -> mark(s(s(dbl(X))))
      active(add(0(),X)) -> mark(X)
      active(add(s(X),Y)) -> mark(s(add(X,Y)))
      active(first(0(),X)) -> mark(nil())
      active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
      active(terms(X)) -> terms(active(X))
      active(cons(X1,X2)) -> cons(active(X1),X2)
      active(recip(X)) -> recip(active(X))
      active(sqr(X)) -> sqr(active(X))
      active(s(X)) -> s(active(X))
      active(add(X1,X2)) -> add(active(X1),X2)
      active(add(X1,X2)) -> add(X1,active(X2))
      active(dbl(X)) -> dbl(active(X))
      active(first(X1,X2)) -> first(active(X1),X2)
      active(first(X1,X2)) -> first(X1,active(X2))
      terms(mark(X)) -> mark(terms(X))
      cons(mark(X1),X2) -> mark(cons(X1,X2))
      recip(mark(X)) -> mark(recip(X))
      sqr(mark(X)) -> mark(sqr(X))
      s(mark(X)) -> mark(s(X))
      add(mark(X1),X2) -> mark(add(X1,X2))
      add(X1,mark(X2)) -> mark(add(X1,X2))
      dbl(mark(X)) -> mark(dbl(X))
      first(mark(X1),X2) -> mark(first(X1,X2))
      first(X1,mark(X2)) -> mark(first(X1,X2))
      proper(terms(X)) -> terms(proper(X))
      proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
      proper(recip(X)) -> recip(proper(X))
      proper(sqr(X)) -> sqr(proper(X))
      proper(s(X)) -> s(proper(X))
      proper(0()) -> ok(0())
      proper(add(X1,X2)) -> add(proper(X1),proper(X2))
      proper(dbl(X)) -> dbl(proper(X))
      proper(first(X1,X2)) -> first(proper(X1),proper(X2))
      proper(nil()) -> ok(nil())
      terms(ok(X)) -> ok(terms(X))
      cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
      recip(ok(X)) -> ok(recip(X))
      sqr(ok(X)) -> ok(sqr(X))
      s(ok(X)) -> ok(s(X))
      add(ok(X1),ok(X2)) -> ok(add(X1,X2))
      dbl(ok(X)) -> ok(dbl(X))
      first(ok(X1),ok(X2)) -> ok(first(X1,X2))
      top(mark(X)) -> top(proper(X))
      top(ok(X)) -> top(active(X))
     Matrix Interpretation Processor:
      dimension: 1
      interpretation:
       [proper#](x0) = x0 + 1,
       
       [top](x0) = 0,
       
       [ok](x0) = x0,
       
       [proper](x0) = x0,
       
       [nil] = 0,
       
       [first](x0, x1) = x0 + x1 + 1,
       
       [add](x0, x1) = x0 + x1,
       
       [dbl](x0) = x0,
       
       [0] = 1,
       
       [mark](x0) = 1,
       
       [cons](x0, x1) = x0 + x1 + 1,
       
       [s](x0) = x0 + 1,
       
       [recip](x0) = x0,
       
       [sqr](x0) = x0,
       
       [active](x0) = x0,
       
       [terms](x0) = x0 + 1
      orientation:
       proper#(first(X1,X2)) = X1 + X2 + 2 >= X1 + 1 = proper#(X1)
       
       proper#(first(X1,X2)) = X1 + X2 + 2 >= X2 + 1 = proper#(X2)
       
       proper#(dbl(X)) = X + 1 >= X + 1 = proper#(X)
       
       proper#(add(X1,X2)) = X1 + X2 + 1 >= X1 + 1 = proper#(X1)
       
       proper#(add(X1,X2)) = X1 + X2 + 1 >= X2 + 1 = proper#(X2)
       
       proper#(s(X)) = X + 2 >= X + 1 = proper#(X)
       
       proper#(sqr(X)) = X + 1 >= X + 1 = proper#(X)
       
       proper#(recip(X)) = X + 1 >= X + 1 = proper#(X)
       
       proper#(cons(X1,X2)) = X1 + X2 + 2 >= X1 + 1 = proper#(X1)
       
       proper#(cons(X1,X2)) = X1 + X2 + 2 >= X2 + 1 = proper#(X2)
       
       proper#(terms(X)) = X + 2 >= X + 1 = proper#(X)
       
       active(terms(N)) = N + 1 >= 1 = mark(cons(recip(sqr(N)),terms(s(N))))
       
       active(sqr(0())) = 1 >= 1 = mark(0())
       
       active(sqr(s(X))) = X + 1 >= 1 = mark(s(add(sqr(X),dbl(X))))
       
       active(dbl(0())) = 1 >= 1 = mark(0())
       
       active(dbl(s(X))) = X + 1 >= 1 = mark(s(s(dbl(X))))
       
       active(add(0(),X)) = X + 1 >= 1 = mark(X)
       
       active(add(s(X),Y)) = X + Y + 1 >= 1 = mark(s(add(X,Y)))
       
       active(first(0(),X)) = X + 2 >= 1 = mark(nil())
       
       active(first(s(X),cons(Y,Z))) = X + Y + Z + 3 >= 1 = mark(cons(Y,first(X,Z)))
       
       active(terms(X)) = X + 1 >= X + 1 = terms(active(X))
       
       active(cons(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = cons(active(X1),X2)
       
       active(recip(X)) = X >= X = recip(active(X))
       
       active(sqr(X)) = X >= X = sqr(active(X))
       
       active(s(X)) = X + 1 >= X + 1 = s(active(X))
       
       active(add(X1,X2)) = X1 + X2 >= X1 + X2 = add(active(X1),X2)
       
       active(add(X1,X2)) = X1 + X2 >= X1 + X2 = add(X1,active(X2))
       
       active(dbl(X)) = X >= X = dbl(active(X))
       
       active(first(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = first(active(X1),X2)
       
       active(first(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = first(X1,active(X2))
       
       terms(mark(X)) = 2 >= 1 = mark(terms(X))
       
       cons(mark(X1),X2) = X2 + 2 >= 1 = mark(cons(X1,X2))
       
       recip(mark(X)) = 1 >= 1 = mark(recip(X))
       
       sqr(mark(X)) = 1 >= 1 = mark(sqr(X))
       
       s(mark(X)) = 2 >= 1 = mark(s(X))
       
       add(mark(X1),X2) = X2 + 1 >= 1 = mark(add(X1,X2))
       
       add(X1,mark(X2)) = X1 + 1 >= 1 = mark(add(X1,X2))
       
       dbl(mark(X)) = 1 >= 1 = mark(dbl(X))
       
       first(mark(X1),X2) = X2 + 2 >= 1 = mark(first(X1,X2))
       
       first(X1,mark(X2)) = X1 + 2 >= 1 = mark(first(X1,X2))
       
       proper(terms(X)) = X + 1 >= X + 1 = terms(proper(X))
       
       proper(cons(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = cons(proper(X1),proper(X2))
       
       proper(recip(X)) = X >= X = recip(proper(X))
       
       proper(sqr(X)) = X >= X = sqr(proper(X))
       
       proper(s(X)) = X + 1 >= X + 1 = s(proper(X))
       
       proper(0()) = 1 >= 1 = ok(0())
       
       proper(add(X1,X2)) = X1 + X2 >= X1 + X2 = add(proper(X1),proper(X2))
       
       proper(dbl(X)) = X >= X = dbl(proper(X))
       
       proper(first(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = first(proper(X1),proper(X2))
       
       proper(nil()) = 0 >= 0 = ok(nil())
       
       terms(ok(X)) = X + 1 >= X + 1 = ok(terms(X))
       
       cons(ok(X1),ok(X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = ok(cons(X1,X2))
       
       recip(ok(X)) = X >= X = ok(recip(X))
       
       sqr(ok(X)) = X >= X = ok(sqr(X))
       
       s(ok(X)) = X + 1 >= X + 1 = ok(s(X))
       
       add(ok(X1),ok(X2)) = X1 + X2 >= X1 + X2 = ok(add(X1,X2))
       
       dbl(ok(X)) = X >= X = ok(dbl(X))
       
       first(ok(X1),ok(X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = ok(first(X1,X2))
       
       top(mark(X)) = 0 >= 0 = top(proper(X))
       
       top(ok(X)) = 0 >= 0 = top(active(X))
      problem:
       DPs:
        proper#(dbl(X)) -> proper#(X)
        proper#(add(X1,X2)) -> proper#(X1)
        proper#(add(X1,X2)) -> proper#(X2)
        proper#(sqr(X)) -> proper#(X)
        proper#(recip(X)) -> proper#(X)
       TRS:
        active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
        active(sqr(0())) -> mark(0())
        active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
        active(dbl(0())) -> mark(0())
        active(dbl(s(X))) -> mark(s(s(dbl(X))))
        active(add(0(),X)) -> mark(X)
        active(add(s(X),Y)) -> mark(s(add(X,Y)))
        active(first(0(),X)) -> mark(nil())
        active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
        active(terms(X)) -> terms(active(X))
        active(cons(X1,X2)) -> cons(active(X1),X2)
        active(recip(X)) -> recip(active(X))
        active(sqr(X)) -> sqr(active(X))
        active(s(X)) -> s(active(X))
        active(add(X1,X2)) -> add(active(X1),X2)
        active(add(X1,X2)) -> add(X1,active(X2))
        active(dbl(X)) -> dbl(active(X))
        active(first(X1,X2)) -> first(active(X1),X2)
        active(first(X1,X2)) -> first(X1,active(X2))
        terms(mark(X)) -> mark(terms(X))
        cons(mark(X1),X2) -> mark(cons(X1,X2))
        recip(mark(X)) -> mark(recip(X))
        sqr(mark(X)) -> mark(sqr(X))
        s(mark(X)) -> mark(s(X))
        add(mark(X1),X2) -> mark(add(X1,X2))
        add(X1,mark(X2)) -> mark(add(X1,X2))
        dbl(mark(X)) -> mark(dbl(X))
        first(mark(X1),X2) -> mark(first(X1,X2))
        first(X1,mark(X2)) -> mark(first(X1,X2))
        proper(terms(X)) -> terms(proper(X))
        proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
        proper(recip(X)) -> recip(proper(X))
        proper(sqr(X)) -> sqr(proper(X))
        proper(s(X)) -> s(proper(X))
        proper(0()) -> ok(0())
        proper(add(X1,X2)) -> add(proper(X1),proper(X2))
        proper(dbl(X)) -> dbl(proper(X))
        proper(first(X1,X2)) -> first(proper(X1),proper(X2))
        proper(nil()) -> ok(nil())
        terms(ok(X)) -> ok(terms(X))
        cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
        recip(ok(X)) -> ok(recip(X))
        sqr(ok(X)) -> ok(sqr(X))
        s(ok(X)) -> ok(s(X))
        add(ok(X1),ok(X2)) -> ok(add(X1,X2))
        dbl(ok(X)) -> ok(dbl(X))
        first(ok(X1),ok(X2)) -> ok(first(X1,X2))
        top(mark(X)) -> top(proper(X))
        top(ok(X)) -> top(active(X))
      Matrix Interpretation Processor:
       dimension: 1
       interpretation:
        [proper#](x0) = x0 + 1,
        
        [top](x0) = 0,
        
        [ok](x0) = x0,
        
        [proper](x0) = x0,
        
        [nil] = 0,
        
        [first](x0, x1) = x0 + x1 + 1,
        
        [add](x0, x1) = x0 + x1,
        
        [dbl](x0) = x0 + 1,
        
        [0] = 1,
        
        [mark](x0) = 0,
        
        [cons](x0, x1) = x0,
        
        [s](x0) = x0,
        
        [recip](x0) = x0,
        
        [sqr](x0) = x0,
        
        [active](x0) = x0 + 1,
        
        [terms](x0) = 0
       orientation:
        proper#(dbl(X)) = X + 2 >= X + 1 = proper#(X)
        
        proper#(add(X1,X2)) = X1 + X2 + 1 >= X1 + 1 = proper#(X1)
        
        proper#(add(X1,X2)) = X1 + X2 + 1 >= X2 + 1 = proper#(X2)
        
        proper#(sqr(X)) = X + 1 >= X + 1 = proper#(X)
        
        proper#(recip(X)) = X + 1 >= X + 1 = proper#(X)
        
        active(terms(N)) = 1 >= 0 = mark(cons(recip(sqr(N)),terms(s(N))))
        
        active(sqr(0())) = 2 >= 0 = mark(0())
        
        active(sqr(s(X))) = X + 1 >= 0 = mark(s(add(sqr(X),dbl(X))))
        
        active(dbl(0())) = 3 >= 0 = mark(0())
        
        active(dbl(s(X))) = X + 2 >= 0 = mark(s(s(dbl(X))))
        
        active(add(0(),X)) = X + 2 >= 0 = mark(X)
        
        active(add(s(X),Y)) = X + Y + 1 >= 0 = mark(s(add(X,Y)))
        
        active(first(0(),X)) = X + 3 >= 0 = mark(nil())
        
        active(first(s(X),cons(Y,Z))) = X + Y + 2 >= 0 = mark(cons(Y,first(X,Z)))
        
        active(terms(X)) = 1 >= 0 = terms(active(X))
        
        active(cons(X1,X2)) = X1 + 1 >= X1 + 1 = cons(active(X1),X2)
        
        active(recip(X)) = X + 1 >= X + 1 = recip(active(X))
        
        active(sqr(X)) = X + 1 >= X + 1 = sqr(active(X))
        
        active(s(X)) = X + 1 >= X + 1 = s(active(X))
        
        active(add(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = add(active(X1),X2)
        
        active(add(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = add(X1,active(X2))
        
        active(dbl(X)) = X + 2 >= X + 2 = dbl(active(X))
        
        active(first(X1,X2)) = X1 + X2 + 2 >= X1 + X2 + 2 = first(active(X1),X2)
        
        active(first(X1,X2)) = X1 + X2 + 2 >= X1 + X2 + 2 = first(X1,active(X2))
        
        terms(mark(X)) = 0 >= 0 = mark(terms(X))
        
        cons(mark(X1),X2) = 0 >= 0 = mark(cons(X1,X2))
        
        recip(mark(X)) = 0 >= 0 = mark(recip(X))
        
        sqr(mark(X)) = 0 >= 0 = mark(sqr(X))
        
        s(mark(X)) = 0 >= 0 = mark(s(X))
        
        add(mark(X1),X2) = X2 >= 0 = mark(add(X1,X2))
        
        add(X1,mark(X2)) = X1 >= 0 = mark(add(X1,X2))
        
        dbl(mark(X)) = 1 >= 0 = mark(dbl(X))
        
        first(mark(X1),X2) = X2 + 1 >= 0 = mark(first(X1,X2))
        
        first(X1,mark(X2)) = X1 + 1 >= 0 = mark(first(X1,X2))
        
        proper(terms(X)) = 0 >= 0 = terms(proper(X))
        
        proper(cons(X1,X2)) = X1 >= X1 = cons(proper(X1),proper(X2))
        
        proper(recip(X)) = X >= X = recip(proper(X))
        
        proper(sqr(X)) = X >= X = sqr(proper(X))
        
        proper(s(X)) = X >= X = s(proper(X))
        
        proper(0()) = 1 >= 1 = ok(0())
        
        proper(add(X1,X2)) = X1 + X2 >= X1 + X2 = add(proper(X1),proper(X2))
        
        proper(dbl(X)) = X + 1 >= X + 1 = dbl(proper(X))
        
        proper(first(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = first(proper(X1),proper(X2))
        
        proper(nil()) = 0 >= 0 = ok(nil())
        
        terms(ok(X)) = 0 >= 0 = ok(terms(X))
        
        cons(ok(X1),ok(X2)) = X1 >= X1 = ok(cons(X1,X2))
        
        recip(ok(X)) = X >= X = ok(recip(X))
        
        sqr(ok(X)) = X >= X = ok(sqr(X))
        
        s(ok(X)) = X >= X = ok(s(X))
        
        add(ok(X1),ok(X2)) = X1 + X2 >= X1 + X2 = ok(add(X1,X2))
        
        dbl(ok(X)) = X + 1 >= X + 1 = ok(dbl(X))
        
        first(ok(X1),ok(X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = ok(first(X1,X2))
        
        top(mark(X)) = 0 >= 0 = top(proper(X))
        
        top(ok(X)) = 0 >= 0 = top(active(X))
       problem:
        DPs:
         proper#(add(X1,X2)) -> proper#(X1)
         proper#(add(X1,X2)) -> proper#(X2)
         proper#(sqr(X)) -> proper#(X)
         proper#(recip(X)) -> proper#(X)
        TRS:
         active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
         active(sqr(0())) -> mark(0())
         active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
         active(dbl(0())) -> mark(0())
         active(dbl(s(X))) -> mark(s(s(dbl(X))))
         active(add(0(),X)) -> mark(X)
         active(add(s(X),Y)) -> mark(s(add(X,Y)))
         active(first(0(),X)) -> mark(nil())
         active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
         active(terms(X)) -> terms(active(X))
         active(cons(X1,X2)) -> cons(active(X1),X2)
         active(recip(X)) -> recip(active(X))
         active(sqr(X)) -> sqr(active(X))
         active(s(X)) -> s(active(X))
         active(add(X1,X2)) -> add(active(X1),X2)
         active(add(X1,X2)) -> add(X1,active(X2))
         active(dbl(X)) -> dbl(active(X))
         active(first(X1,X2)) -> first(active(X1),X2)
         active(first(X1,X2)) -> first(X1,active(X2))
         terms(mark(X)) -> mark(terms(X))
         cons(mark(X1),X2) -> mark(cons(X1,X2))
         recip(mark(X)) -> mark(recip(X))
         sqr(mark(X)) -> mark(sqr(X))
         s(mark(X)) -> mark(s(X))
         add(mark(X1),X2) -> mark(add(X1,X2))
         add(X1,mark(X2)) -> mark(add(X1,X2))
         dbl(mark(X)) -> mark(dbl(X))
         first(mark(X1),X2) -> mark(first(X1,X2))
         first(X1,mark(X2)) -> mark(first(X1,X2))
         proper(terms(X)) -> terms(proper(X))
         proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
         proper(recip(X)) -> recip(proper(X))
         proper(sqr(X)) -> sqr(proper(X))
         proper(s(X)) -> s(proper(X))
         proper(0()) -> ok(0())
         proper(add(X1,X2)) -> add(proper(X1),proper(X2))
         proper(dbl(X)) -> dbl(proper(X))
         proper(first(X1,X2)) -> first(proper(X1),proper(X2))
         proper(nil()) -> ok(nil())
         terms(ok(X)) -> ok(terms(X))
         cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
         recip(ok(X)) -> ok(recip(X))
         sqr(ok(X)) -> ok(sqr(X))
         s(ok(X)) -> ok(s(X))
         add(ok(X1),ok(X2)) -> ok(add(X1,X2))
         dbl(ok(X)) -> ok(dbl(X))
         first(ok(X1),ok(X2)) -> ok(first(X1,X2))
         top(mark(X)) -> top(proper(X))
         top(ok(X)) -> top(active(X))
       Matrix Interpretation Processor:
        dimension: 1
        interpretation:
         [proper#](x0) = x0,
         
         [top](x0) = 0,
         
         [ok](x0) = 0,
         
         [proper](x0) = x0,
         
         [nil] = 0,
         
         [first](x0, x1) = x0,
         
         [add](x0, x1) = x0 + x1,
         
         [dbl](x0) = x0,
         
         [0] = 0,
         
         [mark](x0) = 0,
         
         [cons](x0, x1) = x0,
         
         [s](x0) = 0,
         
         [recip](x0) = x0 + 1,
         
         [sqr](x0) = x0,
         
         [active](x0) = x0 + 1,
         
         [terms](x0) = 0
        orientation:
         proper#(add(X1,X2)) = X1 + X2 >= X1 = proper#(X1)
         
         proper#(add(X1,X2)) = X1 + X2 >= X2 = proper#(X2)
         
         proper#(sqr(X)) = X >= X = proper#(X)
         
         proper#(recip(X)) = X + 1 >= X = proper#(X)
         
         active(terms(N)) = 1 >= 0 = mark(cons(recip(sqr(N)),terms(s(N))))
         
         active(sqr(0())) = 1 >= 0 = mark(0())
         
         active(sqr(s(X))) = 1 >= 0 = mark(s(add(sqr(X),dbl(X))))
         
         active(dbl(0())) = 1 >= 0 = mark(0())
         
         active(dbl(s(X))) = 1 >= 0 = mark(s(s(dbl(X))))
         
         active(add(0(),X)) = X + 1 >= 0 = mark(X)
         
         active(add(s(X),Y)) = Y + 1 >= 0 = mark(s(add(X,Y)))
         
         active(first(0(),X)) = 1 >= 0 = mark(nil())
         
         active(first(s(X),cons(Y,Z))) = 1 >= 0 = mark(cons(Y,first(X,Z)))
         
         active(terms(X)) = 1 >= 0 = terms(active(X))
         
         active(cons(X1,X2)) = X1 + 1 >= X1 + 1 = cons(active(X1),X2)
         
         active(recip(X)) = X + 2 >= X + 2 = recip(active(X))
         
         active(sqr(X)) = X + 1 >= X + 1 = sqr(active(X))
         
         active(s(X)) = 1 >= 0 = s(active(X))
         
         active(add(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = add(active(X1),X2)
         
         active(add(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = add(X1,active(X2))
         
         active(dbl(X)) = X + 1 >= X + 1 = dbl(active(X))
         
         active(first(X1,X2)) = X1 + 1 >= X1 + 1 = first(active(X1),X2)
         
         active(first(X1,X2)) = X1 + 1 >= X1 = first(X1,active(X2))
         
         terms(mark(X)) = 0 >= 0 = mark(terms(X))
         
         cons(mark(X1),X2) = 0 >= 0 = mark(cons(X1,X2))
         
         recip(mark(X)) = 1 >= 0 = mark(recip(X))
         
         sqr(mark(X)) = 0 >= 0 = mark(sqr(X))
         
         s(mark(X)) = 0 >= 0 = mark(s(X))
         
         add(mark(X1),X2) = X2 >= 0 = mark(add(X1,X2))
         
         add(X1,mark(X2)) = X1 >= 0 = mark(add(X1,X2))
         
         dbl(mark(X)) = 0 >= 0 = mark(dbl(X))
         
         first(mark(X1),X2) = 0 >= 0 = mark(first(X1,X2))
         
         first(X1,mark(X2)) = X1 >= 0 = mark(first(X1,X2))
         
         proper(terms(X)) = 0 >= 0 = terms(proper(X))
         
         proper(cons(X1,X2)) = X1 >= X1 = cons(proper(X1),proper(X2))
         
         proper(recip(X)) = X + 1 >= X + 1 = recip(proper(X))
         
         proper(sqr(X)) = X >= X = sqr(proper(X))
         
         proper(s(X)) = 0 >= 0 = s(proper(X))
         
         proper(0()) = 0 >= 0 = ok(0())
         
         proper(add(X1,X2)) = X1 + X2 >= X1 + X2 = add(proper(X1),proper(X2))
         
         proper(dbl(X)) = X >= X = dbl(proper(X))
         
         proper(first(X1,X2)) = X1 >= X1 = first(proper(X1),proper(X2))
         
         proper(nil()) = 0 >= 0 = ok(nil())
         
         terms(ok(X)) = 0 >= 0 = ok(terms(X))
         
         cons(ok(X1),ok(X2)) = 0 >= 0 = ok(cons(X1,X2))
         
         recip(ok(X)) = 1 >= 0 = ok(recip(X))
         
         sqr(ok(X)) = 0 >= 0 = ok(sqr(X))
         
         s(ok(X)) = 0 >= 0 = ok(s(X))
         
         add(ok(X1),ok(X2)) = 0 >= 0 = ok(add(X1,X2))
         
         dbl(ok(X)) = 0 >= 0 = ok(dbl(X))
         
         first(ok(X1),ok(X2)) = 0 >= 0 = ok(first(X1,X2))
         
         top(mark(X)) = 0 >= 0 = top(proper(X))
         
         top(ok(X)) = 0 >= 0 = top(active(X))
        problem:
         DPs:
          proper#(add(X1,X2)) -> proper#(X1)
          proper#(add(X1,X2)) -> proper#(X2)
          proper#(sqr(X)) -> proper#(X)
         TRS:
          active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
          active(sqr(0())) -> mark(0())
          active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
          active(dbl(0())) -> mark(0())
          active(dbl(s(X))) -> mark(s(s(dbl(X))))
          active(add(0(),X)) -> mark(X)
          active(add(s(X),Y)) -> mark(s(add(X,Y)))
          active(first(0(),X)) -> mark(nil())
          active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
          active(terms(X)) -> terms(active(X))
          active(cons(X1,X2)) -> cons(active(X1),X2)
          active(recip(X)) -> recip(active(X))
          active(sqr(X)) -> sqr(active(X))
          active(s(X)) -> s(active(X))
          active(add(X1,X2)) -> add(active(X1),X2)
          active(add(X1,X2)) -> add(X1,active(X2))
          active(dbl(X)) -> dbl(active(X))
          active(first(X1,X2)) -> first(active(X1),X2)
          active(first(X1,X2)) -> first(X1,active(X2))
          terms(mark(X)) -> mark(terms(X))
          cons(mark(X1),X2) -> mark(cons(X1,X2))
          recip(mark(X)) -> mark(recip(X))
          sqr(mark(X)) -> mark(sqr(X))
          s(mark(X)) -> mark(s(X))
          add(mark(X1),X2) -> mark(add(X1,X2))
          add(X1,mark(X2)) -> mark(add(X1,X2))
          dbl(mark(X)) -> mark(dbl(X))
          first(mark(X1),X2) -> mark(first(X1,X2))
          first(X1,mark(X2)) -> mark(first(X1,X2))
          proper(terms(X)) -> terms(proper(X))
          proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
          proper(recip(X)) -> recip(proper(X))
          proper(sqr(X)) -> sqr(proper(X))
          proper(s(X)) -> s(proper(X))
          proper(0()) -> ok(0())
          proper(add(X1,X2)) -> add(proper(X1),proper(X2))
          proper(dbl(X)) -> dbl(proper(X))
          proper(first(X1,X2)) -> first(proper(X1),proper(X2))
          proper(nil()) -> ok(nil())
          terms(ok(X)) -> ok(terms(X))
          cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
          recip(ok(X)) -> ok(recip(X))
          sqr(ok(X)) -> ok(sqr(X))
          s(ok(X)) -> ok(s(X))
          add(ok(X1),ok(X2)) -> ok(add(X1,X2))
          dbl(ok(X)) -> ok(dbl(X))
          first(ok(X1),ok(X2)) -> ok(first(X1,X2))
          top(mark(X)) -> top(proper(X))
          top(ok(X)) -> top(active(X))
        Matrix Interpretation Processor:
         dimension: 1
         interpretation:
          [proper#](x0) = x0 + 1,
          
          [top](x0) = 0,
          
          [ok](x0) = 0,
          
          [proper](x0) = x0,
          
          [nil] = 0,
          
          [first](x0, x1) = 0,
          
          [add](x0, x1) = x0 + x1 + 1,
          
          [dbl](x0) = 0,
          
          [0] = 0,
          
          [mark](x0) = 0,
          
          [cons](x0, x1) = 0,
          
          [s](x0) = 0,
          
          [recip](x0) = 0,
          
          [sqr](x0) = x0,
          
          [active](x0) = x0,
          
          [terms](x0) = 0
         orientation:
          proper#(add(X1,X2)) = X1 + X2 + 2 >= X1 + 1 = proper#(X1)
          
          proper#(add(X1,X2)) = X1 + X2 + 2 >= X2 + 1 = proper#(X2)
          
          proper#(sqr(X)) = X + 1 >= X + 1 = proper#(X)
          
          active(terms(N)) = 0 >= 0 = mark(cons(recip(sqr(N)),terms(s(N))))
          
          active(sqr(0())) = 0 >= 0 = mark(0())
          
          active(sqr(s(X))) = 0 >= 0 = mark(s(add(sqr(X),dbl(X))))
          
          active(dbl(0())) = 0 >= 0 = mark(0())
          
          active(dbl(s(X))) = 0 >= 0 = mark(s(s(dbl(X))))
          
          active(add(0(),X)) = X + 1 >= 0 = mark(X)
          
          active(add(s(X),Y)) = Y + 1 >= 0 = mark(s(add(X,Y)))
          
          active(first(0(),X)) = 0 >= 0 = mark(nil())
          
          active(first(s(X),cons(Y,Z))) = 0 >= 0 = mark(cons(Y,first(X,Z)))
          
          active(terms(X)) = 0 >= 0 = terms(active(X))
          
          active(cons(X1,X2)) = 0 >= 0 = cons(active(X1),X2)
          
          active(recip(X)) = 0 >= 0 = recip(active(X))
          
          active(sqr(X)) = X >= X = sqr(active(X))
          
          active(s(X)) = 0 >= 0 = s(active(X))
          
          active(add(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = add(active(X1),X2)
          
          active(add(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = add(X1,active(X2))
          
          active(dbl(X)) = 0 >= 0 = dbl(active(X))
          
          active(first(X1,X2)) = 0 >= 0 = first(active(X1),X2)
          
          active(first(X1,X2)) = 0 >= 0 = first(X1,active(X2))
          
          terms(mark(X)) = 0 >= 0 = mark(terms(X))
          
          cons(mark(X1),X2) = 0 >= 0 = mark(cons(X1,X2))
          
          recip(mark(X)) = 0 >= 0 = mark(recip(X))
          
          sqr(mark(X)) = 0 >= 0 = mark(sqr(X))
          
          s(mark(X)) = 0 >= 0 = mark(s(X))
          
          add(mark(X1),X2) = X2 + 1 >= 0 = mark(add(X1,X2))
          
          add(X1,mark(X2)) = X1 + 1 >= 0 = mark(add(X1,X2))
          
          dbl(mark(X)) = 0 >= 0 = mark(dbl(X))
          
          first(mark(X1),X2) = 0 >= 0 = mark(first(X1,X2))
          
          first(X1,mark(X2)) = 0 >= 0 = mark(first(X1,X2))
          
          proper(terms(X)) = 0 >= 0 = terms(proper(X))
          
          proper(cons(X1,X2)) = 0 >= 0 = cons(proper(X1),proper(X2))
          
          proper(recip(X)) = 0 >= 0 = recip(proper(X))
          
          proper(sqr(X)) = X >= X = sqr(proper(X))
          
          proper(s(X)) = 0 >= 0 = s(proper(X))
          
          proper(0()) = 0 >= 0 = ok(0())
          
          proper(add(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = add(proper(X1),proper(X2))
          
          proper(dbl(X)) = 0 >= 0 = dbl(proper(X))
          
          proper(first(X1,X2)) = 0 >= 0 = first(proper(X1),proper(X2))
          
          proper(nil()) = 0 >= 0 = ok(nil())
          
          terms(ok(X)) = 0 >= 0 = ok(terms(X))
          
          cons(ok(X1),ok(X2)) = 0 >= 0 = ok(cons(X1,X2))
          
          recip(ok(X)) = 0 >= 0 = ok(recip(X))
          
          sqr(ok(X)) = 0 >= 0 = ok(sqr(X))
          
          s(ok(X)) = 0 >= 0 = ok(s(X))
          
          add(ok(X1),ok(X2)) = 1 >= 0 = ok(add(X1,X2))
          
          dbl(ok(X)) = 0 >= 0 = ok(dbl(X))
          
          first(ok(X1),ok(X2)) = 0 >= 0 = ok(first(X1,X2))
          
          top(mark(X)) = 0 >= 0 = top(proper(X))
          
          top(ok(X)) = 0 >= 0 = top(active(X))
         problem:
          DPs:
           proper#(sqr(X)) -> proper#(X)
          TRS:
           active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
           active(sqr(0())) -> mark(0())
           active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
           active(dbl(0())) -> mark(0())
           active(dbl(s(X))) -> mark(s(s(dbl(X))))
           active(add(0(),X)) -> mark(X)
           active(add(s(X),Y)) -> mark(s(add(X,Y)))
           active(first(0(),X)) -> mark(nil())
           active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
           active(terms(X)) -> terms(active(X))
           active(cons(X1,X2)) -> cons(active(X1),X2)
           active(recip(X)) -> recip(active(X))
           active(sqr(X)) -> sqr(active(X))
           active(s(X)) -> s(active(X))
           active(add(X1,X2)) -> add(active(X1),X2)
           active(add(X1,X2)) -> add(X1,active(X2))
           active(dbl(X)) -> dbl(active(X))
           active(first(X1,X2)) -> first(active(X1),X2)
           active(first(X1,X2)) -> first(X1,active(X2))
           terms(mark(X)) -> mark(terms(X))
           cons(mark(X1),X2) -> mark(cons(X1,X2))
           recip(mark(X)) -> mark(recip(X))
           sqr(mark(X)) -> mark(sqr(X))
           s(mark(X)) -> mark(s(X))
           add(mark(X1),X2) -> mark(add(X1,X2))
           add(X1,mark(X2)) -> mark(add(X1,X2))
           dbl(mark(X)) -> mark(dbl(X))
           first(mark(X1),X2) -> mark(first(X1,X2))
           first(X1,mark(X2)) -> mark(first(X1,X2))
           proper(terms(X)) -> terms(proper(X))
           proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
           proper(recip(X)) -> recip(proper(X))
           proper(sqr(X)) -> sqr(proper(X))
           proper(s(X)) -> s(proper(X))
           proper(0()) -> ok(0())
           proper(add(X1,X2)) -> add(proper(X1),proper(X2))
           proper(dbl(X)) -> dbl(proper(X))
           proper(first(X1,X2)) -> first(proper(X1),proper(X2))
           proper(nil()) -> ok(nil())
           terms(ok(X)) -> ok(terms(X))
           cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
           recip(ok(X)) -> ok(recip(X))
           sqr(ok(X)) -> ok(sqr(X))
           s(ok(X)) -> ok(s(X))
           add(ok(X1),ok(X2)) -> ok(add(X1,X2))
           dbl(ok(X)) -> ok(dbl(X))
           first(ok(X1),ok(X2)) -> ok(first(X1,X2))
           top(mark(X)) -> top(proper(X))
           top(ok(X)) -> top(active(X))
         Matrix Interpretation Processor:
          dimension: 1
          interpretation:
           [proper#](x0) = x0 + 1,
           
           [top](x0) = 0,
           
           [ok](x0) = x0,
           
           [proper](x0) = x0,
           
           [nil] = 0,
           
           [first](x0, x1) = 1,
           
           [add](x0, x1) = 0,
           
           [dbl](x0) = 0,
           
           [0] = 0,
           
           [mark](x0) = 0,
           
           [cons](x0, x1) = 1,
           
           [s](x0) = 0,
           
           [recip](x0) = 0,
           
           [sqr](x0) = x0 + 1,
           
           [active](x0) = x0,
           
           [terms](x0) = 0
          orientation:
           proper#(sqr(X)) = X + 2 >= X + 1 = proper#(X)
           
           active(terms(N)) = 0 >= 0 = mark(cons(recip(sqr(N)),terms(s(N))))
           
           active(sqr(0())) = 1 >= 0 = mark(0())
           
           active(sqr(s(X))) = 1 >= 0 = mark(s(add(sqr(X),dbl(X))))
           
           active(dbl(0())) = 0 >= 0 = mark(0())
           
           active(dbl(s(X))) = 0 >= 0 = mark(s(s(dbl(X))))
           
           active(add(0(),X)) = 0 >= 0 = mark(X)
           
           active(add(s(X),Y)) = 0 >= 0 = mark(s(add(X,Y)))
           
           active(first(0(),X)) = 1 >= 0 = mark(nil())
           
           active(first(s(X),cons(Y,Z))) = 1 >= 0 = mark(cons(Y,first(X,Z)))
           
           active(terms(X)) = 0 >= 0 = terms(active(X))
           
           active(cons(X1,X2)) = 1 >= 1 = cons(active(X1),X2)
           
           active(recip(X)) = 0 >= 0 = recip(active(X))
           
           active(sqr(X)) = X + 1 >= X + 1 = sqr(active(X))
           
           active(s(X)) = 0 >= 0 = s(active(X))
           
           active(add(X1,X2)) = 0 >= 0 = add(active(X1),X2)
           
           active(add(X1,X2)) = 0 >= 0 = add(X1,active(X2))
           
           active(dbl(X)) = 0 >= 0 = dbl(active(X))
           
           active(first(X1,X2)) = 1 >= 1 = first(active(X1),X2)
           
           active(first(X1,X2)) = 1 >= 1 = first(X1,active(X2))
           
           terms(mark(X)) = 0 >= 0 = mark(terms(X))
           
           cons(mark(X1),X2) = 1 >= 0 = mark(cons(X1,X2))
           
           recip(mark(X)) = 0 >= 0 = mark(recip(X))
           
           sqr(mark(X)) = 1 >= 0 = mark(sqr(X))
           
           s(mark(X)) = 0 >= 0 = mark(s(X))
           
           add(mark(X1),X2) = 0 >= 0 = mark(add(X1,X2))
           
           add(X1,mark(X2)) = 0 >= 0 = mark(add(X1,X2))
           
           dbl(mark(X)) = 0 >= 0 = mark(dbl(X))
           
           first(mark(X1),X2) = 1 >= 0 = mark(first(X1,X2))
           
           first(X1,mark(X2)) = 1 >= 0 = mark(first(X1,X2))
           
           proper(terms(X)) = 0 >= 0 = terms(proper(X))
           
           proper(cons(X1,X2)) = 1 >= 1 = cons(proper(X1),proper(X2))
           
           proper(recip(X)) = 0 >= 0 = recip(proper(X))
           
           proper(sqr(X)) = X + 1 >= X + 1 = sqr(proper(X))
           
           proper(s(X)) = 0 >= 0 = s(proper(X))
           
           proper(0()) = 0 >= 0 = ok(0())
           
           proper(add(X1,X2)) = 0 >= 0 = add(proper(X1),proper(X2))
           
           proper(dbl(X)) = 0 >= 0 = dbl(proper(X))
           
           proper(first(X1,X2)) = 1 >= 1 = first(proper(X1),proper(X2))
           
           proper(nil()) = 0 >= 0 = ok(nil())
           
           terms(ok(X)) = 0 >= 0 = ok(terms(X))
           
           cons(ok(X1),ok(X2)) = 1 >= 1 = ok(cons(X1,X2))
           
           recip(ok(X)) = 0 >= 0 = ok(recip(X))
           
           sqr(ok(X)) = X + 1 >= X + 1 = ok(sqr(X))
           
           s(ok(X)) = 0 >= 0 = ok(s(X))
           
           add(ok(X1),ok(X2)) = 0 >= 0 = ok(add(X1,X2))
           
           dbl(ok(X)) = 0 >= 0 = ok(dbl(X))
           
           first(ok(X1),ok(X2)) = 1 >= 1 = ok(first(X1,X2))
           
           top(mark(X)) = 0 >= 0 = top(proper(X))
           
           top(ok(X)) = 0 >= 0 = top(active(X))
          problem:
           DPs:
            
           TRS:
            active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
            active(sqr(0())) -> mark(0())
            active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
            active(dbl(0())) -> mark(0())
            active(dbl(s(X))) -> mark(s(s(dbl(X))))
            active(add(0(),X)) -> mark(X)
            active(add(s(X),Y)) -> mark(s(add(X,Y)))
            active(first(0(),X)) -> mark(nil())
            active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
            active(terms(X)) -> terms(active(X))
            active(cons(X1,X2)) -> cons(active(X1),X2)
            active(recip(X)) -> recip(active(X))
            active(sqr(X)) -> sqr(active(X))
            active(s(X)) -> s(active(X))
            active(add(X1,X2)) -> add(active(X1),X2)
            active(add(X1,X2)) -> add(X1,active(X2))
            active(dbl(X)) -> dbl(active(X))
            active(first(X1,X2)) -> first(active(X1),X2)
            active(first(X1,X2)) -> first(X1,active(X2))
            terms(mark(X)) -> mark(terms(X))
            cons(mark(X1),X2) -> mark(cons(X1,X2))
            recip(mark(X)) -> mark(recip(X))
            sqr(mark(X)) -> mark(sqr(X))
            s(mark(X)) -> mark(s(X))
            add(mark(X1),X2) -> mark(add(X1,X2))
            add(X1,mark(X2)) -> mark(add(X1,X2))
            dbl(mark(X)) -> mark(dbl(X))
            first(mark(X1),X2) -> mark(first(X1,X2))
            first(X1,mark(X2)) -> mark(first(X1,X2))
            proper(terms(X)) -> terms(proper(X))
            proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
            proper(recip(X)) -> recip(proper(X))
            proper(sqr(X)) -> sqr(proper(X))
            proper(s(X)) -> s(proper(X))
            proper(0()) -> ok(0())
            proper(add(X1,X2)) -> add(proper(X1),proper(X2))
            proper(dbl(X)) -> dbl(proper(X))
            proper(first(X1,X2)) -> first(proper(X1),proper(X2))
            proper(nil()) -> ok(nil())
            terms(ok(X)) -> ok(terms(X))
            cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
            recip(ok(X)) -> ok(recip(X))
            sqr(ok(X)) -> ok(sqr(X))
            s(ok(X)) -> ok(s(X))
            add(ok(X1),ok(X2)) -> ok(add(X1,X2))
            dbl(ok(X)) -> ok(dbl(X))
            first(ok(X1),ok(X2)) -> ok(first(X1,X2))
            top(mark(X)) -> top(proper(X))
            top(ok(X)) -> top(active(X))
          Qed
     
     DPs:
      active#(first(X1,X2)) -> active#(X2)
      active#(first(X1,X2)) -> active#(X1)
      active#(dbl(X)) -> active#(X)
      active#(add(X1,X2)) -> active#(X2)
      active#(add(X1,X2)) -> active#(X1)
      active#(s(X)) -> active#(X)
      active#(sqr(X)) -> active#(X)
      active#(recip(X)) -> active#(X)
      active#(cons(X1,X2)) -> active#(X1)
      active#(terms(X)) -> active#(X)
     TRS:
      active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
      active(sqr(0())) -> mark(0())
      active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
      active(dbl(0())) -> mark(0())
      active(dbl(s(X))) -> mark(s(s(dbl(X))))
      active(add(0(),X)) -> mark(X)
      active(add(s(X),Y)) -> mark(s(add(X,Y)))
      active(first(0(),X)) -> mark(nil())
      active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
      active(terms(X)) -> terms(active(X))
      active(cons(X1,X2)) -> cons(active(X1),X2)
      active(recip(X)) -> recip(active(X))
      active(sqr(X)) -> sqr(active(X))
      active(s(X)) -> s(active(X))
      active(add(X1,X2)) -> add(active(X1),X2)
      active(add(X1,X2)) -> add(X1,active(X2))
      active(dbl(X)) -> dbl(active(X))
      active(first(X1,X2)) -> first(active(X1),X2)
      active(first(X1,X2)) -> first(X1,active(X2))
      terms(mark(X)) -> mark(terms(X))
      cons(mark(X1),X2) -> mark(cons(X1,X2))
      recip(mark(X)) -> mark(recip(X))
      sqr(mark(X)) -> mark(sqr(X))
      s(mark(X)) -> mark(s(X))
      add(mark(X1),X2) -> mark(add(X1,X2))
      add(X1,mark(X2)) -> mark(add(X1,X2))
      dbl(mark(X)) -> mark(dbl(X))
      first(mark(X1),X2) -> mark(first(X1,X2))
      first(X1,mark(X2)) -> mark(first(X1,X2))
      proper(terms(X)) -> terms(proper(X))
      proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
      proper(recip(X)) -> recip(proper(X))
      proper(sqr(X)) -> sqr(proper(X))
      proper(s(X)) -> s(proper(X))
      proper(0()) -> ok(0())
      proper(add(X1,X2)) -> add(proper(X1),proper(X2))
      proper(dbl(X)) -> dbl(proper(X))
      proper(first(X1,X2)) -> first(proper(X1),proper(X2))
      proper(nil()) -> ok(nil())
      terms(ok(X)) -> ok(terms(X))
      cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
      recip(ok(X)) -> ok(recip(X))
      sqr(ok(X)) -> ok(sqr(X))
      s(ok(X)) -> ok(s(X))
      add(ok(X1),ok(X2)) -> ok(add(X1,X2))
      dbl(ok(X)) -> ok(dbl(X))
      first(ok(X1),ok(X2)) -> ok(first(X1,X2))
      top(mark(X)) -> top(proper(X))
      top(ok(X)) -> top(active(X))
     Matrix Interpretation Processor:
      dimension: 1
      interpretation:
       [active#](x0) = x0 + 1,
       
       [top](x0) = 1,
       
       [ok](x0) = 0,
       
       [proper](x0) = x0,
       
       [nil] = 0,
       
       [first](x0, x1) = x0 + x1 + 1,
       
       [add](x0, x1) = x0 + x1 + 1,
       
       [dbl](x0) = x0 + 1,
       
       [0] = 0,
       
       [mark](x0) = 0,
       
       [cons](x0, x1) = x0 + 1,
       
       [s](x0) = x0 + 1,
       
       [recip](x0) = x0,
       
       [sqr](x0) = x0,
       
       [active](x0) = x0,
       
       [terms](x0) = x0
      orientation:
       active#(first(X1,X2)) = X1 + X2 + 2 >= X2 + 1 = active#(X2)
       
       active#(first(X1,X2)) = X1 + X2 + 2 >= X1 + 1 = active#(X1)
       
       active#(dbl(X)) = X + 2 >= X + 1 = active#(X)
       
       active#(add(X1,X2)) = X1 + X2 + 2 >= X2 + 1 = active#(X2)
       
       active#(add(X1,X2)) = X1 + X2 + 2 >= X1 + 1 = active#(X1)
       
       active#(s(X)) = X + 2 >= X + 1 = active#(X)
       
       active#(sqr(X)) = X + 1 >= X + 1 = active#(X)
       
       active#(recip(X)) = X + 1 >= X + 1 = active#(X)
       
       active#(cons(X1,X2)) = X1 + 2 >= X1 + 1 = active#(X1)
       
       active#(terms(X)) = X + 1 >= X + 1 = active#(X)
       
       active(terms(N)) = N >= 0 = mark(cons(recip(sqr(N)),terms(s(N))))
       
       active(sqr(0())) = 0 >= 0 = mark(0())
       
       active(sqr(s(X))) = X + 1 >= 0 = mark(s(add(sqr(X),dbl(X))))
       
       active(dbl(0())) = 1 >= 0 = mark(0())
       
       active(dbl(s(X))) = X + 2 >= 0 = mark(s(s(dbl(X))))
       
       active(add(0(),X)) = X + 1 >= 0 = mark(X)
       
       active(add(s(X),Y)) = X + Y + 2 >= 0 = mark(s(add(X,Y)))
       
       active(first(0(),X)) = X + 1 >= 0 = mark(nil())
       
       active(first(s(X),cons(Y,Z))) = X + Y + 3 >= 0 = mark(cons(Y,first(X,Z)))
       
       active(terms(X)) = X >= X = terms(active(X))
       
       active(cons(X1,X2)) = X1 + 1 >= X1 + 1 = cons(active(X1),X2)
       
       active(recip(X)) = X >= X = recip(active(X))
       
       active(sqr(X)) = X >= X = sqr(active(X))
       
       active(s(X)) = X + 1 >= X + 1 = s(active(X))
       
       active(add(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = add(active(X1),X2)
       
       active(add(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = add(X1,active(X2))
       
       active(dbl(X)) = X + 1 >= X + 1 = dbl(active(X))
       
       active(first(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = first(active(X1),X2)
       
       active(first(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = first(X1,active(X2))
       
       terms(mark(X)) = 0 >= 0 = mark(terms(X))
       
       cons(mark(X1),X2) = 1 >= 0 = mark(cons(X1,X2))
       
       recip(mark(X)) = 0 >= 0 = mark(recip(X))
       
       sqr(mark(X)) = 0 >= 0 = mark(sqr(X))
       
       s(mark(X)) = 1 >= 0 = mark(s(X))
       
       add(mark(X1),X2) = X2 + 1 >= 0 = mark(add(X1,X2))
       
       add(X1,mark(X2)) = X1 + 1 >= 0 = mark(add(X1,X2))
       
       dbl(mark(X)) = 1 >= 0 = mark(dbl(X))
       
       first(mark(X1),X2) = X2 + 1 >= 0 = mark(first(X1,X2))
       
       first(X1,mark(X2)) = X1 + 1 >= 0 = mark(first(X1,X2))
       
       proper(terms(X)) = X >= X = terms(proper(X))
       
       proper(cons(X1,X2)) = X1 + 1 >= X1 + 1 = cons(proper(X1),proper(X2))
       
       proper(recip(X)) = X >= X = recip(proper(X))
       
       proper(sqr(X)) = X >= X = sqr(proper(X))
       
       proper(s(X)) = X + 1 >= X + 1 = s(proper(X))
       
       proper(0()) = 0 >= 0 = ok(0())
       
       proper(add(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = add(proper(X1),proper(X2))
       
       proper(dbl(X)) = X + 1 >= X + 1 = dbl(proper(X))
       
       proper(first(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = first(proper(X1),proper(X2))
       
       proper(nil()) = 0 >= 0 = ok(nil())
       
       terms(ok(X)) = 0 >= 0 = ok(terms(X))
       
       cons(ok(X1),ok(X2)) = 1 >= 0 = ok(cons(X1,X2))
       
       recip(ok(X)) = 0 >= 0 = ok(recip(X))
       
       sqr(ok(X)) = 0 >= 0 = ok(sqr(X))
       
       s(ok(X)) = 1 >= 0 = ok(s(X))
       
       add(ok(X1),ok(X2)) = 1 >= 0 = ok(add(X1,X2))
       
       dbl(ok(X)) = 1 >= 0 = ok(dbl(X))
       
       first(ok(X1),ok(X2)) = 1 >= 0 = ok(first(X1,X2))
       
       top(mark(X)) = 1 >= 1 = top(proper(X))
       
       top(ok(X)) = 1 >= 1 = top(active(X))
      problem:
       DPs:
        active#(sqr(X)) -> active#(X)
        active#(recip(X)) -> active#(X)
        active#(terms(X)) -> active#(X)
       TRS:
        active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
        active(sqr(0())) -> mark(0())
        active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
        active(dbl(0())) -> mark(0())
        active(dbl(s(X))) -> mark(s(s(dbl(X))))
        active(add(0(),X)) -> mark(X)
        active(add(s(X),Y)) -> mark(s(add(X,Y)))
        active(first(0(),X)) -> mark(nil())
        active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
        active(terms(X)) -> terms(active(X))
        active(cons(X1,X2)) -> cons(active(X1),X2)
        active(recip(X)) -> recip(active(X))
        active(sqr(X)) -> sqr(active(X))
        active(s(X)) -> s(active(X))
        active(add(X1,X2)) -> add(active(X1),X2)
        active(add(X1,X2)) -> add(X1,active(X2))
        active(dbl(X)) -> dbl(active(X))
        active(first(X1,X2)) -> first(active(X1),X2)
        active(first(X1,X2)) -> first(X1,active(X2))
        terms(mark(X)) -> mark(terms(X))
        cons(mark(X1),X2) -> mark(cons(X1,X2))
        recip(mark(X)) -> mark(recip(X))
        sqr(mark(X)) -> mark(sqr(X))
        s(mark(X)) -> mark(s(X))
        add(mark(X1),X2) -> mark(add(X1,X2))
        add(X1,mark(X2)) -> mark(add(X1,X2))
        dbl(mark(X)) -> mark(dbl(X))
        first(mark(X1),X2) -> mark(first(X1,X2))
        first(X1,mark(X2)) -> mark(first(X1,X2))
        proper(terms(X)) -> terms(proper(X))
        proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
        proper(recip(X)) -> recip(proper(X))
        proper(sqr(X)) -> sqr(proper(X))
        proper(s(X)) -> s(proper(X))
        proper(0()) -> ok(0())
        proper(add(X1,X2)) -> add(proper(X1),proper(X2))
        proper(dbl(X)) -> dbl(proper(X))
        proper(first(X1,X2)) -> first(proper(X1),proper(X2))
        proper(nil()) -> ok(nil())
        terms(ok(X)) -> ok(terms(X))
        cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
        recip(ok(X)) -> ok(recip(X))
        sqr(ok(X)) -> ok(sqr(X))
        s(ok(X)) -> ok(s(X))
        add(ok(X1),ok(X2)) -> ok(add(X1,X2))
        dbl(ok(X)) -> ok(dbl(X))
        first(ok(X1),ok(X2)) -> ok(first(X1,X2))
        top(mark(X)) -> top(proper(X))
        top(ok(X)) -> top(active(X))
      Matrix Interpretation Processor:
       dimension: 1
       interpretation:
        [active#](x0) = x0 + 1,
        
        [top](x0) = 0,
        
        [ok](x0) = x0,
        
        [proper](x0) = x0,
        
        [nil] = 0,
        
        [first](x0, x1) = 1,
        
        [add](x0, x1) = 1,
        
        [dbl](x0) = 1,
        
        [0] = 0,
        
        [mark](x0) = 1,
        
        [cons](x0, x1) = 1,
        
        [s](x0) = 1,
        
        [recip](x0) = x0 + 1,
        
        [sqr](x0) = x0 + 1,
        
        [active](x0) = x0,
        
        [terms](x0) = x0 + 1
       orientation:
        active#(sqr(X)) = X + 2 >= X + 1 = active#(X)
        
        active#(recip(X)) = X + 2 >= X + 1 = active#(X)
        
        active#(terms(X)) = X + 2 >= X + 1 = active#(X)
        
        active(terms(N)) = N + 1 >= 1 = mark(cons(recip(sqr(N)),terms(s(N))))
        
        active(sqr(0())) = 1 >= 1 = mark(0())
        
        active(sqr(s(X))) = 2 >= 1 = mark(s(add(sqr(X),dbl(X))))
        
        active(dbl(0())) = 1 >= 1 = mark(0())
        
        active(dbl(s(X))) = 1 >= 1 = mark(s(s(dbl(X))))
        
        active(add(0(),X)) = 1 >= 1 = mark(X)
        
        active(add(s(X),Y)) = 1 >= 1 = mark(s(add(X,Y)))
        
        active(first(0(),X)) = 1 >= 1 = mark(nil())
        
        active(first(s(X),cons(Y,Z))) = 1 >= 1 = mark(cons(Y,first(X,Z)))
        
        active(terms(X)) = X + 1 >= X + 1 = terms(active(X))
        
        active(cons(X1,X2)) = 1 >= 1 = cons(active(X1),X2)
        
        active(recip(X)) = X + 1 >= X + 1 = recip(active(X))
        
        active(sqr(X)) = X + 1 >= X + 1 = sqr(active(X))
        
        active(s(X)) = 1 >= 1 = s(active(X))
        
        active(add(X1,X2)) = 1 >= 1 = add(active(X1),X2)
        
        active(add(X1,X2)) = 1 >= 1 = add(X1,active(X2))
        
        active(dbl(X)) = 1 >= 1 = dbl(active(X))
        
        active(first(X1,X2)) = 1 >= 1 = first(active(X1),X2)
        
        active(first(X1,X2)) = 1 >= 1 = first(X1,active(X2))
        
        terms(mark(X)) = 2 >= 1 = mark(terms(X))
        
        cons(mark(X1),X2) = 1 >= 1 = mark(cons(X1,X2))
        
        recip(mark(X)) = 2 >= 1 = mark(recip(X))
        
        sqr(mark(X)) = 2 >= 1 = mark(sqr(X))
        
        s(mark(X)) = 1 >= 1 = mark(s(X))
        
        add(mark(X1),X2) = 1 >= 1 = mark(add(X1,X2))
        
        add(X1,mark(X2)) = 1 >= 1 = mark(add(X1,X2))
        
        dbl(mark(X)) = 1 >= 1 = mark(dbl(X))
        
        first(mark(X1),X2) = 1 >= 1 = mark(first(X1,X2))
        
        first(X1,mark(X2)) = 1 >= 1 = mark(first(X1,X2))
        
        proper(terms(X)) = X + 1 >= X + 1 = terms(proper(X))
        
        proper(cons(X1,X2)) = 1 >= 1 = cons(proper(X1),proper(X2))
        
        proper(recip(X)) = X + 1 >= X + 1 = recip(proper(X))
        
        proper(sqr(X)) = X + 1 >= X + 1 = sqr(proper(X))
        
        proper(s(X)) = 1 >= 1 = s(proper(X))
        
        proper(0()) = 0 >= 0 = ok(0())
        
        proper(add(X1,X2)) = 1 >= 1 = add(proper(X1),proper(X2))
        
        proper(dbl(X)) = 1 >= 1 = dbl(proper(X))
        
        proper(first(X1,X2)) = 1 >= 1 = first(proper(X1),proper(X2))
        
        proper(nil()) = 0 >= 0 = ok(nil())
        
        terms(ok(X)) = X + 1 >= X + 1 = ok(terms(X))
        
        cons(ok(X1),ok(X2)) = 1 >= 1 = ok(cons(X1,X2))
        
        recip(ok(X)) = X + 1 >= X + 1 = ok(recip(X))
        
        sqr(ok(X)) = X + 1 >= X + 1 = ok(sqr(X))
        
        s(ok(X)) = 1 >= 1 = ok(s(X))
        
        add(ok(X1),ok(X2)) = 1 >= 1 = ok(add(X1,X2))
        
        dbl(ok(X)) = 1 >= 1 = ok(dbl(X))
        
        first(ok(X1),ok(X2)) = 1 >= 1 = ok(first(X1,X2))
        
        top(mark(X)) = 0 >= 0 = top(proper(X))
        
        top(ok(X)) = 0 >= 0 = top(active(X))
       problem:
        DPs:
         
        TRS:
         active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
         active(sqr(0())) -> mark(0())
         active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
         active(dbl(0())) -> mark(0())
         active(dbl(s(X))) -> mark(s(s(dbl(X))))
         active(add(0(),X)) -> mark(X)
         active(add(s(X),Y)) -> mark(s(add(X,Y)))
         active(first(0(),X)) -> mark(nil())
         active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
         active(terms(X)) -> terms(active(X))
         active(cons(X1,X2)) -> cons(active(X1),X2)
         active(recip(X)) -> recip(active(X))
         active(sqr(X)) -> sqr(active(X))
         active(s(X)) -> s(active(X))
         active(add(X1,X2)) -> add(active(X1),X2)
         active(add(X1,X2)) -> add(X1,active(X2))
         active(dbl(X)) -> dbl(active(X))
         active(first(X1,X2)) -> first(active(X1),X2)
         active(first(X1,X2)) -> first(X1,active(X2))
         terms(mark(X)) -> mark(terms(X))
         cons(mark(X1),X2) -> mark(cons(X1,X2))
         recip(mark(X)) -> mark(recip(X))
         sqr(mark(X)) -> mark(sqr(X))
         s(mark(X)) -> mark(s(X))
         add(mark(X1),X2) -> mark(add(X1,X2))
         add(X1,mark(X2)) -> mark(add(X1,X2))
         dbl(mark(X)) -> mark(dbl(X))
         first(mark(X1),X2) -> mark(first(X1,X2))
         first(X1,mark(X2)) -> mark(first(X1,X2))
         proper(terms(X)) -> terms(proper(X))
         proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
         proper(recip(X)) -> recip(proper(X))
         proper(sqr(X)) -> sqr(proper(X))
         proper(s(X)) -> s(proper(X))
         proper(0()) -> ok(0())
         proper(add(X1,X2)) -> add(proper(X1),proper(X2))
         proper(dbl(X)) -> dbl(proper(X))
         proper(first(X1,X2)) -> first(proper(X1),proper(X2))
         proper(nil()) -> ok(nil())
         terms(ok(X)) -> ok(terms(X))
         cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
         recip(ok(X)) -> ok(recip(X))
         sqr(ok(X)) -> ok(sqr(X))
         s(ok(X)) -> ok(s(X))
         add(ok(X1),ok(X2)) -> ok(add(X1,X2))
         dbl(ok(X)) -> ok(dbl(X))
         first(ok(X1),ok(X2)) -> ok(first(X1,X2))
         top(mark(X)) -> top(proper(X))
         top(ok(X)) -> top(active(X))
       Qed
     
     DPs:
      terms#(ok(X)) -> terms#(X)
      terms#(mark(X)) -> terms#(X)
     TRS:
      active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
      active(sqr(0())) -> mark(0())
      active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
      active(dbl(0())) -> mark(0())
      active(dbl(s(X))) -> mark(s(s(dbl(X))))
      active(add(0(),X)) -> mark(X)
      active(add(s(X),Y)) -> mark(s(add(X,Y)))
      active(first(0(),X)) -> mark(nil())
      active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
      active(terms(X)) -> terms(active(X))
      active(cons(X1,X2)) -> cons(active(X1),X2)
      active(recip(X)) -> recip(active(X))
      active(sqr(X)) -> sqr(active(X))
      active(s(X)) -> s(active(X))
      active(add(X1,X2)) -> add(active(X1),X2)
      active(add(X1,X2)) -> add(X1,active(X2))
      active(dbl(X)) -> dbl(active(X))
      active(first(X1,X2)) -> first(active(X1),X2)
      active(first(X1,X2)) -> first(X1,active(X2))
      terms(mark(X)) -> mark(terms(X))
      cons(mark(X1),X2) -> mark(cons(X1,X2))
      recip(mark(X)) -> mark(recip(X))
      sqr(mark(X)) -> mark(sqr(X))
      s(mark(X)) -> mark(s(X))
      add(mark(X1),X2) -> mark(add(X1,X2))
      add(X1,mark(X2)) -> mark(add(X1,X2))
      dbl(mark(X)) -> mark(dbl(X))
      first(mark(X1),X2) -> mark(first(X1,X2))
      first(X1,mark(X2)) -> mark(first(X1,X2))
      proper(terms(X)) -> terms(proper(X))
      proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
      proper(recip(X)) -> recip(proper(X))
      proper(sqr(X)) -> sqr(proper(X))
      proper(s(X)) -> s(proper(X))
      proper(0()) -> ok(0())
      proper(add(X1,X2)) -> add(proper(X1),proper(X2))
      proper(dbl(X)) -> dbl(proper(X))
      proper(first(X1,X2)) -> first(proper(X1),proper(X2))
      proper(nil()) -> ok(nil())
      terms(ok(X)) -> ok(terms(X))
      cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
      recip(ok(X)) -> ok(recip(X))
      sqr(ok(X)) -> ok(sqr(X))
      s(ok(X)) -> ok(s(X))
      add(ok(X1),ok(X2)) -> ok(add(X1,X2))
      dbl(ok(X)) -> ok(dbl(X))
      first(ok(X1),ok(X2)) -> ok(first(X1,X2))
      top(mark(X)) -> top(proper(X))
      top(ok(X)) -> top(active(X))
     Matrix Interpretation Processor:
      dimension: 1
      interpretation:
       [terms#](x0) = x0 + 1,
       
       [top](x0) = 0,
       
       [ok](x0) = x0 + 1,
       
       [proper](x0) = x0 + 1,
       
       [nil] = 0,
       
       [first](x0, x1) = x1,
       
       [add](x0, x1) = x1 + 1,
       
       [dbl](x0) = x0,
       
       [0] = 0,
       
       [mark](x0) = x0,
       
       [cons](x0, x1) = x0 + 1,
       
       [s](x0) = x0,
       
       [recip](x0) = x0,
       
       [sqr](x0) = x0,
       
       [active](x0) = x0 + 1,
       
       [terms](x0) = x0
      orientation:
       terms#(ok(X)) = X + 2 >= X + 1 = terms#(X)
       
       terms#(mark(X)) = X + 1 >= X + 1 = terms#(X)
       
       active(terms(N)) = N + 1 >= N + 1 = mark(cons(recip(sqr(N)),terms(s(N))))
       
       active(sqr(0())) = 1 >= 0 = mark(0())
       
       active(sqr(s(X))) = X + 1 >= X + 1 = mark(s(add(sqr(X),dbl(X))))
       
       active(dbl(0())) = 1 >= 0 = mark(0())
       
       active(dbl(s(X))) = X + 1 >= X = mark(s(s(dbl(X))))
       
       active(add(0(),X)) = X + 2 >= X = mark(X)
       
       active(add(s(X),Y)) = Y + 2 >= Y + 1 = mark(s(add(X,Y)))
       
       active(first(0(),X)) = X + 1 >= 0 = mark(nil())
       
       active(first(s(X),cons(Y,Z))) = Y + 2 >= Y + 1 = mark(cons(Y,first(X,Z)))
       
       active(terms(X)) = X + 1 >= X + 1 = terms(active(X))
       
       active(cons(X1,X2)) = X1 + 2 >= X1 + 2 = cons(active(X1),X2)
       
       active(recip(X)) = X + 1 >= X + 1 = recip(active(X))
       
       active(sqr(X)) = X + 1 >= X + 1 = sqr(active(X))
       
       active(s(X)) = X + 1 >= X + 1 = s(active(X))
       
       active(add(X1,X2)) = X2 + 2 >= X2 + 1 = add(active(X1),X2)
       
       active(add(X1,X2)) = X2 + 2 >= X2 + 2 = add(X1,active(X2))
       
       active(dbl(X)) = X + 1 >= X + 1 = dbl(active(X))
       
       active(first(X1,X2)) = X2 + 1 >= X2 = first(active(X1),X2)
       
       active(first(X1,X2)) = X2 + 1 >= X2 + 1 = first(X1,active(X2))
       
       terms(mark(X)) = X >= X = mark(terms(X))
       
       cons(mark(X1),X2) = X1 + 1 >= X1 + 1 = mark(cons(X1,X2))
       
       recip(mark(X)) = X >= X = mark(recip(X))
       
       sqr(mark(X)) = X >= X = mark(sqr(X))
       
       s(mark(X)) = X >= X = mark(s(X))
       
       add(mark(X1),X2) = X2 + 1 >= X2 + 1 = mark(add(X1,X2))
       
       add(X1,mark(X2)) = X2 + 1 >= X2 + 1 = mark(add(X1,X2))
       
       dbl(mark(X)) = X >= X = mark(dbl(X))
       
       first(mark(X1),X2) = X2 >= X2 = mark(first(X1,X2))
       
       first(X1,mark(X2)) = X2 >= X2 = mark(first(X1,X2))
       
       proper(terms(X)) = X + 1 >= X + 1 = terms(proper(X))
       
       proper(cons(X1,X2)) = X1 + 2 >= X1 + 2 = cons(proper(X1),proper(X2))
       
       proper(recip(X)) = X + 1 >= X + 1 = recip(proper(X))
       
       proper(sqr(X)) = X + 1 >= X + 1 = sqr(proper(X))
       
       proper(s(X)) = X + 1 >= X + 1 = s(proper(X))
       
       proper(0()) = 1 >= 1 = ok(0())
       
       proper(add(X1,X2)) = X2 + 2 >= X2 + 2 = add(proper(X1),proper(X2))
       
       proper(dbl(X)) = X + 1 >= X + 1 = dbl(proper(X))
       
       proper(first(X1,X2)) = X2 + 1 >= X2 + 1 = first(proper(X1),proper(X2))
       
       proper(nil()) = 1 >= 1 = ok(nil())
       
       terms(ok(X)) = X + 1 >= X + 1 = ok(terms(X))
       
       cons(ok(X1),ok(X2)) = X1 + 2 >= X1 + 2 = ok(cons(X1,X2))
       
       recip(ok(X)) = X + 1 >= X + 1 = ok(recip(X))
       
       sqr(ok(X)) = X + 1 >= X + 1 = ok(sqr(X))
       
       s(ok(X)) = X + 1 >= X + 1 = ok(s(X))
       
       add(ok(X1),ok(X2)) = X2 + 2 >= X2 + 2 = ok(add(X1,X2))
       
       dbl(ok(X)) = X + 1 >= X + 1 = ok(dbl(X))
       
       first(ok(X1),ok(X2)) = X2 + 1 >= X2 + 1 = ok(first(X1,X2))
       
       top(mark(X)) = 0 >= 0 = top(proper(X))
       
       top(ok(X)) = 0 >= 0 = top(active(X))
      problem:
       DPs:
        terms#(mark(X)) -> terms#(X)
       TRS:
        active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
        active(sqr(0())) -> mark(0())
        active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
        active(dbl(0())) -> mark(0())
        active(dbl(s(X))) -> mark(s(s(dbl(X))))
        active(add(0(),X)) -> mark(X)
        active(add(s(X),Y)) -> mark(s(add(X,Y)))
        active(first(0(),X)) -> mark(nil())
        active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
        active(terms(X)) -> terms(active(X))
        active(cons(X1,X2)) -> cons(active(X1),X2)
        active(recip(X)) -> recip(active(X))
        active(sqr(X)) -> sqr(active(X))
        active(s(X)) -> s(active(X))
        active(add(X1,X2)) -> add(active(X1),X2)
        active(add(X1,X2)) -> add(X1,active(X2))
        active(dbl(X)) -> dbl(active(X))
        active(first(X1,X2)) -> first(active(X1),X2)
        active(first(X1,X2)) -> first(X1,active(X2))
        terms(mark(X)) -> mark(terms(X))
        cons(mark(X1),X2) -> mark(cons(X1,X2))
        recip(mark(X)) -> mark(recip(X))
        sqr(mark(X)) -> mark(sqr(X))
        s(mark(X)) -> mark(s(X))
        add(mark(X1),X2) -> mark(add(X1,X2))
        add(X1,mark(X2)) -> mark(add(X1,X2))
        dbl(mark(X)) -> mark(dbl(X))
        first(mark(X1),X2) -> mark(first(X1,X2))
        first(X1,mark(X2)) -> mark(first(X1,X2))
        proper(terms(X)) -> terms(proper(X))
        proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
        proper(recip(X)) -> recip(proper(X))
        proper(sqr(X)) -> sqr(proper(X))
        proper(s(X)) -> s(proper(X))
        proper(0()) -> ok(0())
        proper(add(X1,X2)) -> add(proper(X1),proper(X2))
        proper(dbl(X)) -> dbl(proper(X))
        proper(first(X1,X2)) -> first(proper(X1),proper(X2))
        proper(nil()) -> ok(nil())
        terms(ok(X)) -> ok(terms(X))
        cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
        recip(ok(X)) -> ok(recip(X))
        sqr(ok(X)) -> ok(sqr(X))
        s(ok(X)) -> ok(s(X))
        add(ok(X1),ok(X2)) -> ok(add(X1,X2))
        dbl(ok(X)) -> ok(dbl(X))
        first(ok(X1),ok(X2)) -> ok(first(X1,X2))
        top(mark(X)) -> top(proper(X))
        top(ok(X)) -> top(active(X))
      Open
     
     DPs:
      cons#(ok(X1),ok(X2)) -> cons#(X1,X2)
      cons#(mark(X1),X2) -> cons#(X1,X2)
     TRS:
      active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
      active(sqr(0())) -> mark(0())
      active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
      active(dbl(0())) -> mark(0())
      active(dbl(s(X))) -> mark(s(s(dbl(X))))
      active(add(0(),X)) -> mark(X)
      active(add(s(X),Y)) -> mark(s(add(X,Y)))
      active(first(0(),X)) -> mark(nil())
      active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
      active(terms(X)) -> terms(active(X))
      active(cons(X1,X2)) -> cons(active(X1),X2)
      active(recip(X)) -> recip(active(X))
      active(sqr(X)) -> sqr(active(X))
      active(s(X)) -> s(active(X))
      active(add(X1,X2)) -> add(active(X1),X2)
      active(add(X1,X2)) -> add(X1,active(X2))
      active(dbl(X)) -> dbl(active(X))
      active(first(X1,X2)) -> first(active(X1),X2)
      active(first(X1,X2)) -> first(X1,active(X2))
      terms(mark(X)) -> mark(terms(X))
      cons(mark(X1),X2) -> mark(cons(X1,X2))
      recip(mark(X)) -> mark(recip(X))
      sqr(mark(X)) -> mark(sqr(X))
      s(mark(X)) -> mark(s(X))
      add(mark(X1),X2) -> mark(add(X1,X2))
      add(X1,mark(X2)) -> mark(add(X1,X2))
      dbl(mark(X)) -> mark(dbl(X))
      first(mark(X1),X2) -> mark(first(X1,X2))
      first(X1,mark(X2)) -> mark(first(X1,X2))
      proper(terms(X)) -> terms(proper(X))
      proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
      proper(recip(X)) -> recip(proper(X))
      proper(sqr(X)) -> sqr(proper(X))
      proper(s(X)) -> s(proper(X))
      proper(0()) -> ok(0())
      proper(add(X1,X2)) -> add(proper(X1),proper(X2))
      proper(dbl(X)) -> dbl(proper(X))
      proper(first(X1,X2)) -> first(proper(X1),proper(X2))
      proper(nil()) -> ok(nil())
      terms(ok(X)) -> ok(terms(X))
      cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
      recip(ok(X)) -> ok(recip(X))
      sqr(ok(X)) -> ok(sqr(X))
      s(ok(X)) -> ok(s(X))
      add(ok(X1),ok(X2)) -> ok(add(X1,X2))
      dbl(ok(X)) -> ok(dbl(X))
      first(ok(X1),ok(X2)) -> ok(first(X1,X2))
      top(mark(X)) -> top(proper(X))
      top(ok(X)) -> top(active(X))
     Matrix Interpretation Processor:
      dimension: 1
      interpretation:
       [cons#](x0, x1) = x1 + 1,
       
       [top](x0) = 0,
       
       [ok](x0) = x0 + 1,
       
       [proper](x0) = 1,
       
       [nil] = 0,
       
       [first](x0, x1) = x0,
       
       [add](x0, x1) = x1,
       
       [dbl](x0) = x0,
       
       [0] = 0,
       
       [mark](x0) = 0,
       
       [cons](x0, x1) = x0,
       
       [s](x0) = x0,
       
       [recip](x0) = x0,
       
       [sqr](x0) = x0,
       
       [active](x0) = x0,
       
       [terms](x0) = x0
      orientation:
       cons#(ok(X1),ok(X2)) = X2 + 2 >= X2 + 1 = cons#(X1,X2)
       
       cons#(mark(X1),X2) = X2 + 1 >= X2 + 1 = cons#(X1,X2)
       
       active(terms(N)) = N >= 0 = mark(cons(recip(sqr(N)),terms(s(N))))
       
       active(sqr(0())) = 0 >= 0 = mark(0())
       
       active(sqr(s(X))) = X >= 0 = mark(s(add(sqr(X),dbl(X))))
       
       active(dbl(0())) = 0 >= 0 = mark(0())
       
       active(dbl(s(X))) = X >= 0 = mark(s(s(dbl(X))))
       
       active(add(0(),X)) = X >= 0 = mark(X)
       
       active(add(s(X),Y)) = Y >= 0 = mark(s(add(X,Y)))
       
       active(first(0(),X)) = 0 >= 0 = mark(nil())
       
       active(first(s(X),cons(Y,Z))) = X >= 0 = mark(cons(Y,first(X,Z)))
       
       active(terms(X)) = X >= X = terms(active(X))
       
       active(cons(X1,X2)) = X1 >= X1 = cons(active(X1),X2)
       
       active(recip(X)) = X >= X = recip(active(X))
       
       active(sqr(X)) = X >= X = sqr(active(X))
       
       active(s(X)) = X >= X = s(active(X))
       
       active(add(X1,X2)) = X2 >= X2 = add(active(X1),X2)
       
       active(add(X1,X2)) = X2 >= X2 = add(X1,active(X2))
       
       active(dbl(X)) = X >= X = dbl(active(X))
       
       active(first(X1,X2)) = X1 >= X1 = first(active(X1),X2)
       
       active(first(X1,X2)) = X1 >= X1 = first(X1,active(X2))
       
       terms(mark(X)) = 0 >= 0 = mark(terms(X))
       
       cons(mark(X1),X2) = 0 >= 0 = mark(cons(X1,X2))
       
       recip(mark(X)) = 0 >= 0 = mark(recip(X))
       
       sqr(mark(X)) = 0 >= 0 = mark(sqr(X))
       
       s(mark(X)) = 0 >= 0 = mark(s(X))
       
       add(mark(X1),X2) = X2 >= 0 = mark(add(X1,X2))
       
       add(X1,mark(X2)) = 0 >= 0 = mark(add(X1,X2))
       
       dbl(mark(X)) = 0 >= 0 = mark(dbl(X))
       
       first(mark(X1),X2) = 0 >= 0 = mark(first(X1,X2))
       
       first(X1,mark(X2)) = X1 >= 0 = mark(first(X1,X2))
       
       proper(terms(X)) = 1 >= 1 = terms(proper(X))
       
       proper(cons(X1,X2)) = 1 >= 1 = cons(proper(X1),proper(X2))
       
       proper(recip(X)) = 1 >= 1 = recip(proper(X))
       
       proper(sqr(X)) = 1 >= 1 = sqr(proper(X))
       
       proper(s(X)) = 1 >= 1 = s(proper(X))
       
       proper(0()) = 1 >= 1 = ok(0())
       
       proper(add(X1,X2)) = 1 >= 1 = add(proper(X1),proper(X2))
       
       proper(dbl(X)) = 1 >= 1 = dbl(proper(X))
       
       proper(first(X1,X2)) = 1 >= 1 = first(proper(X1),proper(X2))
       
       proper(nil()) = 1 >= 1 = ok(nil())
       
       terms(ok(X)) = X + 1 >= X + 1 = ok(terms(X))
       
       cons(ok(X1),ok(X2)) = X1 + 1 >= X1 + 1 = ok(cons(X1,X2))
       
       recip(ok(X)) = X + 1 >= X + 1 = ok(recip(X))
       
       sqr(ok(X)) = X + 1 >= X + 1 = ok(sqr(X))
       
       s(ok(X)) = X + 1 >= X + 1 = ok(s(X))
       
       add(ok(X1),ok(X2)) = X2 + 1 >= X2 + 1 = ok(add(X1,X2))
       
       dbl(ok(X)) = X + 1 >= X + 1 = ok(dbl(X))
       
       first(ok(X1),ok(X2)) = X1 + 1 >= X1 + 1 = ok(first(X1,X2))
       
       top(mark(X)) = 0 >= 0 = top(proper(X))
       
       top(ok(X)) = 0 >= 0 = top(active(X))
      problem:
       DPs:
        cons#(mark(X1),X2) -> cons#(X1,X2)
       TRS:
        active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
        active(sqr(0())) -> mark(0())
        active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
        active(dbl(0())) -> mark(0())
        active(dbl(s(X))) -> mark(s(s(dbl(X))))
        active(add(0(),X)) -> mark(X)
        active(add(s(X),Y)) -> mark(s(add(X,Y)))
        active(first(0(),X)) -> mark(nil())
        active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
        active(terms(X)) -> terms(active(X))
        active(cons(X1,X2)) -> cons(active(X1),X2)
        active(recip(X)) -> recip(active(X))
        active(sqr(X)) -> sqr(active(X))
        active(s(X)) -> s(active(X))
        active(add(X1,X2)) -> add(active(X1),X2)
        active(add(X1,X2)) -> add(X1,active(X2))
        active(dbl(X)) -> dbl(active(X))
        active(first(X1,X2)) -> first(active(X1),X2)
        active(first(X1,X2)) -> first(X1,active(X2))
        terms(mark(X)) -> mark(terms(X))
        cons(mark(X1),X2) -> mark(cons(X1,X2))
        recip(mark(X)) -> mark(recip(X))
        sqr(mark(X)) -> mark(sqr(X))
        s(mark(X)) -> mark(s(X))
        add(mark(X1),X2) -> mark(add(X1,X2))
        add(X1,mark(X2)) -> mark(add(X1,X2))
        dbl(mark(X)) -> mark(dbl(X))
        first(mark(X1),X2) -> mark(first(X1,X2))
        first(X1,mark(X2)) -> mark(first(X1,X2))
        proper(terms(X)) -> terms(proper(X))
        proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
        proper(recip(X)) -> recip(proper(X))
        proper(sqr(X)) -> sqr(proper(X))
        proper(s(X)) -> s(proper(X))
        proper(0()) -> ok(0())
        proper(add(X1,X2)) -> add(proper(X1),proper(X2))
        proper(dbl(X)) -> dbl(proper(X))
        proper(first(X1,X2)) -> first(proper(X1),proper(X2))
        proper(nil()) -> ok(nil())
        terms(ok(X)) -> ok(terms(X))
        cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
        recip(ok(X)) -> ok(recip(X))
        sqr(ok(X)) -> ok(sqr(X))
        s(ok(X)) -> ok(s(X))
        add(ok(X1),ok(X2)) -> ok(add(X1,X2))
        dbl(ok(X)) -> ok(dbl(X))
        first(ok(X1),ok(X2)) -> ok(first(X1,X2))
        top(mark(X)) -> top(proper(X))
        top(ok(X)) -> top(active(X))
      Open
     
     DPs:
      recip#(ok(X)) -> recip#(X)
      recip#(mark(X)) -> recip#(X)
     TRS:
      active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
      active(sqr(0())) -> mark(0())
      active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
      active(dbl(0())) -> mark(0())
      active(dbl(s(X))) -> mark(s(s(dbl(X))))
      active(add(0(),X)) -> mark(X)
      active(add(s(X),Y)) -> mark(s(add(X,Y)))
      active(first(0(),X)) -> mark(nil())
      active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
      active(terms(X)) -> terms(active(X))
      active(cons(X1,X2)) -> cons(active(X1),X2)
      active(recip(X)) -> recip(active(X))
      active(sqr(X)) -> sqr(active(X))
      active(s(X)) -> s(active(X))
      active(add(X1,X2)) -> add(active(X1),X2)
      active(add(X1,X2)) -> add(X1,active(X2))
      active(dbl(X)) -> dbl(active(X))
      active(first(X1,X2)) -> first(active(X1),X2)
      active(first(X1,X2)) -> first(X1,active(X2))
      terms(mark(X)) -> mark(terms(X))
      cons(mark(X1),X2) -> mark(cons(X1,X2))
      recip(mark(X)) -> mark(recip(X))
      sqr(mark(X)) -> mark(sqr(X))
      s(mark(X)) -> mark(s(X))
      add(mark(X1),X2) -> mark(add(X1,X2))
      add(X1,mark(X2)) -> mark(add(X1,X2))
      dbl(mark(X)) -> mark(dbl(X))
      first(mark(X1),X2) -> mark(first(X1,X2))
      first(X1,mark(X2)) -> mark(first(X1,X2))
      proper(terms(X)) -> terms(proper(X))
      proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
      proper(recip(X)) -> recip(proper(X))
      proper(sqr(X)) -> sqr(proper(X))
      proper(s(X)) -> s(proper(X))
      proper(0()) -> ok(0())
      proper(add(X1,X2)) -> add(proper(X1),proper(X2))
      proper(dbl(X)) -> dbl(proper(X))
      proper(first(X1,X2)) -> first(proper(X1),proper(X2))
      proper(nil()) -> ok(nil())
      terms(ok(X)) -> ok(terms(X))
      cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
      recip(ok(X)) -> ok(recip(X))
      sqr(ok(X)) -> ok(sqr(X))
      s(ok(X)) -> ok(s(X))
      add(ok(X1),ok(X2)) -> ok(add(X1,X2))
      dbl(ok(X)) -> ok(dbl(X))
      first(ok(X1),ok(X2)) -> ok(first(X1,X2))
      top(mark(X)) -> top(proper(X))
      top(ok(X)) -> top(active(X))
     Matrix Interpretation Processor:
      dimension: 1
      interpretation:
       [recip#](x0) = x0 + 1,
       
       [top](x0) = 0,
       
       [ok](x0) = x0 + 1,
       
       [proper](x0) = x0 + 1,
       
       [nil] = 0,
       
       [first](x0, x1) = x1,
       
       [add](x0, x1) = x1 + 1,
       
       [dbl](x0) = x0,
       
       [0] = 0,
       
       [mark](x0) = x0,
       
       [cons](x0, x1) = x0 + 1,
       
       [s](x0) = x0,
       
       [recip](x0) = x0,
       
       [sqr](x0) = x0,
       
       [active](x0) = x0 + 1,
       
       [terms](x0) = x0
      orientation:
       recip#(ok(X)) = X + 2 >= X + 1 = recip#(X)
       
       recip#(mark(X)) = X + 1 >= X + 1 = recip#(X)
       
       active(terms(N)) = N + 1 >= N + 1 = mark(cons(recip(sqr(N)),terms(s(N))))
       
       active(sqr(0())) = 1 >= 0 = mark(0())
       
       active(sqr(s(X))) = X + 1 >= X + 1 = mark(s(add(sqr(X),dbl(X))))
       
       active(dbl(0())) = 1 >= 0 = mark(0())
       
       active(dbl(s(X))) = X + 1 >= X = mark(s(s(dbl(X))))
       
       active(add(0(),X)) = X + 2 >= X = mark(X)
       
       active(add(s(X),Y)) = Y + 2 >= Y + 1 = mark(s(add(X,Y)))
       
       active(first(0(),X)) = X + 1 >= 0 = mark(nil())
       
       active(first(s(X),cons(Y,Z))) = Y + 2 >= Y + 1 = mark(cons(Y,first(X,Z)))
       
       active(terms(X)) = X + 1 >= X + 1 = terms(active(X))
       
       active(cons(X1,X2)) = X1 + 2 >= X1 + 2 = cons(active(X1),X2)
       
       active(recip(X)) = X + 1 >= X + 1 = recip(active(X))
       
       active(sqr(X)) = X + 1 >= X + 1 = sqr(active(X))
       
       active(s(X)) = X + 1 >= X + 1 = s(active(X))
       
       active(add(X1,X2)) = X2 + 2 >= X2 + 1 = add(active(X1),X2)
       
       active(add(X1,X2)) = X2 + 2 >= X2 + 2 = add(X1,active(X2))
       
       active(dbl(X)) = X + 1 >= X + 1 = dbl(active(X))
       
       active(first(X1,X2)) = X2 + 1 >= X2 = first(active(X1),X2)
       
       active(first(X1,X2)) = X2 + 1 >= X2 + 1 = first(X1,active(X2))
       
       terms(mark(X)) = X >= X = mark(terms(X))
       
       cons(mark(X1),X2) = X1 + 1 >= X1 + 1 = mark(cons(X1,X2))
       
       recip(mark(X)) = X >= X = mark(recip(X))
       
       sqr(mark(X)) = X >= X = mark(sqr(X))
       
       s(mark(X)) = X >= X = mark(s(X))
       
       add(mark(X1),X2) = X2 + 1 >= X2 + 1 = mark(add(X1,X2))
       
       add(X1,mark(X2)) = X2 + 1 >= X2 + 1 = mark(add(X1,X2))
       
       dbl(mark(X)) = X >= X = mark(dbl(X))
       
       first(mark(X1),X2) = X2 >= X2 = mark(first(X1,X2))
       
       first(X1,mark(X2)) = X2 >= X2 = mark(first(X1,X2))
       
       proper(terms(X)) = X + 1 >= X + 1 = terms(proper(X))
       
       proper(cons(X1,X2)) = X1 + 2 >= X1 + 2 = cons(proper(X1),proper(X2))
       
       proper(recip(X)) = X + 1 >= X + 1 = recip(proper(X))
       
       proper(sqr(X)) = X + 1 >= X + 1 = sqr(proper(X))
       
       proper(s(X)) = X + 1 >= X + 1 = s(proper(X))
       
       proper(0()) = 1 >= 1 = ok(0())
       
       proper(add(X1,X2)) = X2 + 2 >= X2 + 2 = add(proper(X1),proper(X2))
       
       proper(dbl(X)) = X + 1 >= X + 1 = dbl(proper(X))
       
       proper(first(X1,X2)) = X2 + 1 >= X2 + 1 = first(proper(X1),proper(X2))
       
       proper(nil()) = 1 >= 1 = ok(nil())
       
       terms(ok(X)) = X + 1 >= X + 1 = ok(terms(X))
       
       cons(ok(X1),ok(X2)) = X1 + 2 >= X1 + 2 = ok(cons(X1,X2))
       
       recip(ok(X)) = X + 1 >= X + 1 = ok(recip(X))
       
       sqr(ok(X)) = X + 1 >= X + 1 = ok(sqr(X))
       
       s(ok(X)) = X + 1 >= X + 1 = ok(s(X))
       
       add(ok(X1),ok(X2)) = X2 + 2 >= X2 + 2 = ok(add(X1,X2))
       
       dbl(ok(X)) = X + 1 >= X + 1 = ok(dbl(X))
       
       first(ok(X1),ok(X2)) = X2 + 1 >= X2 + 1 = ok(first(X1,X2))
       
       top(mark(X)) = 0 >= 0 = top(proper(X))
       
       top(ok(X)) = 0 >= 0 = top(active(X))
      problem:
       DPs:
        recip#(mark(X)) -> recip#(X)
       TRS:
        active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
        active(sqr(0())) -> mark(0())
        active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
        active(dbl(0())) -> mark(0())
        active(dbl(s(X))) -> mark(s(s(dbl(X))))
        active(add(0(),X)) -> mark(X)
        active(add(s(X),Y)) -> mark(s(add(X,Y)))
        active(first(0(),X)) -> mark(nil())
        active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
        active(terms(X)) -> terms(active(X))
        active(cons(X1,X2)) -> cons(active(X1),X2)
        active(recip(X)) -> recip(active(X))
        active(sqr(X)) -> sqr(active(X))
        active(s(X)) -> s(active(X))
        active(add(X1,X2)) -> add(active(X1),X2)
        active(add(X1,X2)) -> add(X1,active(X2))
        active(dbl(X)) -> dbl(active(X))
        active(first(X1,X2)) -> first(active(X1),X2)
        active(first(X1,X2)) -> first(X1,active(X2))
        terms(mark(X)) -> mark(terms(X))
        cons(mark(X1),X2) -> mark(cons(X1,X2))
        recip(mark(X)) -> mark(recip(X))
        sqr(mark(X)) -> mark(sqr(X))
        s(mark(X)) -> mark(s(X))
        add(mark(X1),X2) -> mark(add(X1,X2))
        add(X1,mark(X2)) -> mark(add(X1,X2))
        dbl(mark(X)) -> mark(dbl(X))
        first(mark(X1),X2) -> mark(first(X1,X2))
        first(X1,mark(X2)) -> mark(first(X1,X2))
        proper(terms(X)) -> terms(proper(X))
        proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
        proper(recip(X)) -> recip(proper(X))
        proper(sqr(X)) -> sqr(proper(X))
        proper(s(X)) -> s(proper(X))
        proper(0()) -> ok(0())
        proper(add(X1,X2)) -> add(proper(X1),proper(X2))
        proper(dbl(X)) -> dbl(proper(X))
        proper(first(X1,X2)) -> first(proper(X1),proper(X2))
        proper(nil()) -> ok(nil())
        terms(ok(X)) -> ok(terms(X))
        cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
        recip(ok(X)) -> ok(recip(X))
        sqr(ok(X)) -> ok(sqr(X))
        s(ok(X)) -> ok(s(X))
        add(ok(X1),ok(X2)) -> ok(add(X1,X2))
        dbl(ok(X)) -> ok(dbl(X))
        first(ok(X1),ok(X2)) -> ok(first(X1,X2))
        top(mark(X)) -> top(proper(X))
        top(ok(X)) -> top(active(X))
      Open
     
     DPs:
      sqr#(ok(X)) -> sqr#(X)
      sqr#(mark(X)) -> sqr#(X)
     TRS:
      active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
      active(sqr(0())) -> mark(0())
      active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
      active(dbl(0())) -> mark(0())
      active(dbl(s(X))) -> mark(s(s(dbl(X))))
      active(add(0(),X)) -> mark(X)
      active(add(s(X),Y)) -> mark(s(add(X,Y)))
      active(first(0(),X)) -> mark(nil())
      active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
      active(terms(X)) -> terms(active(X))
      active(cons(X1,X2)) -> cons(active(X1),X2)
      active(recip(X)) -> recip(active(X))
      active(sqr(X)) -> sqr(active(X))
      active(s(X)) -> s(active(X))
      active(add(X1,X2)) -> add(active(X1),X2)
      active(add(X1,X2)) -> add(X1,active(X2))
      active(dbl(X)) -> dbl(active(X))
      active(first(X1,X2)) -> first(active(X1),X2)
      active(first(X1,X2)) -> first(X1,active(X2))
      terms(mark(X)) -> mark(terms(X))
      cons(mark(X1),X2) -> mark(cons(X1,X2))
      recip(mark(X)) -> mark(recip(X))
      sqr(mark(X)) -> mark(sqr(X))
      s(mark(X)) -> mark(s(X))
      add(mark(X1),X2) -> mark(add(X1,X2))
      add(X1,mark(X2)) -> mark(add(X1,X2))
      dbl(mark(X)) -> mark(dbl(X))
      first(mark(X1),X2) -> mark(first(X1,X2))
      first(X1,mark(X2)) -> mark(first(X1,X2))
      proper(terms(X)) -> terms(proper(X))
      proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
      proper(recip(X)) -> recip(proper(X))
      proper(sqr(X)) -> sqr(proper(X))
      proper(s(X)) -> s(proper(X))
      proper(0()) -> ok(0())
      proper(add(X1,X2)) -> add(proper(X1),proper(X2))
      proper(dbl(X)) -> dbl(proper(X))
      proper(first(X1,X2)) -> first(proper(X1),proper(X2))
      proper(nil()) -> ok(nil())
      terms(ok(X)) -> ok(terms(X))
      cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
      recip(ok(X)) -> ok(recip(X))
      sqr(ok(X)) -> ok(sqr(X))
      s(ok(X)) -> ok(s(X))
      add(ok(X1),ok(X2)) -> ok(add(X1,X2))
      dbl(ok(X)) -> ok(dbl(X))
      first(ok(X1),ok(X2)) -> ok(first(X1,X2))
      top(mark(X)) -> top(proper(X))
      top(ok(X)) -> top(active(X))
     Matrix Interpretation Processor:
      dimension: 1
      interpretation:
       [sqr#](x0) = x0 + 1,
       
       [top](x0) = 0,
       
       [ok](x0) = x0 + 1,
       
       [proper](x0) = x0 + 1,
       
       [nil] = 0,
       
       [first](x0, x1) = x1,
       
       [add](x0, x1) = x1 + 1,
       
       [dbl](x0) = x0,
       
       [0] = 0,
       
       [mark](x0) = x0,
       
       [cons](x0, x1) = x0 + 1,
       
       [s](x0) = x0,
       
       [recip](x0) = x0,
       
       [sqr](x0) = x0,
       
       [active](x0) = x0 + 1,
       
       [terms](x0) = x0
      orientation:
       sqr#(ok(X)) = X + 2 >= X + 1 = sqr#(X)
       
       sqr#(mark(X)) = X + 1 >= X + 1 = sqr#(X)
       
       active(terms(N)) = N + 1 >= N + 1 = mark(cons(recip(sqr(N)),terms(s(N))))
       
       active(sqr(0())) = 1 >= 0 = mark(0())
       
       active(sqr(s(X))) = X + 1 >= X + 1 = mark(s(add(sqr(X),dbl(X))))
       
       active(dbl(0())) = 1 >= 0 = mark(0())
       
       active(dbl(s(X))) = X + 1 >= X = mark(s(s(dbl(X))))
       
       active(add(0(),X)) = X + 2 >= X = mark(X)
       
       active(add(s(X),Y)) = Y + 2 >= Y + 1 = mark(s(add(X,Y)))
       
       active(first(0(),X)) = X + 1 >= 0 = mark(nil())
       
       active(first(s(X),cons(Y,Z))) = Y + 2 >= Y + 1 = mark(cons(Y,first(X,Z)))
       
       active(terms(X)) = X + 1 >= X + 1 = terms(active(X))
       
       active(cons(X1,X2)) = X1 + 2 >= X1 + 2 = cons(active(X1),X2)
       
       active(recip(X)) = X + 1 >= X + 1 = recip(active(X))
       
       active(sqr(X)) = X + 1 >= X + 1 = sqr(active(X))
       
       active(s(X)) = X + 1 >= X + 1 = s(active(X))
       
       active(add(X1,X2)) = X2 + 2 >= X2 + 1 = add(active(X1),X2)
       
       active(add(X1,X2)) = X2 + 2 >= X2 + 2 = add(X1,active(X2))
       
       active(dbl(X)) = X + 1 >= X + 1 = dbl(active(X))
       
       active(first(X1,X2)) = X2 + 1 >= X2 = first(active(X1),X2)
       
       active(first(X1,X2)) = X2 + 1 >= X2 + 1 = first(X1,active(X2))
       
       terms(mark(X)) = X >= X = mark(terms(X))
       
       cons(mark(X1),X2) = X1 + 1 >= X1 + 1 = mark(cons(X1,X2))
       
       recip(mark(X)) = X >= X = mark(recip(X))
       
       sqr(mark(X)) = X >= X = mark(sqr(X))
       
       s(mark(X)) = X >= X = mark(s(X))
       
       add(mark(X1),X2) = X2 + 1 >= X2 + 1 = mark(add(X1,X2))
       
       add(X1,mark(X2)) = X2 + 1 >= X2 + 1 = mark(add(X1,X2))
       
       dbl(mark(X)) = X >= X = mark(dbl(X))
       
       first(mark(X1),X2) = X2 >= X2 = mark(first(X1,X2))
       
       first(X1,mark(X2)) = X2 >= X2 = mark(first(X1,X2))
       
       proper(terms(X)) = X + 1 >= X + 1 = terms(proper(X))
       
       proper(cons(X1,X2)) = X1 + 2 >= X1 + 2 = cons(proper(X1),proper(X2))
       
       proper(recip(X)) = X + 1 >= X + 1 = recip(proper(X))
       
       proper(sqr(X)) = X + 1 >= X + 1 = sqr(proper(X))
       
       proper(s(X)) = X + 1 >= X + 1 = s(proper(X))
       
       proper(0()) = 1 >= 1 = ok(0())
       
       proper(add(X1,X2)) = X2 + 2 >= X2 + 2 = add(proper(X1),proper(X2))
       
       proper(dbl(X)) = X + 1 >= X + 1 = dbl(proper(X))
       
       proper(first(X1,X2)) = X2 + 1 >= X2 + 1 = first(proper(X1),proper(X2))
       
       proper(nil()) = 1 >= 1 = ok(nil())
       
       terms(ok(X)) = X + 1 >= X + 1 = ok(terms(X))
       
       cons(ok(X1),ok(X2)) = X1 + 2 >= X1 + 2 = ok(cons(X1,X2))
       
       recip(ok(X)) = X + 1 >= X + 1 = ok(recip(X))
       
       sqr(ok(X)) = X + 1 >= X + 1 = ok(sqr(X))
       
       s(ok(X)) = X + 1 >= X + 1 = ok(s(X))
       
       add(ok(X1),ok(X2)) = X2 + 2 >= X2 + 2 = ok(add(X1,X2))
       
       dbl(ok(X)) = X + 1 >= X + 1 = ok(dbl(X))
       
       first(ok(X1),ok(X2)) = X2 + 1 >= X2 + 1 = ok(first(X1,X2))
       
       top(mark(X)) = 0 >= 0 = top(proper(X))
       
       top(ok(X)) = 0 >= 0 = top(active(X))
      problem:
       DPs:
        sqr#(mark(X)) -> sqr#(X)
       TRS:
        active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
        active(sqr(0())) -> mark(0())
        active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
        active(dbl(0())) -> mark(0())
        active(dbl(s(X))) -> mark(s(s(dbl(X))))
        active(add(0(),X)) -> mark(X)
        active(add(s(X),Y)) -> mark(s(add(X,Y)))
        active(first(0(),X)) -> mark(nil())
        active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
        active(terms(X)) -> terms(active(X))
        active(cons(X1,X2)) -> cons(active(X1),X2)
        active(recip(X)) -> recip(active(X))
        active(sqr(X)) -> sqr(active(X))
        active(s(X)) -> s(active(X))
        active(add(X1,X2)) -> add(active(X1),X2)
        active(add(X1,X2)) -> add(X1,active(X2))
        active(dbl(X)) -> dbl(active(X))
        active(first(X1,X2)) -> first(active(X1),X2)
        active(first(X1,X2)) -> first(X1,active(X2))
        terms(mark(X)) -> mark(terms(X))
        cons(mark(X1),X2) -> mark(cons(X1,X2))
        recip(mark(X)) -> mark(recip(X))
        sqr(mark(X)) -> mark(sqr(X))
        s(mark(X)) -> mark(s(X))
        add(mark(X1),X2) -> mark(add(X1,X2))
        add(X1,mark(X2)) -> mark(add(X1,X2))
        dbl(mark(X)) -> mark(dbl(X))
        first(mark(X1),X2) -> mark(first(X1,X2))
        first(X1,mark(X2)) -> mark(first(X1,X2))
        proper(terms(X)) -> terms(proper(X))
        proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
        proper(recip(X)) -> recip(proper(X))
        proper(sqr(X)) -> sqr(proper(X))
        proper(s(X)) -> s(proper(X))
        proper(0()) -> ok(0())
        proper(add(X1,X2)) -> add(proper(X1),proper(X2))
        proper(dbl(X)) -> dbl(proper(X))
        proper(first(X1,X2)) -> first(proper(X1),proper(X2))
        proper(nil()) -> ok(nil())
        terms(ok(X)) -> ok(terms(X))
        cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
        recip(ok(X)) -> ok(recip(X))
        sqr(ok(X)) -> ok(sqr(X))
        s(ok(X)) -> ok(s(X))
        add(ok(X1),ok(X2)) -> ok(add(X1,X2))
        dbl(ok(X)) -> ok(dbl(X))
        first(ok(X1),ok(X2)) -> ok(first(X1,X2))
        top(mark(X)) -> top(proper(X))
        top(ok(X)) -> top(active(X))
      Open
     
     DPs:
      s#(ok(X)) -> s#(X)
      s#(mark(X)) -> s#(X)
     TRS:
      active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
      active(sqr(0())) -> mark(0())
      active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
      active(dbl(0())) -> mark(0())
      active(dbl(s(X))) -> mark(s(s(dbl(X))))
      active(add(0(),X)) -> mark(X)
      active(add(s(X),Y)) -> mark(s(add(X,Y)))
      active(first(0(),X)) -> mark(nil())
      active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
      active(terms(X)) -> terms(active(X))
      active(cons(X1,X2)) -> cons(active(X1),X2)
      active(recip(X)) -> recip(active(X))
      active(sqr(X)) -> sqr(active(X))
      active(s(X)) -> s(active(X))
      active(add(X1,X2)) -> add(active(X1),X2)
      active(add(X1,X2)) -> add(X1,active(X2))
      active(dbl(X)) -> dbl(active(X))
      active(first(X1,X2)) -> first(active(X1),X2)
      active(first(X1,X2)) -> first(X1,active(X2))
      terms(mark(X)) -> mark(terms(X))
      cons(mark(X1),X2) -> mark(cons(X1,X2))
      recip(mark(X)) -> mark(recip(X))
      sqr(mark(X)) -> mark(sqr(X))
      s(mark(X)) -> mark(s(X))
      add(mark(X1),X2) -> mark(add(X1,X2))
      add(X1,mark(X2)) -> mark(add(X1,X2))
      dbl(mark(X)) -> mark(dbl(X))
      first(mark(X1),X2) -> mark(first(X1,X2))
      first(X1,mark(X2)) -> mark(first(X1,X2))
      proper(terms(X)) -> terms(proper(X))
      proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
      proper(recip(X)) -> recip(proper(X))
      proper(sqr(X)) -> sqr(proper(X))
      proper(s(X)) -> s(proper(X))
      proper(0()) -> ok(0())
      proper(add(X1,X2)) -> add(proper(X1),proper(X2))
      proper(dbl(X)) -> dbl(proper(X))
      proper(first(X1,X2)) -> first(proper(X1),proper(X2))
      proper(nil()) -> ok(nil())
      terms(ok(X)) -> ok(terms(X))
      cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
      recip(ok(X)) -> ok(recip(X))
      sqr(ok(X)) -> ok(sqr(X))
      s(ok(X)) -> ok(s(X))
      add(ok(X1),ok(X2)) -> ok(add(X1,X2))
      dbl(ok(X)) -> ok(dbl(X))
      first(ok(X1),ok(X2)) -> ok(first(X1,X2))
      top(mark(X)) -> top(proper(X))
      top(ok(X)) -> top(active(X))
     Matrix Interpretation Processor:
      dimension: 1
      interpretation:
       [s#](x0) = x0 + 1,
       
       [top](x0) = 0,
       
       [ok](x0) = x0 + 1,
       
       [proper](x0) = x0 + 1,
       
       [nil] = 0,
       
       [first](x0, x1) = x1,
       
       [add](x0, x1) = x1 + 1,
       
       [dbl](x0) = x0,
       
       [0] = 0,
       
       [mark](x0) = x0,
       
       [cons](x0, x1) = x0 + 1,
       
       [s](x0) = x0,
       
       [recip](x0) = x0,
       
       [sqr](x0) = x0,
       
       [active](x0) = x0 + 1,
       
       [terms](x0) = x0
      orientation:
       s#(ok(X)) = X + 2 >= X + 1 = s#(X)
       
       s#(mark(X)) = X + 1 >= X + 1 = s#(X)
       
       active(terms(N)) = N + 1 >= N + 1 = mark(cons(recip(sqr(N)),terms(s(N))))
       
       active(sqr(0())) = 1 >= 0 = mark(0())
       
       active(sqr(s(X))) = X + 1 >= X + 1 = mark(s(add(sqr(X),dbl(X))))
       
       active(dbl(0())) = 1 >= 0 = mark(0())
       
       active(dbl(s(X))) = X + 1 >= X = mark(s(s(dbl(X))))
       
       active(add(0(),X)) = X + 2 >= X = mark(X)
       
       active(add(s(X),Y)) = Y + 2 >= Y + 1 = mark(s(add(X,Y)))
       
       active(first(0(),X)) = X + 1 >= 0 = mark(nil())
       
       active(first(s(X),cons(Y,Z))) = Y + 2 >= Y + 1 = mark(cons(Y,first(X,Z)))
       
       active(terms(X)) = X + 1 >= X + 1 = terms(active(X))
       
       active(cons(X1,X2)) = X1 + 2 >= X1 + 2 = cons(active(X1),X2)
       
       active(recip(X)) = X + 1 >= X + 1 = recip(active(X))
       
       active(sqr(X)) = X + 1 >= X + 1 = sqr(active(X))
       
       active(s(X)) = X + 1 >= X + 1 = s(active(X))
       
       active(add(X1,X2)) = X2 + 2 >= X2 + 1 = add(active(X1),X2)
       
       active(add(X1,X2)) = X2 + 2 >= X2 + 2 = add(X1,active(X2))
       
       active(dbl(X)) = X + 1 >= X + 1 = dbl(active(X))
       
       active(first(X1,X2)) = X2 + 1 >= X2 = first(active(X1),X2)
       
       active(first(X1,X2)) = X2 + 1 >= X2 + 1 = first(X1,active(X2))
       
       terms(mark(X)) = X >= X = mark(terms(X))
       
       cons(mark(X1),X2) = X1 + 1 >= X1 + 1 = mark(cons(X1,X2))
       
       recip(mark(X)) = X >= X = mark(recip(X))
       
       sqr(mark(X)) = X >= X = mark(sqr(X))
       
       s(mark(X)) = X >= X = mark(s(X))
       
       add(mark(X1),X2) = X2 + 1 >= X2 + 1 = mark(add(X1,X2))
       
       add(X1,mark(X2)) = X2 + 1 >= X2 + 1 = mark(add(X1,X2))
       
       dbl(mark(X)) = X >= X = mark(dbl(X))
       
       first(mark(X1),X2) = X2 >= X2 = mark(first(X1,X2))
       
       first(X1,mark(X2)) = X2 >= X2 = mark(first(X1,X2))
       
       proper(terms(X)) = X + 1 >= X + 1 = terms(proper(X))
       
       proper(cons(X1,X2)) = X1 + 2 >= X1 + 2 = cons(proper(X1),proper(X2))
       
       proper(recip(X)) = X + 1 >= X + 1 = recip(proper(X))
       
       proper(sqr(X)) = X + 1 >= X + 1 = sqr(proper(X))
       
       proper(s(X)) = X + 1 >= X + 1 = s(proper(X))
       
       proper(0()) = 1 >= 1 = ok(0())
       
       proper(add(X1,X2)) = X2 + 2 >= X2 + 2 = add(proper(X1),proper(X2))
       
       proper(dbl(X)) = X + 1 >= X + 1 = dbl(proper(X))
       
       proper(first(X1,X2)) = X2 + 1 >= X2 + 1 = first(proper(X1),proper(X2))
       
       proper(nil()) = 1 >= 1 = ok(nil())
       
       terms(ok(X)) = X + 1 >= X + 1 = ok(terms(X))
       
       cons(ok(X1),ok(X2)) = X1 + 2 >= X1 + 2 = ok(cons(X1,X2))
       
       recip(ok(X)) = X + 1 >= X + 1 = ok(recip(X))
       
       sqr(ok(X)) = X + 1 >= X + 1 = ok(sqr(X))
       
       s(ok(X)) = X + 1 >= X + 1 = ok(s(X))
       
       add(ok(X1),ok(X2)) = X2 + 2 >= X2 + 2 = ok(add(X1,X2))
       
       dbl(ok(X)) = X + 1 >= X + 1 = ok(dbl(X))
       
       first(ok(X1),ok(X2)) = X2 + 1 >= X2 + 1 = ok(first(X1,X2))
       
       top(mark(X)) = 0 >= 0 = top(proper(X))
       
       top(ok(X)) = 0 >= 0 = top(active(X))
      problem:
       DPs:
        s#(mark(X)) -> s#(X)
       TRS:
        active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
        active(sqr(0())) -> mark(0())
        active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
        active(dbl(0())) -> mark(0())
        active(dbl(s(X))) -> mark(s(s(dbl(X))))
        active(add(0(),X)) -> mark(X)
        active(add(s(X),Y)) -> mark(s(add(X,Y)))
        active(first(0(),X)) -> mark(nil())
        active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
        active(terms(X)) -> terms(active(X))
        active(cons(X1,X2)) -> cons(active(X1),X2)
        active(recip(X)) -> recip(active(X))
        active(sqr(X)) -> sqr(active(X))
        active(s(X)) -> s(active(X))
        active(add(X1,X2)) -> add(active(X1),X2)
        active(add(X1,X2)) -> add(X1,active(X2))
        active(dbl(X)) -> dbl(active(X))
        active(first(X1,X2)) -> first(active(X1),X2)
        active(first(X1,X2)) -> first(X1,active(X2))
        terms(mark(X)) -> mark(terms(X))
        cons(mark(X1),X2) -> mark(cons(X1,X2))
        recip(mark(X)) -> mark(recip(X))
        sqr(mark(X)) -> mark(sqr(X))
        s(mark(X)) -> mark(s(X))
        add(mark(X1),X2) -> mark(add(X1,X2))
        add(X1,mark(X2)) -> mark(add(X1,X2))
        dbl(mark(X)) -> mark(dbl(X))
        first(mark(X1),X2) -> mark(first(X1,X2))
        first(X1,mark(X2)) -> mark(first(X1,X2))
        proper(terms(X)) -> terms(proper(X))
        proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
        proper(recip(X)) -> recip(proper(X))
        proper(sqr(X)) -> sqr(proper(X))
        proper(s(X)) -> s(proper(X))
        proper(0()) -> ok(0())
        proper(add(X1,X2)) -> add(proper(X1),proper(X2))
        proper(dbl(X)) -> dbl(proper(X))
        proper(first(X1,X2)) -> first(proper(X1),proper(X2))
        proper(nil()) -> ok(nil())
        terms(ok(X)) -> ok(terms(X))
        cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
        recip(ok(X)) -> ok(recip(X))
        sqr(ok(X)) -> ok(sqr(X))
        s(ok(X)) -> ok(s(X))
        add(ok(X1),ok(X2)) -> ok(add(X1,X2))
        dbl(ok(X)) -> ok(dbl(X))
        first(ok(X1),ok(X2)) -> ok(first(X1,X2))
        top(mark(X)) -> top(proper(X))
        top(ok(X)) -> top(active(X))
      Open
     
     DPs:
      add#(ok(X1),ok(X2)) -> add#(X1,X2)
      add#(X1,mark(X2)) -> add#(X1,X2)
      add#(mark(X1),X2) -> add#(X1,X2)
     TRS:
      active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
      active(sqr(0())) -> mark(0())
      active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
      active(dbl(0())) -> mark(0())
      active(dbl(s(X))) -> mark(s(s(dbl(X))))
      active(add(0(),X)) -> mark(X)
      active(add(s(X),Y)) -> mark(s(add(X,Y)))
      active(first(0(),X)) -> mark(nil())
      active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
      active(terms(X)) -> terms(active(X))
      active(cons(X1,X2)) -> cons(active(X1),X2)
      active(recip(X)) -> recip(active(X))
      active(sqr(X)) -> sqr(active(X))
      active(s(X)) -> s(active(X))
      active(add(X1,X2)) -> add(active(X1),X2)
      active(add(X1,X2)) -> add(X1,active(X2))
      active(dbl(X)) -> dbl(active(X))
      active(first(X1,X2)) -> first(active(X1),X2)
      active(first(X1,X2)) -> first(X1,active(X2))
      terms(mark(X)) -> mark(terms(X))
      cons(mark(X1),X2) -> mark(cons(X1,X2))
      recip(mark(X)) -> mark(recip(X))
      sqr(mark(X)) -> mark(sqr(X))
      s(mark(X)) -> mark(s(X))
      add(mark(X1),X2) -> mark(add(X1,X2))
      add(X1,mark(X2)) -> mark(add(X1,X2))
      dbl(mark(X)) -> mark(dbl(X))
      first(mark(X1),X2) -> mark(first(X1,X2))
      first(X1,mark(X2)) -> mark(first(X1,X2))
      proper(terms(X)) -> terms(proper(X))
      proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
      proper(recip(X)) -> recip(proper(X))
      proper(sqr(X)) -> sqr(proper(X))
      proper(s(X)) -> s(proper(X))
      proper(0()) -> ok(0())
      proper(add(X1,X2)) -> add(proper(X1),proper(X2))
      proper(dbl(X)) -> dbl(proper(X))
      proper(first(X1,X2)) -> first(proper(X1),proper(X2))
      proper(nil()) -> ok(nil())
      terms(ok(X)) -> ok(terms(X))
      cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
      recip(ok(X)) -> ok(recip(X))
      sqr(ok(X)) -> ok(sqr(X))
      s(ok(X)) -> ok(s(X))
      add(ok(X1),ok(X2)) -> ok(add(X1,X2))
      dbl(ok(X)) -> ok(dbl(X))
      first(ok(X1),ok(X2)) -> ok(first(X1,X2))
      top(mark(X)) -> top(proper(X))
      top(ok(X)) -> top(active(X))
     Matrix Interpretation Processor:
      dimension: 1
      interpretation:
       [add#](x0, x1) = x1 + 1,
       
       [top](x0) = 0,
       
       [ok](x0) = x0 + 1,
       
       [proper](x0) = x0 + 1,
       
       [nil] = 0,
       
       [first](x0, x1) = x1,
       
       [add](x0, x1) = x1,
       
       [dbl](x0) = x0,
       
       [0] = 0,
       
       [mark](x0) = x0,
       
       [cons](x0, x1) = x1,
       
       [s](x0) = x0,
       
       [recip](x0) = x0 + 1,
       
       [sqr](x0) = x0,
       
       [active](x0) = x0,
       
       [terms](x0) = x0
      orientation:
       add#(ok(X1),ok(X2)) = X2 + 2 >= X2 + 1 = add#(X1,X2)
       
       add#(X1,mark(X2)) = X2 + 1 >= X2 + 1 = add#(X1,X2)
       
       add#(mark(X1),X2) = X2 + 1 >= X2 + 1 = add#(X1,X2)
       
       active(terms(N)) = N >= N = mark(cons(recip(sqr(N)),terms(s(N))))
       
       active(sqr(0())) = 0 >= 0 = mark(0())
       
       active(sqr(s(X))) = X >= X = mark(s(add(sqr(X),dbl(X))))
       
       active(dbl(0())) = 0 >= 0 = mark(0())
       
       active(dbl(s(X))) = X >= X = mark(s(s(dbl(X))))
       
       active(add(0(),X)) = X >= X = mark(X)
       
       active(add(s(X),Y)) = Y >= Y = mark(s(add(X,Y)))
       
       active(first(0(),X)) = X >= 0 = mark(nil())
       
       active(first(s(X),cons(Y,Z))) = Z >= Z = mark(cons(Y,first(X,Z)))
       
       active(terms(X)) = X >= X = terms(active(X))
       
       active(cons(X1,X2)) = X2 >= X2 = cons(active(X1),X2)
       
       active(recip(X)) = X + 1 >= X + 1 = recip(active(X))
       
       active(sqr(X)) = X >= X = sqr(active(X))
       
       active(s(X)) = X >= X = s(active(X))
       
       active(add(X1,X2)) = X2 >= X2 = add(active(X1),X2)
       
       active(add(X1,X2)) = X2 >= X2 = add(X1,active(X2))
       
       active(dbl(X)) = X >= X = dbl(active(X))
       
       active(first(X1,X2)) = X2 >= X2 = first(active(X1),X2)
       
       active(first(X1,X2)) = X2 >= X2 = first(X1,active(X2))
       
       terms(mark(X)) = X >= X = mark(terms(X))
       
       cons(mark(X1),X2) = X2 >= X2 = mark(cons(X1,X2))
       
       recip(mark(X)) = X + 1 >= X + 1 = mark(recip(X))
       
       sqr(mark(X)) = X >= X = mark(sqr(X))
       
       s(mark(X)) = X >= X = mark(s(X))
       
       add(mark(X1),X2) = X2 >= X2 = mark(add(X1,X2))
       
       add(X1,mark(X2)) = X2 >= X2 = mark(add(X1,X2))
       
       dbl(mark(X)) = X >= X = mark(dbl(X))
       
       first(mark(X1),X2) = X2 >= X2 = mark(first(X1,X2))
       
       first(X1,mark(X2)) = X2 >= X2 = mark(first(X1,X2))
       
       proper(terms(X)) = X + 1 >= X + 1 = terms(proper(X))
       
       proper(cons(X1,X2)) = X2 + 1 >= X2 + 1 = cons(proper(X1),proper(X2))
       
       proper(recip(X)) = X + 2 >= X + 2 = recip(proper(X))
       
       proper(sqr(X)) = X + 1 >= X + 1 = sqr(proper(X))
       
       proper(s(X)) = X + 1 >= X + 1 = s(proper(X))
       
       proper(0()) = 1 >= 1 = ok(0())
       
       proper(add(X1,X2)) = X2 + 1 >= X2 + 1 = add(proper(X1),proper(X2))
       
       proper(dbl(X)) = X + 1 >= X + 1 = dbl(proper(X))
       
       proper(first(X1,X2)) = X2 + 1 >= X2 + 1 = first(proper(X1),proper(X2))
       
       proper(nil()) = 1 >= 1 = ok(nil())
       
       terms(ok(X)) = X + 1 >= X + 1 = ok(terms(X))
       
       cons(ok(X1),ok(X2)) = X2 + 1 >= X2 + 1 = ok(cons(X1,X2))
       
       recip(ok(X)) = X + 2 >= X + 2 = ok(recip(X))
       
       sqr(ok(X)) = X + 1 >= X + 1 = ok(sqr(X))
       
       s(ok(X)) = X + 1 >= X + 1 = ok(s(X))
       
       add(ok(X1),ok(X2)) = X2 + 1 >= X2 + 1 = ok(add(X1,X2))
       
       dbl(ok(X)) = X + 1 >= X + 1 = ok(dbl(X))
       
       first(ok(X1),ok(X2)) = X2 + 1 >= X2 + 1 = ok(first(X1,X2))
       
       top(mark(X)) = 0 >= 0 = top(proper(X))
       
       top(ok(X)) = 0 >= 0 = top(active(X))
      problem:
       DPs:
        add#(X1,mark(X2)) -> add#(X1,X2)
        add#(mark(X1),X2) -> add#(X1,X2)
       TRS:
        active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
        active(sqr(0())) -> mark(0())
        active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
        active(dbl(0())) -> mark(0())
        active(dbl(s(X))) -> mark(s(s(dbl(X))))
        active(add(0(),X)) -> mark(X)
        active(add(s(X),Y)) -> mark(s(add(X,Y)))
        active(first(0(),X)) -> mark(nil())
        active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
        active(terms(X)) -> terms(active(X))
        active(cons(X1,X2)) -> cons(active(X1),X2)
        active(recip(X)) -> recip(active(X))
        active(sqr(X)) -> sqr(active(X))
        active(s(X)) -> s(active(X))
        active(add(X1,X2)) -> add(active(X1),X2)
        active(add(X1,X2)) -> add(X1,active(X2))
        active(dbl(X)) -> dbl(active(X))
        active(first(X1,X2)) -> first(active(X1),X2)
        active(first(X1,X2)) -> first(X1,active(X2))
        terms(mark(X)) -> mark(terms(X))
        cons(mark(X1),X2) -> mark(cons(X1,X2))
        recip(mark(X)) -> mark(recip(X))
        sqr(mark(X)) -> mark(sqr(X))
        s(mark(X)) -> mark(s(X))
        add(mark(X1),X2) -> mark(add(X1,X2))
        add(X1,mark(X2)) -> mark(add(X1,X2))
        dbl(mark(X)) -> mark(dbl(X))
        first(mark(X1),X2) -> mark(first(X1,X2))
        first(X1,mark(X2)) -> mark(first(X1,X2))
        proper(terms(X)) -> terms(proper(X))
        proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
        proper(recip(X)) -> recip(proper(X))
        proper(sqr(X)) -> sqr(proper(X))
        proper(s(X)) -> s(proper(X))
        proper(0()) -> ok(0())
        proper(add(X1,X2)) -> add(proper(X1),proper(X2))
        proper(dbl(X)) -> dbl(proper(X))
        proper(first(X1,X2)) -> first(proper(X1),proper(X2))
        proper(nil()) -> ok(nil())
        terms(ok(X)) -> ok(terms(X))
        cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
        recip(ok(X)) -> ok(recip(X))
        sqr(ok(X)) -> ok(sqr(X))
        s(ok(X)) -> ok(s(X))
        add(ok(X1),ok(X2)) -> ok(add(X1,X2))
        dbl(ok(X)) -> ok(dbl(X))
        first(ok(X1),ok(X2)) -> ok(first(X1,X2))
        top(mark(X)) -> top(proper(X))
        top(ok(X)) -> top(active(X))
      Open
     
     DPs:
      dbl#(ok(X)) -> dbl#(X)
      dbl#(mark(X)) -> dbl#(X)
     TRS:
      active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
      active(sqr(0())) -> mark(0())
      active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
      active(dbl(0())) -> mark(0())
      active(dbl(s(X))) -> mark(s(s(dbl(X))))
      active(add(0(),X)) -> mark(X)
      active(add(s(X),Y)) -> mark(s(add(X,Y)))
      active(first(0(),X)) -> mark(nil())
      active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
      active(terms(X)) -> terms(active(X))
      active(cons(X1,X2)) -> cons(active(X1),X2)
      active(recip(X)) -> recip(active(X))
      active(sqr(X)) -> sqr(active(X))
      active(s(X)) -> s(active(X))
      active(add(X1,X2)) -> add(active(X1),X2)
      active(add(X1,X2)) -> add(X1,active(X2))
      active(dbl(X)) -> dbl(active(X))
      active(first(X1,X2)) -> first(active(X1),X2)
      active(first(X1,X2)) -> first(X1,active(X2))
      terms(mark(X)) -> mark(terms(X))
      cons(mark(X1),X2) -> mark(cons(X1,X2))
      recip(mark(X)) -> mark(recip(X))
      sqr(mark(X)) -> mark(sqr(X))
      s(mark(X)) -> mark(s(X))
      add(mark(X1),X2) -> mark(add(X1,X2))
      add(X1,mark(X2)) -> mark(add(X1,X2))
      dbl(mark(X)) -> mark(dbl(X))
      first(mark(X1),X2) -> mark(first(X1,X2))
      first(X1,mark(X2)) -> mark(first(X1,X2))
      proper(terms(X)) -> terms(proper(X))
      proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
      proper(recip(X)) -> recip(proper(X))
      proper(sqr(X)) -> sqr(proper(X))
      proper(s(X)) -> s(proper(X))
      proper(0()) -> ok(0())
      proper(add(X1,X2)) -> add(proper(X1),proper(X2))
      proper(dbl(X)) -> dbl(proper(X))
      proper(first(X1,X2)) -> first(proper(X1),proper(X2))
      proper(nil()) -> ok(nil())
      terms(ok(X)) -> ok(terms(X))
      cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
      recip(ok(X)) -> ok(recip(X))
      sqr(ok(X)) -> ok(sqr(X))
      s(ok(X)) -> ok(s(X))
      add(ok(X1),ok(X2)) -> ok(add(X1,X2))
      dbl(ok(X)) -> ok(dbl(X))
      first(ok(X1),ok(X2)) -> ok(first(X1,X2))
      top(mark(X)) -> top(proper(X))
      top(ok(X)) -> top(active(X))
     Matrix Interpretation Processor:
      dimension: 1
      interpretation:
       [dbl#](x0) = x0 + 1,
       
       [top](x0) = 0,
       
       [ok](x0) = x0 + 1,
       
       [proper](x0) = x0 + 1,
       
       [nil] = 0,
       
       [first](x0, x1) = x1,
       
       [add](x0, x1) = x1 + 1,
       
       [dbl](x0) = x0,
       
       [0] = 0,
       
       [mark](x0) = x0,
       
       [cons](x0, x1) = x0 + 1,
       
       [s](x0) = x0,
       
       [recip](x0) = x0,
       
       [sqr](x0) = x0,
       
       [active](x0) = x0 + 1,
       
       [terms](x0) = x0
      orientation:
       dbl#(ok(X)) = X + 2 >= X + 1 = dbl#(X)
       
       dbl#(mark(X)) = X + 1 >= X + 1 = dbl#(X)
       
       active(terms(N)) = N + 1 >= N + 1 = mark(cons(recip(sqr(N)),terms(s(N))))
       
       active(sqr(0())) = 1 >= 0 = mark(0())
       
       active(sqr(s(X))) = X + 1 >= X + 1 = mark(s(add(sqr(X),dbl(X))))
       
       active(dbl(0())) = 1 >= 0 = mark(0())
       
       active(dbl(s(X))) = X + 1 >= X = mark(s(s(dbl(X))))
       
       active(add(0(),X)) = X + 2 >= X = mark(X)
       
       active(add(s(X),Y)) = Y + 2 >= Y + 1 = mark(s(add(X,Y)))
       
       active(first(0(),X)) = X + 1 >= 0 = mark(nil())
       
       active(first(s(X),cons(Y,Z))) = Y + 2 >= Y + 1 = mark(cons(Y,first(X,Z)))
       
       active(terms(X)) = X + 1 >= X + 1 = terms(active(X))
       
       active(cons(X1,X2)) = X1 + 2 >= X1 + 2 = cons(active(X1),X2)
       
       active(recip(X)) = X + 1 >= X + 1 = recip(active(X))
       
       active(sqr(X)) = X + 1 >= X + 1 = sqr(active(X))
       
       active(s(X)) = X + 1 >= X + 1 = s(active(X))
       
       active(add(X1,X2)) = X2 + 2 >= X2 + 1 = add(active(X1),X2)
       
       active(add(X1,X2)) = X2 + 2 >= X2 + 2 = add(X1,active(X2))
       
       active(dbl(X)) = X + 1 >= X + 1 = dbl(active(X))
       
       active(first(X1,X2)) = X2 + 1 >= X2 = first(active(X1),X2)
       
       active(first(X1,X2)) = X2 + 1 >= X2 + 1 = first(X1,active(X2))
       
       terms(mark(X)) = X >= X = mark(terms(X))
       
       cons(mark(X1),X2) = X1 + 1 >= X1 + 1 = mark(cons(X1,X2))
       
       recip(mark(X)) = X >= X = mark(recip(X))
       
       sqr(mark(X)) = X >= X = mark(sqr(X))
       
       s(mark(X)) = X >= X = mark(s(X))
       
       add(mark(X1),X2) = X2 + 1 >= X2 + 1 = mark(add(X1,X2))
       
       add(X1,mark(X2)) = X2 + 1 >= X2 + 1 = mark(add(X1,X2))
       
       dbl(mark(X)) = X >= X = mark(dbl(X))
       
       first(mark(X1),X2) = X2 >= X2 = mark(first(X1,X2))
       
       first(X1,mark(X2)) = X2 >= X2 = mark(first(X1,X2))
       
       proper(terms(X)) = X + 1 >= X + 1 = terms(proper(X))
       
       proper(cons(X1,X2)) = X1 + 2 >= X1 + 2 = cons(proper(X1),proper(X2))
       
       proper(recip(X)) = X + 1 >= X + 1 = recip(proper(X))
       
       proper(sqr(X)) = X + 1 >= X + 1 = sqr(proper(X))
       
       proper(s(X)) = X + 1 >= X + 1 = s(proper(X))
       
       proper(0()) = 1 >= 1 = ok(0())
       
       proper(add(X1,X2)) = X2 + 2 >= X2 + 2 = add(proper(X1),proper(X2))
       
       proper(dbl(X)) = X + 1 >= X + 1 = dbl(proper(X))
       
       proper(first(X1,X2)) = X2 + 1 >= X2 + 1 = first(proper(X1),proper(X2))
       
       proper(nil()) = 1 >= 1 = ok(nil())
       
       terms(ok(X)) = X + 1 >= X + 1 = ok(terms(X))
       
       cons(ok(X1),ok(X2)) = X1 + 2 >= X1 + 2 = ok(cons(X1,X2))
       
       recip(ok(X)) = X + 1 >= X + 1 = ok(recip(X))
       
       sqr(ok(X)) = X + 1 >= X + 1 = ok(sqr(X))
       
       s(ok(X)) = X + 1 >= X + 1 = ok(s(X))
       
       add(ok(X1),ok(X2)) = X2 + 2 >= X2 + 2 = ok(add(X1,X2))
       
       dbl(ok(X)) = X + 1 >= X + 1 = ok(dbl(X))
       
       first(ok(X1),ok(X2)) = X2 + 1 >= X2 + 1 = ok(first(X1,X2))
       
       top(mark(X)) = 0 >= 0 = top(proper(X))
       
       top(ok(X)) = 0 >= 0 = top(active(X))
      problem:
       DPs:
        dbl#(mark(X)) -> dbl#(X)
       TRS:
        active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
        active(sqr(0())) -> mark(0())
        active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
        active(dbl(0())) -> mark(0())
        active(dbl(s(X))) -> mark(s(s(dbl(X))))
        active(add(0(),X)) -> mark(X)
        active(add(s(X),Y)) -> mark(s(add(X,Y)))
        active(first(0(),X)) -> mark(nil())
        active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
        active(terms(X)) -> terms(active(X))
        active(cons(X1,X2)) -> cons(active(X1),X2)
        active(recip(X)) -> recip(active(X))
        active(sqr(X)) -> sqr(active(X))
        active(s(X)) -> s(active(X))
        active(add(X1,X2)) -> add(active(X1),X2)
        active(add(X1,X2)) -> add(X1,active(X2))
        active(dbl(X)) -> dbl(active(X))
        active(first(X1,X2)) -> first(active(X1),X2)
        active(first(X1,X2)) -> first(X1,active(X2))
        terms(mark(X)) -> mark(terms(X))
        cons(mark(X1),X2) -> mark(cons(X1,X2))
        recip(mark(X)) -> mark(recip(X))
        sqr(mark(X)) -> mark(sqr(X))
        s(mark(X)) -> mark(s(X))
        add(mark(X1),X2) -> mark(add(X1,X2))
        add(X1,mark(X2)) -> mark(add(X1,X2))
        dbl(mark(X)) -> mark(dbl(X))
        first(mark(X1),X2) -> mark(first(X1,X2))
        first(X1,mark(X2)) -> mark(first(X1,X2))
        proper(terms(X)) -> terms(proper(X))
        proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
        proper(recip(X)) -> recip(proper(X))
        proper(sqr(X)) -> sqr(proper(X))
        proper(s(X)) -> s(proper(X))
        proper(0()) -> ok(0())
        proper(add(X1,X2)) -> add(proper(X1),proper(X2))
        proper(dbl(X)) -> dbl(proper(X))
        proper(first(X1,X2)) -> first(proper(X1),proper(X2))
        proper(nil()) -> ok(nil())
        terms(ok(X)) -> ok(terms(X))
        cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
        recip(ok(X)) -> ok(recip(X))
        sqr(ok(X)) -> ok(sqr(X))
        s(ok(X)) -> ok(s(X))
        add(ok(X1),ok(X2)) -> ok(add(X1,X2))
        dbl(ok(X)) -> ok(dbl(X))
        first(ok(X1),ok(X2)) -> ok(first(X1,X2))
        top(mark(X)) -> top(proper(X))
        top(ok(X)) -> top(active(X))
      Open
     
     DPs:
      first#(ok(X1),ok(X2)) -> first#(X1,X2)
      first#(X1,mark(X2)) -> first#(X1,X2)
      first#(mark(X1),X2) -> first#(X1,X2)
     TRS:
      active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
      active(sqr(0())) -> mark(0())
      active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
      active(dbl(0())) -> mark(0())
      active(dbl(s(X))) -> mark(s(s(dbl(X))))
      active(add(0(),X)) -> mark(X)
      active(add(s(X),Y)) -> mark(s(add(X,Y)))
      active(first(0(),X)) -> mark(nil())
      active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
      active(terms(X)) -> terms(active(X))
      active(cons(X1,X2)) -> cons(active(X1),X2)
      active(recip(X)) -> recip(active(X))
      active(sqr(X)) -> sqr(active(X))
      active(s(X)) -> s(active(X))
      active(add(X1,X2)) -> add(active(X1),X2)
      active(add(X1,X2)) -> add(X1,active(X2))
      active(dbl(X)) -> dbl(active(X))
      active(first(X1,X2)) -> first(active(X1),X2)
      active(first(X1,X2)) -> first(X1,active(X2))
      terms(mark(X)) -> mark(terms(X))
      cons(mark(X1),X2) -> mark(cons(X1,X2))
      recip(mark(X)) -> mark(recip(X))
      sqr(mark(X)) -> mark(sqr(X))
      s(mark(X)) -> mark(s(X))
      add(mark(X1),X2) -> mark(add(X1,X2))
      add(X1,mark(X2)) -> mark(add(X1,X2))
      dbl(mark(X)) -> mark(dbl(X))
      first(mark(X1),X2) -> mark(first(X1,X2))
      first(X1,mark(X2)) -> mark(first(X1,X2))
      proper(terms(X)) -> terms(proper(X))
      proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
      proper(recip(X)) -> recip(proper(X))
      proper(sqr(X)) -> sqr(proper(X))
      proper(s(X)) -> s(proper(X))
      proper(0()) -> ok(0())
      proper(add(X1,X2)) -> add(proper(X1),proper(X2))
      proper(dbl(X)) -> dbl(proper(X))
      proper(first(X1,X2)) -> first(proper(X1),proper(X2))
      proper(nil()) -> ok(nil())
      terms(ok(X)) -> ok(terms(X))
      cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
      recip(ok(X)) -> ok(recip(X))
      sqr(ok(X)) -> ok(sqr(X))
      s(ok(X)) -> ok(s(X))
      add(ok(X1),ok(X2)) -> ok(add(X1,X2))
      dbl(ok(X)) -> ok(dbl(X))
      first(ok(X1),ok(X2)) -> ok(first(X1,X2))
      top(mark(X)) -> top(proper(X))
      top(ok(X)) -> top(active(X))
     Matrix Interpretation Processor:
      dimension: 1
      interpretation:
       [first#](x0, x1) = x1 + 1,
       
       [top](x0) = 0,
       
       [ok](x0) = x0 + 1,
       
       [proper](x0) = x0 + 1,
       
       [nil] = 0,
       
       [first](x0, x1) = x1,
       
       [add](x0, x1) = x1,
       
       [dbl](x0) = x0,
       
       [0] = 0,
       
       [mark](x0) = x0,
       
       [cons](x0, x1) = x1,
       
       [s](x0) = x0,
       
       [recip](x0) = x0 + 1,
       
       [sqr](x0) = x0,
       
       [active](x0) = x0,
       
       [terms](x0) = x0
      orientation:
       first#(ok(X1),ok(X2)) = X2 + 2 >= X2 + 1 = first#(X1,X2)
       
       first#(X1,mark(X2)) = X2 + 1 >= X2 + 1 = first#(X1,X2)
       
       first#(mark(X1),X2) = X2 + 1 >= X2 + 1 = first#(X1,X2)
       
       active(terms(N)) = N >= N = mark(cons(recip(sqr(N)),terms(s(N))))
       
       active(sqr(0())) = 0 >= 0 = mark(0())
       
       active(sqr(s(X))) = X >= X = mark(s(add(sqr(X),dbl(X))))
       
       active(dbl(0())) = 0 >= 0 = mark(0())
       
       active(dbl(s(X))) = X >= X = mark(s(s(dbl(X))))
       
       active(add(0(),X)) = X >= X = mark(X)
       
       active(add(s(X),Y)) = Y >= Y = mark(s(add(X,Y)))
       
       active(first(0(),X)) = X >= 0 = mark(nil())
       
       active(first(s(X),cons(Y,Z))) = Z >= Z = mark(cons(Y,first(X,Z)))
       
       active(terms(X)) = X >= X = terms(active(X))
       
       active(cons(X1,X2)) = X2 >= X2 = cons(active(X1),X2)
       
       active(recip(X)) = X + 1 >= X + 1 = recip(active(X))
       
       active(sqr(X)) = X >= X = sqr(active(X))
       
       active(s(X)) = X >= X = s(active(X))
       
       active(add(X1,X2)) = X2 >= X2 = add(active(X1),X2)
       
       active(add(X1,X2)) = X2 >= X2 = add(X1,active(X2))
       
       active(dbl(X)) = X >= X = dbl(active(X))
       
       active(first(X1,X2)) = X2 >= X2 = first(active(X1),X2)
       
       active(first(X1,X2)) = X2 >= X2 = first(X1,active(X2))
       
       terms(mark(X)) = X >= X = mark(terms(X))
       
       cons(mark(X1),X2) = X2 >= X2 = mark(cons(X1,X2))
       
       recip(mark(X)) = X + 1 >= X + 1 = mark(recip(X))
       
       sqr(mark(X)) = X >= X = mark(sqr(X))
       
       s(mark(X)) = X >= X = mark(s(X))
       
       add(mark(X1),X2) = X2 >= X2 = mark(add(X1,X2))
       
       add(X1,mark(X2)) = X2 >= X2 = mark(add(X1,X2))
       
       dbl(mark(X)) = X >= X = mark(dbl(X))
       
       first(mark(X1),X2) = X2 >= X2 = mark(first(X1,X2))
       
       first(X1,mark(X2)) = X2 >= X2 = mark(first(X1,X2))
       
       proper(terms(X)) = X + 1 >= X + 1 = terms(proper(X))
       
       proper(cons(X1,X2)) = X2 + 1 >= X2 + 1 = cons(proper(X1),proper(X2))
       
       proper(recip(X)) = X + 2 >= X + 2 = recip(proper(X))
       
       proper(sqr(X)) = X + 1 >= X + 1 = sqr(proper(X))
       
       proper(s(X)) = X + 1 >= X + 1 = s(proper(X))
       
       proper(0()) = 1 >= 1 = ok(0())
       
       proper(add(X1,X2)) = X2 + 1 >= X2 + 1 = add(proper(X1),proper(X2))
       
       proper(dbl(X)) = X + 1 >= X + 1 = dbl(proper(X))
       
       proper(first(X1,X2)) = X2 + 1 >= X2 + 1 = first(proper(X1),proper(X2))
       
       proper(nil()) = 1 >= 1 = ok(nil())
       
       terms(ok(X)) = X + 1 >= X + 1 = ok(terms(X))
       
       cons(ok(X1),ok(X2)) = X2 + 1 >= X2 + 1 = ok(cons(X1,X2))
       
       recip(ok(X)) = X + 2 >= X + 2 = ok(recip(X))
       
       sqr(ok(X)) = X + 1 >= X + 1 = ok(sqr(X))
       
       s(ok(X)) = X + 1 >= X + 1 = ok(s(X))
       
       add(ok(X1),ok(X2)) = X2 + 1 >= X2 + 1 = ok(add(X1,X2))
       
       dbl(ok(X)) = X + 1 >= X + 1 = ok(dbl(X))
       
       first(ok(X1),ok(X2)) = X2 + 1 >= X2 + 1 = ok(first(X1,X2))
       
       top(mark(X)) = 0 >= 0 = top(proper(X))
       
       top(ok(X)) = 0 >= 0 = top(active(X))
      problem:
       DPs:
        first#(X1,mark(X2)) -> first#(X1,X2)
        first#(mark(X1),X2) -> first#(X1,X2)
       TRS:
        active(terms(N)) -> mark(cons(recip(sqr(N)),terms(s(N))))
        active(sqr(0())) -> mark(0())
        active(sqr(s(X))) -> mark(s(add(sqr(X),dbl(X))))
        active(dbl(0())) -> mark(0())
        active(dbl(s(X))) -> mark(s(s(dbl(X))))
        active(add(0(),X)) -> mark(X)
        active(add(s(X),Y)) -> mark(s(add(X,Y)))
        active(first(0(),X)) -> mark(nil())
        active(first(s(X),cons(Y,Z))) -> mark(cons(Y,first(X,Z)))
        active(terms(X)) -> terms(active(X))
        active(cons(X1,X2)) -> cons(active(X1),X2)
        active(recip(X)) -> recip(active(X))
        active(sqr(X)) -> sqr(active(X))
        active(s(X)) -> s(active(X))
        active(add(X1,X2)) -> add(active(X1),X2)
        active(add(X1,X2)) -> add(X1,active(X2))
        active(dbl(X)) -> dbl(active(X))
        active(first(X1,X2)) -> first(active(X1),X2)
        active(first(X1,X2)) -> first(X1,active(X2))
        terms(mark(X)) -> mark(terms(X))
        cons(mark(X1),X2) -> mark(cons(X1,X2))
        recip(mark(X)) -> mark(recip(X))
        sqr(mark(X)) -> mark(sqr(X))
        s(mark(X)) -> mark(s(X))
        add(mark(X1),X2) -> mark(add(X1,X2))
        add(X1,mark(X2)) -> mark(add(X1,X2))
        dbl(mark(X)) -> mark(dbl(X))
        first(mark(X1),X2) -> mark(first(X1,X2))
        first(X1,mark(X2)) -> mark(first(X1,X2))
        proper(terms(X)) -> terms(proper(X))
        proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
        proper(recip(X)) -> recip(proper(X))
        proper(sqr(X)) -> sqr(proper(X))
        proper(s(X)) -> s(proper(X))
        proper(0()) -> ok(0())
        proper(add(X1,X2)) -> add(proper(X1),proper(X2))
        proper(dbl(X)) -> dbl(proper(X))
        proper(first(X1,X2)) -> first(proper(X1),proper(X2))
        proper(nil()) -> ok(nil())
        terms(ok(X)) -> ok(terms(X))
        cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
        recip(ok(X)) -> ok(recip(X))
        sqr(ok(X)) -> ok(sqr(X))
        s(ok(X)) -> ok(s(X))
        add(ok(X1),ok(X2)) -> ok(add(X1,X2))
        dbl(ok(X)) -> ok(dbl(X))
        first(ok(X1),ok(X2)) -> ok(first(X1,X2))
        top(mark(X)) -> top(proper(X))
        top(ok(X)) -> top(active(X))
      Open