MAYBE

Problem:
 active(U11(tt(),V2)) -> mark(U12(isNat(V2)))
 active(U12(tt())) -> mark(tt())
 active(U21(tt())) -> mark(tt())
 active(U31(tt(),N)) -> mark(N)
 active(U41(tt(),M,N)) -> mark(U42(isNat(N),M,N))
 active(U42(tt(),M,N)) -> mark(s(plus(N,M)))
 active(isNat(0())) -> mark(tt())
 active(isNat(plus(V1,V2))) -> mark(U11(isNat(V1),V2))
 active(isNat(s(V1))) -> mark(U21(isNat(V1)))
 active(plus(N,0())) -> mark(U31(isNat(N),N))
 active(plus(N,s(M))) -> mark(U41(isNat(M),M,N))
 mark(U11(X1,X2)) -> active(U11(mark(X1),X2))
 mark(tt()) -> active(tt())
 mark(U12(X)) -> active(U12(mark(X)))
 mark(isNat(X)) -> active(isNat(X))
 mark(U21(X)) -> active(U21(mark(X)))
 mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
 mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3))
 mark(U42(X1,X2,X3)) -> active(U42(mark(X1),X2,X3))
 mark(s(X)) -> active(s(mark(X)))
 mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
 mark(0()) -> active(0())
 U11(mark(X1),X2) -> U11(X1,X2)
 U11(X1,mark(X2)) -> U11(X1,X2)
 U11(active(X1),X2) -> U11(X1,X2)
 U11(X1,active(X2)) -> U11(X1,X2)
 U12(mark(X)) -> U12(X)
 U12(active(X)) -> U12(X)
 isNat(mark(X)) -> isNat(X)
 isNat(active(X)) -> isNat(X)
 U21(mark(X)) -> U21(X)
 U21(active(X)) -> U21(X)
 U31(mark(X1),X2) -> U31(X1,X2)
 U31(X1,mark(X2)) -> U31(X1,X2)
 U31(active(X1),X2) -> U31(X1,X2)
 U31(X1,active(X2)) -> U31(X1,X2)
 U41(mark(X1),X2,X3) -> U41(X1,X2,X3)
 U41(X1,mark(X2),X3) -> U41(X1,X2,X3)
 U41(X1,X2,mark(X3)) -> U41(X1,X2,X3)
 U41(active(X1),X2,X3) -> U41(X1,X2,X3)
 U41(X1,active(X2),X3) -> U41(X1,X2,X3)
 U41(X1,X2,active(X3)) -> U41(X1,X2,X3)
 U42(mark(X1),X2,X3) -> U42(X1,X2,X3)
 U42(X1,mark(X2),X3) -> U42(X1,X2,X3)
 U42(X1,X2,mark(X3)) -> U42(X1,X2,X3)
 U42(active(X1),X2,X3) -> U42(X1,X2,X3)
 U42(X1,active(X2),X3) -> U42(X1,X2,X3)
 U42(X1,X2,active(X3)) -> U42(X1,X2,X3)
 s(mark(X)) -> s(X)
 s(active(X)) -> s(X)
 plus(mark(X1),X2) -> plus(X1,X2)
 plus(X1,mark(X2)) -> plus(X1,X2)
 plus(active(X1),X2) -> plus(X1,X2)
 plus(X1,active(X2)) -> plus(X1,X2)

Proof:
 DP Processor:
  DPs:
   active#(U11(tt(),V2)) -> isNat#(V2)
   active#(U11(tt(),V2)) -> U12#(isNat(V2))
   active#(U11(tt(),V2)) -> mark#(U12(isNat(V2)))
   active#(U12(tt())) -> mark#(tt())
   active#(U21(tt())) -> mark#(tt())
   active#(U31(tt(),N)) -> mark#(N)
   active#(U41(tt(),M,N)) -> isNat#(N)
   active#(U41(tt(),M,N)) -> U42#(isNat(N),M,N)
   active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N))
   active#(U42(tt(),M,N)) -> plus#(N,M)
   active#(U42(tt(),M,N)) -> s#(plus(N,M))
   active#(U42(tt(),M,N)) -> mark#(s(plus(N,M)))
   active#(isNat(0())) -> mark#(tt())
   active#(isNat(plus(V1,V2))) -> isNat#(V1)
   active#(isNat(plus(V1,V2))) -> U11#(isNat(V1),V2)
   active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2))
   active#(isNat(s(V1))) -> isNat#(V1)
   active#(isNat(s(V1))) -> U21#(isNat(V1))
   active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))
   active#(plus(N,0())) -> isNat#(N)
   active#(plus(N,0())) -> U31#(isNat(N),N)
   active#(plus(N,0())) -> mark#(U31(isNat(N),N))
   active#(plus(N,s(M))) -> isNat#(M)
   active#(plus(N,s(M))) -> U41#(isNat(M),M,N)
   active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N))
   mark#(U11(X1,X2)) -> mark#(X1)
   mark#(U11(X1,X2)) -> U11#(mark(X1),X2)
   mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
   mark#(tt()) -> active#(tt())
   mark#(U12(X)) -> mark#(X)
   mark#(U12(X)) -> U12#(mark(X))
   mark#(U12(X)) -> active#(U12(mark(X)))
   mark#(isNat(X)) -> active#(isNat(X))
   mark#(U21(X)) -> mark#(X)
   mark#(U21(X)) -> U21#(mark(X))
   mark#(U21(X)) -> active#(U21(mark(X)))
   mark#(U31(X1,X2)) -> mark#(X1)
   mark#(U31(X1,X2)) -> U31#(mark(X1),X2)
   mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
   mark#(U41(X1,X2,X3)) -> mark#(X1)
   mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3)
   mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
   mark#(U42(X1,X2,X3)) -> mark#(X1)
   mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3)
   mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
   mark#(s(X)) -> mark#(X)
   mark#(s(X)) -> s#(mark(X))
   mark#(s(X)) -> active#(s(mark(X)))
   mark#(plus(X1,X2)) -> mark#(X2)
   mark#(plus(X1,X2)) -> mark#(X1)
   mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2))
   mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
   mark#(0()) -> active#(0())
   U11#(mark(X1),X2) -> U11#(X1,X2)
   U11#(X1,mark(X2)) -> U11#(X1,X2)
   U11#(active(X1),X2) -> U11#(X1,X2)
   U11#(X1,active(X2)) -> U11#(X1,X2)
   U12#(mark(X)) -> U12#(X)
   U12#(active(X)) -> U12#(X)
   isNat#(mark(X)) -> isNat#(X)
   isNat#(active(X)) -> isNat#(X)
   U21#(mark(X)) -> U21#(X)
   U21#(active(X)) -> U21#(X)
   U31#(mark(X1),X2) -> U31#(X1,X2)
   U31#(X1,mark(X2)) -> U31#(X1,X2)
   U31#(active(X1),X2) -> U31#(X1,X2)
   U31#(X1,active(X2)) -> U31#(X1,X2)
   U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3)
   U41#(X1,mark(X2),X3) -> U41#(X1,X2,X3)
   U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3)
   U41#(active(X1),X2,X3) -> U41#(X1,X2,X3)
   U41#(X1,active(X2),X3) -> U41#(X1,X2,X3)
   U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3)
   U42#(mark(X1),X2,X3) -> U42#(X1,X2,X3)
   U42#(X1,mark(X2),X3) -> U42#(X1,X2,X3)
   U42#(X1,X2,mark(X3)) -> U42#(X1,X2,X3)
   U42#(active(X1),X2,X3) -> U42#(X1,X2,X3)
   U42#(X1,active(X2),X3) -> U42#(X1,X2,X3)
   U42#(X1,X2,active(X3)) -> U42#(X1,X2,X3)
   s#(mark(X)) -> s#(X)
   s#(active(X)) -> s#(X)
   plus#(mark(X1),X2) -> plus#(X1,X2)
   plus#(X1,mark(X2)) -> plus#(X1,X2)
   plus#(active(X1),X2) -> plus#(X1,X2)
   plus#(X1,active(X2)) -> plus#(X1,X2)
  TRS:
   active(U11(tt(),V2)) -> mark(U12(isNat(V2)))
   active(U12(tt())) -> mark(tt())
   active(U21(tt())) -> mark(tt())
   active(U31(tt(),N)) -> mark(N)
   active(U41(tt(),M,N)) -> mark(U42(isNat(N),M,N))
   active(U42(tt(),M,N)) -> mark(s(plus(N,M)))
   active(isNat(0())) -> mark(tt())
   active(isNat(plus(V1,V2))) -> mark(U11(isNat(V1),V2))
   active(isNat(s(V1))) -> mark(U21(isNat(V1)))
   active(plus(N,0())) -> mark(U31(isNat(N),N))
   active(plus(N,s(M))) -> mark(U41(isNat(M),M,N))
   mark(U11(X1,X2)) -> active(U11(mark(X1),X2))
   mark(tt()) -> active(tt())
   mark(U12(X)) -> active(U12(mark(X)))
   mark(isNat(X)) -> active(isNat(X))
   mark(U21(X)) -> active(U21(mark(X)))
   mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
   mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3))
   mark(U42(X1,X2,X3)) -> active(U42(mark(X1),X2,X3))
   mark(s(X)) -> active(s(mark(X)))
   mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
   mark(0()) -> active(0())
   U11(mark(X1),X2) -> U11(X1,X2)
   U11(X1,mark(X2)) -> U11(X1,X2)
   U11(active(X1),X2) -> U11(X1,X2)
   U11(X1,active(X2)) -> U11(X1,X2)
   U12(mark(X)) -> U12(X)
   U12(active(X)) -> U12(X)
   isNat(mark(X)) -> isNat(X)
   isNat(active(X)) -> isNat(X)
   U21(mark(X)) -> U21(X)
   U21(active(X)) -> U21(X)
   U31(mark(X1),X2) -> U31(X1,X2)
   U31(X1,mark(X2)) -> U31(X1,X2)
   U31(active(X1),X2) -> U31(X1,X2)
   U31(X1,active(X2)) -> U31(X1,X2)
   U41(mark(X1),X2,X3) -> U41(X1,X2,X3)
   U41(X1,mark(X2),X3) -> U41(X1,X2,X3)
   U41(X1,X2,mark(X3)) -> U41(X1,X2,X3)
   U41(active(X1),X2,X3) -> U41(X1,X2,X3)
   U41(X1,active(X2),X3) -> U41(X1,X2,X3)
   U41(X1,X2,active(X3)) -> U41(X1,X2,X3)
   U42(mark(X1),X2,X3) -> U42(X1,X2,X3)
   U42(X1,mark(X2),X3) -> U42(X1,X2,X3)
   U42(X1,X2,mark(X3)) -> U42(X1,X2,X3)
   U42(active(X1),X2,X3) -> U42(X1,X2,X3)
   U42(X1,active(X2),X3) -> U42(X1,X2,X3)
   U42(X1,X2,active(X3)) -> U42(X1,X2,X3)
   s(mark(X)) -> s(X)
   s(active(X)) -> s(X)
   plus(mark(X1),X2) -> plus(X1,X2)
   plus(X1,mark(X2)) -> plus(X1,X2)
   plus(active(X1),X2) -> plus(X1,X2)
   plus(X1,active(X2)) -> plus(X1,X2)
  EDG Processor:
   DPs:
    active#(U11(tt(),V2)) -> isNat#(V2)
    active#(U11(tt(),V2)) -> U12#(isNat(V2))
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2)))
    active#(U12(tt())) -> mark#(tt())
    active#(U21(tt())) -> mark#(tt())
    active#(U31(tt(),N)) -> mark#(N)
    active#(U41(tt(),M,N)) -> isNat#(N)
    active#(U41(tt(),M,N)) -> U42#(isNat(N),M,N)
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N))
    active#(U42(tt(),M,N)) -> plus#(N,M)
    active#(U42(tt(),M,N)) -> s#(plus(N,M))
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M)))
    active#(isNat(0())) -> mark#(tt())
    active#(isNat(plus(V1,V2))) -> isNat#(V1)
    active#(isNat(plus(V1,V2))) -> U11#(isNat(V1),V2)
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2))
    active#(isNat(s(V1))) -> isNat#(V1)
    active#(isNat(s(V1))) -> U21#(isNat(V1))
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))
    active#(plus(N,0())) -> isNat#(N)
    active#(plus(N,0())) -> U31#(isNat(N),N)
    active#(plus(N,0())) -> mark#(U31(isNat(N),N))
    active#(plus(N,s(M))) -> isNat#(M)
    active#(plus(N,s(M))) -> U41#(isNat(M),M,N)
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N))
    mark#(U11(X1,X2)) -> mark#(X1)
    mark#(U11(X1,X2)) -> U11#(mark(X1),X2)
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
    mark#(tt()) -> active#(tt())
    mark#(U12(X)) -> mark#(X)
    mark#(U12(X)) -> U12#(mark(X))
    mark#(U12(X)) -> active#(U12(mark(X)))
    mark#(isNat(X)) -> active#(isNat(X))
    mark#(U21(X)) -> mark#(X)
    mark#(U21(X)) -> U21#(mark(X))
    mark#(U21(X)) -> active#(U21(mark(X)))
    mark#(U31(X1,X2)) -> mark#(X1)
    mark#(U31(X1,X2)) -> U31#(mark(X1),X2)
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
    mark#(U41(X1,X2,X3)) -> mark#(X1)
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3)
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
    mark#(U42(X1,X2,X3)) -> mark#(X1)
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3)
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
    mark#(s(X)) -> mark#(X)
    mark#(s(X)) -> s#(mark(X))
    mark#(s(X)) -> active#(s(mark(X)))
    mark#(plus(X1,X2)) -> mark#(X2)
    mark#(plus(X1,X2)) -> mark#(X1)
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2))
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
    mark#(0()) -> active#(0())
    U11#(mark(X1),X2) -> U11#(X1,X2)
    U11#(X1,mark(X2)) -> U11#(X1,X2)
    U11#(active(X1),X2) -> U11#(X1,X2)
    U11#(X1,active(X2)) -> U11#(X1,X2)
    U12#(mark(X)) -> U12#(X)
    U12#(active(X)) -> U12#(X)
    isNat#(mark(X)) -> isNat#(X)
    isNat#(active(X)) -> isNat#(X)
    U21#(mark(X)) -> U21#(X)
    U21#(active(X)) -> U21#(X)
    U31#(mark(X1),X2) -> U31#(X1,X2)
    U31#(X1,mark(X2)) -> U31#(X1,X2)
    U31#(active(X1),X2) -> U31#(X1,X2)
    U31#(X1,active(X2)) -> U31#(X1,X2)
    U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3)
    U41#(X1,mark(X2),X3) -> U41#(X1,X2,X3)
    U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3)
    U41#(active(X1),X2,X3) -> U41#(X1,X2,X3)
    U41#(X1,active(X2),X3) -> U41#(X1,X2,X3)
    U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3)
    U42#(mark(X1),X2,X3) -> U42#(X1,X2,X3)
    U42#(X1,mark(X2),X3) -> U42#(X1,X2,X3)
    U42#(X1,X2,mark(X3)) -> U42#(X1,X2,X3)
    U42#(active(X1),X2,X3) -> U42#(X1,X2,X3)
    U42#(X1,active(X2),X3) -> U42#(X1,X2,X3)
    U42#(X1,X2,active(X3)) -> U42#(X1,X2,X3)
    s#(mark(X)) -> s#(X)
    s#(active(X)) -> s#(X)
    plus#(mark(X1),X2) -> plus#(X1,X2)
    plus#(X1,mark(X2)) -> plus#(X1,X2)
    plus#(active(X1),X2) -> plus#(X1,X2)
    plus#(X1,active(X2)) -> plus#(X1,X2)
   TRS:
    active(U11(tt(),V2)) -> mark(U12(isNat(V2)))
    active(U12(tt())) -> mark(tt())
    active(U21(tt())) -> mark(tt())
    active(U31(tt(),N)) -> mark(N)
    active(U41(tt(),M,N)) -> mark(U42(isNat(N),M,N))
    active(U42(tt(),M,N)) -> mark(s(plus(N,M)))
    active(isNat(0())) -> mark(tt())
    active(isNat(plus(V1,V2))) -> mark(U11(isNat(V1),V2))
    active(isNat(s(V1))) -> mark(U21(isNat(V1)))
    active(plus(N,0())) -> mark(U31(isNat(N),N))
    active(plus(N,s(M))) -> mark(U41(isNat(M),M,N))
    mark(U11(X1,X2)) -> active(U11(mark(X1),X2))
    mark(tt()) -> active(tt())
    mark(U12(X)) -> active(U12(mark(X)))
    mark(isNat(X)) -> active(isNat(X))
    mark(U21(X)) -> active(U21(mark(X)))
    mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
    mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3))
    mark(U42(X1,X2,X3)) -> active(U42(mark(X1),X2,X3))
    mark(s(X)) -> active(s(mark(X)))
    mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
    mark(0()) -> active(0())
    U11(mark(X1),X2) -> U11(X1,X2)
    U11(X1,mark(X2)) -> U11(X1,X2)
    U11(active(X1),X2) -> U11(X1,X2)
    U11(X1,active(X2)) -> U11(X1,X2)
    U12(mark(X)) -> U12(X)
    U12(active(X)) -> U12(X)
    isNat(mark(X)) -> isNat(X)
    isNat(active(X)) -> isNat(X)
    U21(mark(X)) -> U21(X)
    U21(active(X)) -> U21(X)
    U31(mark(X1),X2) -> U31(X1,X2)
    U31(X1,mark(X2)) -> U31(X1,X2)
    U31(active(X1),X2) -> U31(X1,X2)
    U31(X1,active(X2)) -> U31(X1,X2)
    U41(mark(X1),X2,X3) -> U41(X1,X2,X3)
    U41(X1,mark(X2),X3) -> U41(X1,X2,X3)
    U41(X1,X2,mark(X3)) -> U41(X1,X2,X3)
    U41(active(X1),X2,X3) -> U41(X1,X2,X3)
    U41(X1,active(X2),X3) -> U41(X1,X2,X3)
    U41(X1,X2,active(X3)) -> U41(X1,X2,X3)
    U42(mark(X1),X2,X3) -> U42(X1,X2,X3)
    U42(X1,mark(X2),X3) -> U42(X1,X2,X3)
    U42(X1,X2,mark(X3)) -> U42(X1,X2,X3)
    U42(active(X1),X2,X3) -> U42(X1,X2,X3)
    U42(X1,active(X2),X3) -> U42(X1,X2,X3)
    U42(X1,X2,active(X3)) -> U42(X1,X2,X3)
    s(mark(X)) -> s(X)
    s(active(X)) -> s(X)
    plus(mark(X1),X2) -> plus(X1,X2)
    plus(X1,mark(X2)) -> plus(X1,X2)
    plus(active(X1),X2) -> plus(X1,X2)
    plus(X1,active(X2)) -> plus(X1,X2)
   graph:
    U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3) ->
    U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3)
    U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3) ->
    U41#(X1,mark(X2),X3) -> U41#(X1,X2,X3)
    U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3) ->
    U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3)
    U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3) ->
    U41#(active(X1),X2,X3) -> U41#(X1,X2,X3)
    U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3) ->
    U41#(X1,active(X2),X3) -> U41#(X1,X2,X3)
    U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3) ->
    U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3)
    U41#(active(X1),X2,X3) -> U41#(X1,X2,X3) ->
    U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3)
    U41#(active(X1),X2,X3) -> U41#(X1,X2,X3) ->
    U41#(X1,mark(X2),X3) -> U41#(X1,X2,X3)
    U41#(active(X1),X2,X3) -> U41#(X1,X2,X3) ->
    U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3)
    U41#(active(X1),X2,X3) -> U41#(X1,X2,X3) ->
    U41#(active(X1),X2,X3) -> U41#(X1,X2,X3)
    U41#(active(X1),X2,X3) -> U41#(X1,X2,X3) ->
    U41#(X1,active(X2),X3) -> U41#(X1,X2,X3)
    U41#(active(X1),X2,X3) -> U41#(X1,X2,X3) ->
    U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3)
    U41#(X1,mark(X2),X3) -> U41#(X1,X2,X3) ->
    U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3)
    U41#(X1,mark(X2),X3) -> U41#(X1,X2,X3) ->
    U41#(X1,mark(X2),X3) -> U41#(X1,X2,X3)
    U41#(X1,mark(X2),X3) -> U41#(X1,X2,X3) ->
    U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3)
    U41#(X1,mark(X2),X3) -> U41#(X1,X2,X3) ->
    U41#(active(X1),X2,X3) -> U41#(X1,X2,X3)
    U41#(X1,mark(X2),X3) -> U41#(X1,X2,X3) ->
    U41#(X1,active(X2),X3) -> U41#(X1,X2,X3)
    U41#(X1,mark(X2),X3) -> U41#(X1,X2,X3) ->
    U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3)
    U41#(X1,active(X2),X3) -> U41#(X1,X2,X3) ->
    U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3)
    U41#(X1,active(X2),X3) -> U41#(X1,X2,X3) ->
    U41#(X1,mark(X2),X3) -> U41#(X1,X2,X3)
    U41#(X1,active(X2),X3) -> U41#(X1,X2,X3) ->
    U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3)
    U41#(X1,active(X2),X3) -> U41#(X1,X2,X3) ->
    U41#(active(X1),X2,X3) -> U41#(X1,X2,X3)
    U41#(X1,active(X2),X3) -> U41#(X1,X2,X3) ->
    U41#(X1,active(X2),X3) -> U41#(X1,X2,X3)
    U41#(X1,active(X2),X3) -> U41#(X1,X2,X3) ->
    U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3)
    U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3) ->
    U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3)
    U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3) ->
    U41#(X1,mark(X2),X3) -> U41#(X1,X2,X3)
    U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3) ->
    U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3)
    U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3) ->
    U41#(active(X1),X2,X3) -> U41#(X1,X2,X3)
    U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3) ->
    U41#(X1,active(X2),X3) -> U41#(X1,X2,X3)
    U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3) ->
    U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3)
    U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3) ->
    U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3)
    U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3) ->
    U41#(X1,mark(X2),X3) -> U41#(X1,X2,X3)
    U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3) ->
    U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3)
    U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3) ->
    U41#(active(X1),X2,X3) -> U41#(X1,X2,X3)
    U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3) ->
    U41#(X1,active(X2),X3) -> U41#(X1,X2,X3)
    U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3) ->
    U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3)
    U31#(mark(X1),X2) -> U31#(X1,X2) ->
    U31#(mark(X1),X2) -> U31#(X1,X2)
    U31#(mark(X1),X2) -> U31#(X1,X2) ->
    U31#(X1,mark(X2)) -> U31#(X1,X2)
    U31#(mark(X1),X2) -> U31#(X1,X2) ->
    U31#(active(X1),X2) -> U31#(X1,X2)
    U31#(mark(X1),X2) -> U31#(X1,X2) ->
    U31#(X1,active(X2)) -> U31#(X1,X2)
    U31#(active(X1),X2) -> U31#(X1,X2) ->
    U31#(mark(X1),X2) -> U31#(X1,X2)
    U31#(active(X1),X2) -> U31#(X1,X2) ->
    U31#(X1,mark(X2)) -> U31#(X1,X2)
    U31#(active(X1),X2) -> U31#(X1,X2) ->
    U31#(active(X1),X2) -> U31#(X1,X2)
    U31#(active(X1),X2) -> U31#(X1,X2) ->
    U31#(X1,active(X2)) -> U31#(X1,X2)
    U31#(X1,mark(X2)) -> U31#(X1,X2) ->
    U31#(mark(X1),X2) -> U31#(X1,X2)
    U31#(X1,mark(X2)) -> U31#(X1,X2) ->
    U31#(X1,mark(X2)) -> U31#(X1,X2)
    U31#(X1,mark(X2)) -> U31#(X1,X2) ->
    U31#(active(X1),X2) -> U31#(X1,X2)
    U31#(X1,mark(X2)) -> U31#(X1,X2) ->
    U31#(X1,active(X2)) -> U31#(X1,X2)
    U31#(X1,active(X2)) -> U31#(X1,X2) ->
    U31#(mark(X1),X2) -> U31#(X1,X2)
    U31#(X1,active(X2)) -> U31#(X1,X2) ->
    U31#(X1,mark(X2)) -> U31#(X1,X2)
    U31#(X1,active(X2)) -> U31#(X1,X2) ->
    U31#(active(X1),X2) -> U31#(X1,X2)
    U31#(X1,active(X2)) -> U31#(X1,X2) ->
    U31#(X1,active(X2)) -> U31#(X1,X2)
    U21#(mark(X)) -> U21#(X) -> U21#(mark(X)) -> U21#(X)
    U21#(mark(X)) -> U21#(X) -> U21#(active(X)) -> U21#(X)
    U21#(active(X)) -> U21#(X) -> U21#(mark(X)) -> U21#(X)
    U21#(active(X)) -> U21#(X) -> U21#(active(X)) -> U21#(X)
    U11#(mark(X1),X2) -> U11#(X1,X2) ->
    U11#(mark(X1),X2) -> U11#(X1,X2)
    U11#(mark(X1),X2) -> U11#(X1,X2) ->
    U11#(X1,mark(X2)) -> U11#(X1,X2)
    U11#(mark(X1),X2) -> U11#(X1,X2) ->
    U11#(active(X1),X2) -> U11#(X1,X2)
    U11#(mark(X1),X2) -> U11#(X1,X2) ->
    U11#(X1,active(X2)) -> U11#(X1,X2)
    U11#(active(X1),X2) -> U11#(X1,X2) ->
    U11#(mark(X1),X2) -> U11#(X1,X2)
    U11#(active(X1),X2) -> U11#(X1,X2) ->
    U11#(X1,mark(X2)) -> U11#(X1,X2)
    U11#(active(X1),X2) -> U11#(X1,X2) ->
    U11#(active(X1),X2) -> U11#(X1,X2)
    U11#(active(X1),X2) -> U11#(X1,X2) ->
    U11#(X1,active(X2)) -> U11#(X1,X2)
    U11#(X1,mark(X2)) -> U11#(X1,X2) ->
    U11#(mark(X1),X2) -> U11#(X1,X2)
    U11#(X1,mark(X2)) -> U11#(X1,X2) ->
    U11#(X1,mark(X2)) -> U11#(X1,X2)
    U11#(X1,mark(X2)) -> U11#(X1,X2) ->
    U11#(active(X1),X2) -> U11#(X1,X2)
    U11#(X1,mark(X2)) -> U11#(X1,X2) ->
    U11#(X1,active(X2)) -> U11#(X1,X2)
    U11#(X1,active(X2)) -> U11#(X1,X2) ->
    U11#(mark(X1),X2) -> U11#(X1,X2)
    U11#(X1,active(X2)) -> U11#(X1,X2) ->
    U11#(X1,mark(X2)) -> U11#(X1,X2)
    U11#(X1,active(X2)) -> U11#(X1,X2) ->
    U11#(active(X1),X2) -> U11#(X1,X2)
    U11#(X1,active(X2)) -> U11#(X1,X2) -> U11#(X1,active(X2)) -> U11#(X1,X2)
    s#(mark(X)) -> s#(X) -> s#(mark(X)) -> s#(X)
    s#(mark(X)) -> s#(X) -> s#(active(X)) -> s#(X)
    s#(active(X)) -> s#(X) -> s#(mark(X)) -> s#(X)
    s#(active(X)) -> s#(X) -> s#(active(X)) -> s#(X)
    plus#(mark(X1),X2) -> plus#(X1,X2) ->
    plus#(mark(X1),X2) -> plus#(X1,X2)
    plus#(mark(X1),X2) -> plus#(X1,X2) ->
    plus#(X1,mark(X2)) -> plus#(X1,X2)
    plus#(mark(X1),X2) -> plus#(X1,X2) ->
    plus#(active(X1),X2) -> plus#(X1,X2)
    plus#(mark(X1),X2) -> plus#(X1,X2) ->
    plus#(X1,active(X2)) -> plus#(X1,X2)
    plus#(active(X1),X2) -> plus#(X1,X2) ->
    plus#(mark(X1),X2) -> plus#(X1,X2)
    plus#(active(X1),X2) -> plus#(X1,X2) ->
    plus#(X1,mark(X2)) -> plus#(X1,X2)
    plus#(active(X1),X2) -> plus#(X1,X2) ->
    plus#(active(X1),X2) -> plus#(X1,X2)
    plus#(active(X1),X2) -> plus#(X1,X2) ->
    plus#(X1,active(X2)) -> plus#(X1,X2)
    plus#(X1,mark(X2)) -> plus#(X1,X2) ->
    plus#(mark(X1),X2) -> plus#(X1,X2)
    plus#(X1,mark(X2)) -> plus#(X1,X2) ->
    plus#(X1,mark(X2)) -> plus#(X1,X2)
    plus#(X1,mark(X2)) -> plus#(X1,X2) ->
    plus#(active(X1),X2) -> plus#(X1,X2)
    plus#(X1,mark(X2)) -> plus#(X1,X2) ->
    plus#(X1,active(X2)) -> plus#(X1,X2)
    plus#(X1,active(X2)) -> plus#(X1,X2) ->
    plus#(mark(X1),X2) -> plus#(X1,X2)
    plus#(X1,active(X2)) -> plus#(X1,X2) ->
    plus#(X1,mark(X2)) -> plus#(X1,X2)
    plus#(X1,active(X2)) -> plus#(X1,X2) ->
    plus#(active(X1),X2) -> plus#(X1,X2)
    plus#(X1,active(X2)) -> plus#(X1,X2) ->
    plus#(X1,active(X2)) -> plus#(X1,X2)
    U42#(mark(X1),X2,X3) -> U42#(X1,X2,X3) ->
    U42#(mark(X1),X2,X3) -> U42#(X1,X2,X3)
    U42#(mark(X1),X2,X3) -> U42#(X1,X2,X3) ->
    U42#(X1,mark(X2),X3) -> U42#(X1,X2,X3)
    U42#(mark(X1),X2,X3) -> U42#(X1,X2,X3) ->
    U42#(X1,X2,mark(X3)) -> U42#(X1,X2,X3)
    U42#(mark(X1),X2,X3) -> U42#(X1,X2,X3) ->
    U42#(active(X1),X2,X3) -> U42#(X1,X2,X3)
    U42#(mark(X1),X2,X3) -> U42#(X1,X2,X3) ->
    U42#(X1,active(X2),X3) -> U42#(X1,X2,X3)
    U42#(mark(X1),X2,X3) -> U42#(X1,X2,X3) ->
    U42#(X1,X2,active(X3)) -> U42#(X1,X2,X3)
    U42#(active(X1),X2,X3) -> U42#(X1,X2,X3) ->
    U42#(mark(X1),X2,X3) -> U42#(X1,X2,X3)
    U42#(active(X1),X2,X3) -> U42#(X1,X2,X3) ->
    U42#(X1,mark(X2),X3) -> U42#(X1,X2,X3)
    U42#(active(X1),X2,X3) -> U42#(X1,X2,X3) ->
    U42#(X1,X2,mark(X3)) -> U42#(X1,X2,X3)
    U42#(active(X1),X2,X3) -> U42#(X1,X2,X3) ->
    U42#(active(X1),X2,X3) -> U42#(X1,X2,X3)
    U42#(active(X1),X2,X3) -> U42#(X1,X2,X3) ->
    U42#(X1,active(X2),X3) -> U42#(X1,X2,X3)
    U42#(active(X1),X2,X3) -> U42#(X1,X2,X3) ->
    U42#(X1,X2,active(X3)) -> U42#(X1,X2,X3)
    U42#(X1,mark(X2),X3) -> U42#(X1,X2,X3) ->
    U42#(mark(X1),X2,X3) -> U42#(X1,X2,X3)
    U42#(X1,mark(X2),X3) -> U42#(X1,X2,X3) ->
    U42#(X1,mark(X2),X3) -> U42#(X1,X2,X3)
    U42#(X1,mark(X2),X3) -> U42#(X1,X2,X3) ->
    U42#(X1,X2,mark(X3)) -> U42#(X1,X2,X3)
    U42#(X1,mark(X2),X3) -> U42#(X1,X2,X3) ->
    U42#(active(X1),X2,X3) -> U42#(X1,X2,X3)
    U42#(X1,mark(X2),X3) -> U42#(X1,X2,X3) ->
    U42#(X1,active(X2),X3) -> U42#(X1,X2,X3)
    U42#(X1,mark(X2),X3) -> U42#(X1,X2,X3) ->
    U42#(X1,X2,active(X3)) -> U42#(X1,X2,X3)
    U42#(X1,active(X2),X3) -> U42#(X1,X2,X3) ->
    U42#(mark(X1),X2,X3) -> U42#(X1,X2,X3)
    U42#(X1,active(X2),X3) -> U42#(X1,X2,X3) ->
    U42#(X1,mark(X2),X3) -> U42#(X1,X2,X3)
    U42#(X1,active(X2),X3) -> U42#(X1,X2,X3) ->
    U42#(X1,X2,mark(X3)) -> U42#(X1,X2,X3)
    U42#(X1,active(X2),X3) -> U42#(X1,X2,X3) ->
    U42#(active(X1),X2,X3) -> U42#(X1,X2,X3)
    U42#(X1,active(X2),X3) -> U42#(X1,X2,X3) ->
    U42#(X1,active(X2),X3) -> U42#(X1,X2,X3)
    U42#(X1,active(X2),X3) -> U42#(X1,X2,X3) ->
    U42#(X1,X2,active(X3)) -> U42#(X1,X2,X3)
    U42#(X1,X2,mark(X3)) -> U42#(X1,X2,X3) ->
    U42#(mark(X1),X2,X3) -> U42#(X1,X2,X3)
    U42#(X1,X2,mark(X3)) -> U42#(X1,X2,X3) ->
    U42#(X1,mark(X2),X3) -> U42#(X1,X2,X3)
    U42#(X1,X2,mark(X3)) -> U42#(X1,X2,X3) ->
    U42#(X1,X2,mark(X3)) -> U42#(X1,X2,X3)
    U42#(X1,X2,mark(X3)) -> U42#(X1,X2,X3) ->
    U42#(active(X1),X2,X3) -> U42#(X1,X2,X3)
    U42#(X1,X2,mark(X3)) -> U42#(X1,X2,X3) ->
    U42#(X1,active(X2),X3) -> U42#(X1,X2,X3)
    U42#(X1,X2,mark(X3)) -> U42#(X1,X2,X3) ->
    U42#(X1,X2,active(X3)) -> U42#(X1,X2,X3)
    U42#(X1,X2,active(X3)) -> U42#(X1,X2,X3) ->
    U42#(mark(X1),X2,X3) -> U42#(X1,X2,X3)
    U42#(X1,X2,active(X3)) -> U42#(X1,X2,X3) ->
    U42#(X1,mark(X2),X3) -> U42#(X1,X2,X3)
    U42#(X1,X2,active(X3)) -> U42#(X1,X2,X3) ->
    U42#(X1,X2,mark(X3)) -> U42#(X1,X2,X3)
    U42#(X1,X2,active(X3)) -> U42#(X1,X2,X3) ->
    U42#(active(X1),X2,X3) -> U42#(X1,X2,X3)
    U42#(X1,X2,active(X3)) -> U42#(X1,X2,X3) ->
    U42#(X1,active(X2),X3) -> U42#(X1,X2,X3)
    U42#(X1,X2,active(X3)) -> U42#(X1,X2,X3) ->
    U42#(X1,X2,active(X3)) -> U42#(X1,X2,X3)
    mark#(s(X)) -> s#(mark(X)) -> s#(mark(X)) -> s#(X)
    mark#(s(X)) -> s#(mark(X)) -> s#(active(X)) -> s#(X)
    mark#(s(X)) -> mark#(X) -> mark#(U11(X1,X2)) -> mark#(X1)
    mark#(s(X)) -> mark#(X) -> mark#(U11(X1,X2)) -> U11#(mark(X1),X2)
    mark#(s(X)) -> mark#(X) ->
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
    mark#(s(X)) -> mark#(X) -> mark#(tt()) -> active#(tt())
    mark#(s(X)) -> mark#(X) -> mark#(U12(X)) -> mark#(X)
    mark#(s(X)) -> mark#(X) -> mark#(U12(X)) -> U12#(mark(X))
    mark#(s(X)) -> mark#(X) -> mark#(U12(X)) -> active#(U12(mark(X)))
    mark#(s(X)) -> mark#(X) -> mark#(isNat(X)) -> active#(isNat(X))
    mark#(s(X)) -> mark#(X) -> mark#(U21(X)) -> mark#(X)
    mark#(s(X)) -> mark#(X) -> mark#(U21(X)) -> U21#(mark(X))
    mark#(s(X)) -> mark#(X) -> mark#(U21(X)) -> active#(U21(mark(X)))
    mark#(s(X)) -> mark#(X) -> mark#(U31(X1,X2)) -> mark#(X1)
    mark#(s(X)) -> mark#(X) -> mark#(U31(X1,X2)) -> U31#(mark(X1),X2)
    mark#(s(X)) -> mark#(X) ->
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
    mark#(s(X)) -> mark#(X) -> mark#(U41(X1,X2,X3)) -> mark#(X1)
    mark#(s(X)) -> mark#(X) -> mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3)
    mark#(s(X)) -> mark#(X) ->
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
    mark#(s(X)) -> mark#(X) -> mark#(U42(X1,X2,X3)) -> mark#(X1)
    mark#(s(X)) -> mark#(X) -> mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3)
    mark#(s(X)) -> mark#(X) ->
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
    mark#(s(X)) -> mark#(X) -> mark#(s(X)) -> mark#(X)
    mark#(s(X)) -> mark#(X) -> mark#(s(X)) -> s#(mark(X))
    mark#(s(X)) -> mark#(X) -> mark#(s(X)) -> active#(s(mark(X)))
    mark#(s(X)) -> mark#(X) -> mark#(plus(X1,X2)) -> mark#(X2)
    mark#(s(X)) -> mark#(X) -> mark#(plus(X1,X2)) -> mark#(X1)
    mark#(s(X)) -> mark#(X) ->
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2))
    mark#(s(X)) -> mark#(X) ->
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
    mark#(s(X)) -> mark#(X) -> mark#(0()) -> active#(0())
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(U11(tt(),V2)) -> isNat#(V2)
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(U11(tt(),V2)) -> U12#(isNat(V2))
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2)))
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(U12(tt())) -> mark#(tt())
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(U21(tt())) -> mark#(tt())
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(U31(tt(),N)) -> mark#(N)
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(U41(tt(),M,N)) -> isNat#(N)
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(U41(tt(),M,N)) -> U42#(isNat(N),M,N)
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N))
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(U42(tt(),M,N)) -> plus#(N,M)
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(U42(tt(),M,N)) -> s#(plus(N,M))
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M)))
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(isNat(0())) -> mark#(tt())
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(isNat(plus(V1,V2))) -> isNat#(V1)
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(isNat(plus(V1,V2))) -> U11#(isNat(V1),V2)
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2))
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(isNat(s(V1))) -> isNat#(V1)
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(isNat(s(V1))) -> U21#(isNat(V1))
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(plus(N,0())) -> isNat#(N)
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(plus(N,0())) -> U31#(isNat(N),N)
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(plus(N,0())) -> mark#(U31(isNat(N),N))
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(plus(N,s(M))) -> isNat#(M)
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(plus(N,s(M))) -> U41#(isNat(M),M,N)
    mark#(s(X)) -> active#(s(mark(X))) ->
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N))
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2)) ->
    plus#(mark(X1),X2) -> plus#(X1,X2)
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2)) ->
    plus#(X1,mark(X2)) -> plus#(X1,X2)
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2)) ->
    plus#(active(X1),X2) -> plus#(X1,X2)
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2)) ->
    plus#(X1,active(X2)) -> plus#(X1,X2)
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(U11(X1,X2)) -> mark#(X1)
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(U11(X1,X2)) -> U11#(mark(X1),X2)
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
    mark#(plus(X1,X2)) -> mark#(X2) -> mark#(tt()) -> active#(tt())
    mark#(plus(X1,X2)) -> mark#(X2) -> mark#(U12(X)) -> mark#(X)
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(U12(X)) -> U12#(mark(X))
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(U12(X)) -> active#(U12(mark(X)))
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(isNat(X)) -> active#(isNat(X))
    mark#(plus(X1,X2)) -> mark#(X2) -> mark#(U21(X)) -> mark#(X)
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(U21(X)) -> U21#(mark(X))
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(U21(X)) -> active#(U21(mark(X)))
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(U31(X1,X2)) -> mark#(X1)
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(U31(X1,X2)) -> U31#(mark(X1),X2)
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(U41(X1,X2,X3)) -> mark#(X1)
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3)
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(U42(X1,X2,X3)) -> mark#(X1)
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3)
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
    mark#(plus(X1,X2)) -> mark#(X2) -> mark#(s(X)) -> mark#(X)
    mark#(plus(X1,X2)) -> mark#(X2) -> mark#(s(X)) -> s#(mark(X))
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(s(X)) -> active#(s(mark(X)))
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(plus(X1,X2)) -> mark#(X2)
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(plus(X1,X2)) -> mark#(X1)
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2))
    mark#(plus(X1,X2)) -> mark#(X2) ->
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
    mark#(plus(X1,X2)) -> mark#(X2) -> mark#(0()) -> active#(0())
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> mark#(X1)
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> U11#(mark(X1),X2)
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
    mark#(plus(X1,X2)) -> mark#(X1) -> mark#(tt()) -> active#(tt())
    mark#(plus(X1,X2)) -> mark#(X1) -> mark#(U12(X)) -> mark#(X)
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(U12(X)) -> U12#(mark(X))
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(U12(X)) -> active#(U12(mark(X)))
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(isNat(X)) -> active#(isNat(X))
    mark#(plus(X1,X2)) -> mark#(X1) -> mark#(U21(X)) -> mark#(X)
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(U21(X)) -> U21#(mark(X))
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(U21(X)) -> active#(U21(mark(X)))
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(U31(X1,X2)) -> mark#(X1)
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(U31(X1,X2)) -> U31#(mark(X1),X2)
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(U41(X1,X2,X3)) -> mark#(X1)
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3)
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(U42(X1,X2,X3)) -> mark#(X1)
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3)
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
    mark#(plus(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> mark#(X)
    mark#(plus(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> s#(mark(X))
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(s(X)) -> active#(s(mark(X)))
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(plus(X1,X2)) -> mark#(X2)
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(plus(X1,X2)) -> mark#(X1)
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2))
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
    mark#(plus(X1,X2)) -> mark#(X1) ->
    mark#(0()) -> active#(0())
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(U11(tt(),V2)) -> isNat#(V2)
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(U11(tt(),V2)) -> U12#(isNat(V2))
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2)))
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(U12(tt())) -> mark#(tt())
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(U21(tt())) -> mark#(tt())
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(U31(tt(),N)) -> mark#(N)
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(U41(tt(),M,N)) -> isNat#(N)
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(U41(tt(),M,N)) -> U42#(isNat(N),M,N)
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N))
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(U42(tt(),M,N)) -> plus#(N,M)
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(U42(tt(),M,N)) -> s#(plus(N,M))
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M)))
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(isNat(0())) -> mark#(tt())
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(isNat(plus(V1,V2))) -> isNat#(V1)
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(isNat(plus(V1,V2))) -> U11#(isNat(V1),V2)
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2))
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(isNat(s(V1))) -> isNat#(V1)
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(isNat(s(V1))) -> U21#(isNat(V1))
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(plus(N,0())) -> isNat#(N)
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(plus(N,0())) -> U31#(isNat(N),N)
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(plus(N,0())) -> mark#(U31(isNat(N),N))
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(plus(N,s(M))) -> isNat#(M)
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(plus(N,s(M))) -> U41#(isNat(M),M,N)
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2))) ->
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N))
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3) ->
    U42#(mark(X1),X2,X3) -> U42#(X1,X2,X3)
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3) ->
    U42#(X1,mark(X2),X3) -> U42#(X1,X2,X3)
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3) ->
    U42#(X1,X2,mark(X3)) -> U42#(X1,X2,X3)
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3) ->
    U42#(active(X1),X2,X3) -> U42#(X1,X2,X3)
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3) ->
    U42#(X1,active(X2),X3) -> U42#(X1,X2,X3)
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3) ->
    U42#(X1,X2,active(X3)) -> U42#(X1,X2,X3)
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> mark#(X1)
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> U11#(mark(X1),X2)
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(tt()) -> active#(tt())
    mark#(U42(X1,X2,X3)) -> mark#(X1) -> mark#(U12(X)) -> mark#(X)
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(U12(X)) -> U12#(mark(X))
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(U12(X)) -> active#(U12(mark(X)))
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(isNat(X)) -> active#(isNat(X))
    mark#(U42(X1,X2,X3)) -> mark#(X1) -> mark#(U21(X)) -> mark#(X)
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(U21(X)) -> U21#(mark(X))
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(U21(X)) -> active#(U21(mark(X)))
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(U31(X1,X2)) -> mark#(X1)
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(U31(X1,X2)) -> U31#(mark(X1),X2)
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(U41(X1,X2,X3)) -> mark#(X1)
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3)
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(U42(X1,X2,X3)) -> mark#(X1)
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3)
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
    mark#(U42(X1,X2,X3)) -> mark#(X1) -> mark#(s(X)) -> mark#(X)
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(s(X)) -> s#(mark(X))
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(s(X)) -> active#(s(mark(X)))
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(plus(X1,X2)) -> mark#(X2)
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(plus(X1,X2)) -> mark#(X1)
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2))
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
    mark#(U42(X1,X2,X3)) -> mark#(X1) ->
    mark#(0()) -> active#(0())
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(U11(tt(),V2)) -> isNat#(V2)
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(U11(tt(),V2)) -> U12#(isNat(V2))
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2)))
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(U12(tt())) -> mark#(tt())
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(U21(tt())) -> mark#(tt())
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(U31(tt(),N)) -> mark#(N)
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(U41(tt(),M,N)) -> isNat#(N)
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(U41(tt(),M,N)) -> U42#(isNat(N),M,N)
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N))
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(U42(tt(),M,N)) -> plus#(N,M)
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(U42(tt(),M,N)) -> s#(plus(N,M))
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M)))
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(isNat(0())) -> mark#(tt())
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(isNat(plus(V1,V2))) -> isNat#(V1)
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(isNat(plus(V1,V2))) -> U11#(isNat(V1),V2)
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2))
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(isNat(s(V1))) -> isNat#(V1)
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(isNat(s(V1))) -> U21#(isNat(V1))
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(plus(N,0())) -> isNat#(N)
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(plus(N,0())) -> U31#(isNat(N),N)
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(plus(N,0())) -> mark#(U31(isNat(N),N))
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(plus(N,s(M))) -> isNat#(M)
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(plus(N,s(M))) -> U41#(isNat(M),M,N)
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3)) ->
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N))
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3) ->
    U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3)
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3) ->
    U41#(X1,mark(X2),X3) -> U41#(X1,X2,X3)
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3) ->
    U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3)
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3) ->
    U41#(active(X1),X2,X3) -> U41#(X1,X2,X3)
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3) ->
    U41#(X1,active(X2),X3) -> U41#(X1,X2,X3)
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3) ->
    U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3)
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> mark#(X1)
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> U11#(mark(X1),X2)
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(tt()) -> active#(tt())
    mark#(U41(X1,X2,X3)) -> mark#(X1) -> mark#(U12(X)) -> mark#(X)
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(U12(X)) -> U12#(mark(X))
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(U12(X)) -> active#(U12(mark(X)))
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(isNat(X)) -> active#(isNat(X))
    mark#(U41(X1,X2,X3)) -> mark#(X1) -> mark#(U21(X)) -> mark#(X)
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(U21(X)) -> U21#(mark(X))
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(U21(X)) -> active#(U21(mark(X)))
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(U31(X1,X2)) -> mark#(X1)
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(U31(X1,X2)) -> U31#(mark(X1),X2)
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(U41(X1,X2,X3)) -> mark#(X1)
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3)
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(U42(X1,X2,X3)) -> mark#(X1)
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3)
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
    mark#(U41(X1,X2,X3)) -> mark#(X1) -> mark#(s(X)) -> mark#(X)
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(s(X)) -> s#(mark(X))
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(s(X)) -> active#(s(mark(X)))
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(plus(X1,X2)) -> mark#(X2)
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(plus(X1,X2)) -> mark#(X1)
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2))
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
    mark#(U41(X1,X2,X3)) -> mark#(X1) ->
    mark#(0()) -> active#(0())
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(U11(tt(),V2)) -> isNat#(V2)
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(U11(tt(),V2)) -> U12#(isNat(V2))
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2)))
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(U12(tt())) -> mark#(tt())
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(U21(tt())) -> mark#(tt())
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(U31(tt(),N)) -> mark#(N)
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(U41(tt(),M,N)) -> isNat#(N)
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(U41(tt(),M,N)) -> U42#(isNat(N),M,N)
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N))
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(U42(tt(),M,N)) -> plus#(N,M)
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(U42(tt(),M,N)) -> s#(plus(N,M))
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M)))
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(isNat(0())) -> mark#(tt())
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(isNat(plus(V1,V2))) -> isNat#(V1)
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(isNat(plus(V1,V2))) -> U11#(isNat(V1),V2)
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2))
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(isNat(s(V1))) -> isNat#(V1)
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(isNat(s(V1))) -> U21#(isNat(V1))
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(plus(N,0())) -> isNat#(N)
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(plus(N,0())) -> U31#(isNat(N),N)
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(plus(N,0())) -> mark#(U31(isNat(N),N))
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(plus(N,s(M))) -> isNat#(M)
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(plus(N,s(M))) -> U41#(isNat(M),M,N)
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3)) ->
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N))
    mark#(U31(X1,X2)) -> U31#(mark(X1),X2) ->
    U31#(mark(X1),X2) -> U31#(X1,X2)
    mark#(U31(X1,X2)) -> U31#(mark(X1),X2) ->
    U31#(X1,mark(X2)) -> U31#(X1,X2)
    mark#(U31(X1,X2)) -> U31#(mark(X1),X2) ->
    U31#(active(X1),X2) -> U31#(X1,X2)
    mark#(U31(X1,X2)) -> U31#(mark(X1),X2) ->
    U31#(X1,active(X2)) -> U31#(X1,X2)
    mark#(U31(X1,X2)) -> mark#(X1) -> mark#(U11(X1,X2)) -> mark#(X1)
    mark#(U31(X1,X2)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> U11#(mark(X1),X2)
    mark#(U31(X1,X2)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
    mark#(U31(X1,X2)) -> mark#(X1) -> mark#(tt()) -> active#(tt())
    mark#(U31(X1,X2)) -> mark#(X1) -> mark#(U12(X)) -> mark#(X)
    mark#(U31(X1,X2)) -> mark#(X1) -> mark#(U12(X)) -> U12#(mark(X))
    mark#(U31(X1,X2)) -> mark#(X1) ->
    mark#(U12(X)) -> active#(U12(mark(X)))
    mark#(U31(X1,X2)) -> mark#(X1) ->
    mark#(isNat(X)) -> active#(isNat(X))
    mark#(U31(X1,X2)) -> mark#(X1) -> mark#(U21(X)) -> mark#(X)
    mark#(U31(X1,X2)) -> mark#(X1) -> mark#(U21(X)) -> U21#(mark(X))
    mark#(U31(X1,X2)) -> mark#(X1) ->
    mark#(U21(X)) -> active#(U21(mark(X)))
    mark#(U31(X1,X2)) -> mark#(X1) -> mark#(U31(X1,X2)) -> mark#(X1)
    mark#(U31(X1,X2)) -> mark#(X1) ->
    mark#(U31(X1,X2)) -> U31#(mark(X1),X2)
    mark#(U31(X1,X2)) -> mark#(X1) ->
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
    mark#(U31(X1,X2)) -> mark#(X1) ->
    mark#(U41(X1,X2,X3)) -> mark#(X1)
    mark#(U31(X1,X2)) -> mark#(X1) ->
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3)
    mark#(U31(X1,X2)) -> mark#(X1) ->
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
    mark#(U31(X1,X2)) -> mark#(X1) ->
    mark#(U42(X1,X2,X3)) -> mark#(X1)
    mark#(U31(X1,X2)) -> mark#(X1) ->
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3)
    mark#(U31(X1,X2)) -> mark#(X1) ->
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
    mark#(U31(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> mark#(X)
    mark#(U31(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> s#(mark(X))
    mark#(U31(X1,X2)) -> mark#(X1) ->
    mark#(s(X)) -> active#(s(mark(X)))
    mark#(U31(X1,X2)) -> mark#(X1) -> mark#(plus(X1,X2)) -> mark#(X2)
    mark#(U31(X1,X2)) -> mark#(X1) -> mark#(plus(X1,X2)) -> mark#(X1)
    mark#(U31(X1,X2)) -> mark#(X1) ->
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2))
    mark#(U31(X1,X2)) -> mark#(X1) ->
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
    mark#(U31(X1,X2)) -> mark#(X1) ->
    mark#(0()) -> active#(0())
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(U11(tt(),V2)) -> isNat#(V2)
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(U11(tt(),V2)) -> U12#(isNat(V2))
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2)))
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(U12(tt())) -> mark#(tt())
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(U21(tt())) -> mark#(tt())
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(U31(tt(),N)) -> mark#(N)
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(U41(tt(),M,N)) -> isNat#(N)
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(U41(tt(),M,N)) -> U42#(isNat(N),M,N)
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N))
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(U42(tt(),M,N)) -> plus#(N,M)
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(U42(tt(),M,N)) -> s#(plus(N,M))
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M)))
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(isNat(0())) -> mark#(tt())
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(isNat(plus(V1,V2))) -> isNat#(V1)
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(isNat(plus(V1,V2))) -> U11#(isNat(V1),V2)
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2))
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(isNat(s(V1))) -> isNat#(V1)
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(isNat(s(V1))) -> U21#(isNat(V1))
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(plus(N,0())) -> isNat#(N)
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(plus(N,0())) -> U31#(isNat(N),N)
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(plus(N,0())) -> mark#(U31(isNat(N),N))
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(plus(N,s(M))) -> isNat#(M)
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(plus(N,s(M))) -> U41#(isNat(M),M,N)
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2)) ->
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N))
    mark#(U21(X)) -> U21#(mark(X)) -> U21#(mark(X)) -> U21#(X)
    mark#(U21(X)) -> U21#(mark(X)) -> U21#(active(X)) -> U21#(X)
    mark#(U21(X)) -> mark#(X) -> mark#(U11(X1,X2)) -> mark#(X1)
    mark#(U21(X)) -> mark#(X) -> mark#(U11(X1,X2)) -> U11#(mark(X1),X2)
    mark#(U21(X)) -> mark#(X) ->
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
    mark#(U21(X)) -> mark#(X) -> mark#(tt()) -> active#(tt())
    mark#(U21(X)) -> mark#(X) -> mark#(U12(X)) -> mark#(X)
    mark#(U21(X)) -> mark#(X) -> mark#(U12(X)) -> U12#(mark(X))
    mark#(U21(X)) -> mark#(X) -> mark#(U12(X)) -> active#(U12(mark(X)))
    mark#(U21(X)) -> mark#(X) -> mark#(isNat(X)) -> active#(isNat(X))
    mark#(U21(X)) -> mark#(X) -> mark#(U21(X)) -> mark#(X)
    mark#(U21(X)) -> mark#(X) -> mark#(U21(X)) -> U21#(mark(X))
    mark#(U21(X)) -> mark#(X) -> mark#(U21(X)) -> active#(U21(mark(X)))
    mark#(U21(X)) -> mark#(X) -> mark#(U31(X1,X2)) -> mark#(X1)
    mark#(U21(X)) -> mark#(X) -> mark#(U31(X1,X2)) -> U31#(mark(X1),X2)
    mark#(U21(X)) -> mark#(X) ->
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
    mark#(U21(X)) -> mark#(X) -> mark#(U41(X1,X2,X3)) -> mark#(X1)
    mark#(U21(X)) -> mark#(X) ->
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3)
    mark#(U21(X)) -> mark#(X) ->
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
    mark#(U21(X)) -> mark#(X) -> mark#(U42(X1,X2,X3)) -> mark#(X1)
    mark#(U21(X)) -> mark#(X) ->
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3)
    mark#(U21(X)) -> mark#(X) ->
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
    mark#(U21(X)) -> mark#(X) -> mark#(s(X)) -> mark#(X)
    mark#(U21(X)) -> mark#(X) -> mark#(s(X)) -> s#(mark(X))
    mark#(U21(X)) -> mark#(X) -> mark#(s(X)) -> active#(s(mark(X)))
    mark#(U21(X)) -> mark#(X) -> mark#(plus(X1,X2)) -> mark#(X2)
    mark#(U21(X)) -> mark#(X) -> mark#(plus(X1,X2)) -> mark#(X1)
    mark#(U21(X)) -> mark#(X) ->
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2))
    mark#(U21(X)) -> mark#(X) ->
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
    mark#(U21(X)) -> mark#(X) -> mark#(0()) -> active#(0())
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(U11(tt(),V2)) -> isNat#(V2)
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(U11(tt(),V2)) -> U12#(isNat(V2))
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2)))
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(U12(tt())) -> mark#(tt())
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(U21(tt())) -> mark#(tt())
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(U31(tt(),N)) -> mark#(N)
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(U41(tt(),M,N)) -> isNat#(N)
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(U41(tt(),M,N)) -> U42#(isNat(N),M,N)
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N))
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(U42(tt(),M,N)) -> plus#(N,M)
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(U42(tt(),M,N)) -> s#(plus(N,M))
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M)))
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(isNat(0())) -> mark#(tt())
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(isNat(plus(V1,V2))) -> isNat#(V1)
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(isNat(plus(V1,V2))) -> U11#(isNat(V1),V2)
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2))
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(isNat(s(V1))) -> isNat#(V1)
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(isNat(s(V1))) -> U21#(isNat(V1))
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(plus(N,0())) -> isNat#(N)
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(plus(N,0())) -> U31#(isNat(N),N)
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(plus(N,0())) -> mark#(U31(isNat(N),N))
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(plus(N,s(M))) -> isNat#(M)
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(plus(N,s(M))) -> U41#(isNat(M),M,N)
    mark#(U21(X)) -> active#(U21(mark(X))) ->
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N))
    mark#(U12(X)) -> mark#(X) -> mark#(U11(X1,X2)) -> mark#(X1)
    mark#(U12(X)) -> mark#(X) -> mark#(U11(X1,X2)) -> U11#(mark(X1),X2)
    mark#(U12(X)) -> mark#(X) ->
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
    mark#(U12(X)) -> mark#(X) -> mark#(tt()) -> active#(tt())
    mark#(U12(X)) -> mark#(X) -> mark#(U12(X)) -> mark#(X)
    mark#(U12(X)) -> mark#(X) -> mark#(U12(X)) -> U12#(mark(X))
    mark#(U12(X)) -> mark#(X) -> mark#(U12(X)) -> active#(U12(mark(X)))
    mark#(U12(X)) -> mark#(X) -> mark#(isNat(X)) -> active#(isNat(X))
    mark#(U12(X)) -> mark#(X) -> mark#(U21(X)) -> mark#(X)
    mark#(U12(X)) -> mark#(X) -> mark#(U21(X)) -> U21#(mark(X))
    mark#(U12(X)) -> mark#(X) -> mark#(U21(X)) -> active#(U21(mark(X)))
    mark#(U12(X)) -> mark#(X) -> mark#(U31(X1,X2)) -> mark#(X1)
    mark#(U12(X)) -> mark#(X) -> mark#(U31(X1,X2)) -> U31#(mark(X1),X2)
    mark#(U12(X)) -> mark#(X) ->
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
    mark#(U12(X)) -> mark#(X) -> mark#(U41(X1,X2,X3)) -> mark#(X1)
    mark#(U12(X)) -> mark#(X) ->
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3)
    mark#(U12(X)) -> mark#(X) ->
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
    mark#(U12(X)) -> mark#(X) -> mark#(U42(X1,X2,X3)) -> mark#(X1)
    mark#(U12(X)) -> mark#(X) ->
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3)
    mark#(U12(X)) -> mark#(X) ->
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
    mark#(U12(X)) -> mark#(X) -> mark#(s(X)) -> mark#(X)
    mark#(U12(X)) -> mark#(X) -> mark#(s(X)) -> s#(mark(X))
    mark#(U12(X)) -> mark#(X) -> mark#(s(X)) -> active#(s(mark(X)))
    mark#(U12(X)) -> mark#(X) -> mark#(plus(X1,X2)) -> mark#(X2)
    mark#(U12(X)) -> mark#(X) -> mark#(plus(X1,X2)) -> mark#(X1)
    mark#(U12(X)) -> mark#(X) ->
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2))
    mark#(U12(X)) -> mark#(X) ->
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
    mark#(U12(X)) -> mark#(X) -> mark#(0()) -> active#(0())
    mark#(U12(X)) -> U12#(mark(X)) -> U12#(mark(X)) -> U12#(X)
    mark#(U12(X)) -> U12#(mark(X)) ->
    U12#(active(X)) -> U12#(X)
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(U11(tt(),V2)) -> isNat#(V2)
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(U11(tt(),V2)) -> U12#(isNat(V2))
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2)))
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(U12(tt())) -> mark#(tt())
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(U21(tt())) -> mark#(tt())
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(U31(tt(),N)) -> mark#(N)
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(U41(tt(),M,N)) -> isNat#(N)
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(U41(tt(),M,N)) -> U42#(isNat(N),M,N)
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N))
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(U42(tt(),M,N)) -> plus#(N,M)
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(U42(tt(),M,N)) -> s#(plus(N,M))
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M)))
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(isNat(0())) -> mark#(tt())
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(isNat(plus(V1,V2))) -> isNat#(V1)
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(isNat(plus(V1,V2))) -> U11#(isNat(V1),V2)
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2))
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(isNat(s(V1))) -> isNat#(V1)
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(isNat(s(V1))) -> U21#(isNat(V1))
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(plus(N,0())) -> isNat#(N)
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(plus(N,0())) -> U31#(isNat(N),N)
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(plus(N,0())) -> mark#(U31(isNat(N),N))
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(plus(N,s(M))) -> isNat#(M)
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(plus(N,s(M))) -> U41#(isNat(M),M,N)
    mark#(U12(X)) -> active#(U12(mark(X))) ->
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N))
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(U11(tt(),V2)) -> isNat#(V2)
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(U11(tt(),V2)) -> U12#(isNat(V2))
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2)))
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(U12(tt())) -> mark#(tt())
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(U21(tt())) -> mark#(tt())
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(U31(tt(),N)) -> mark#(N)
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(U41(tt(),M,N)) -> isNat#(N)
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(U41(tt(),M,N)) -> U42#(isNat(N),M,N)
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N))
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(U42(tt(),M,N)) -> plus#(N,M)
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(U42(tt(),M,N)) -> s#(plus(N,M))
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M)))
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(isNat(0())) -> mark#(tt())
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(isNat(plus(V1,V2))) -> isNat#(V1)
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(isNat(plus(V1,V2))) -> U11#(isNat(V1),V2)
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2))
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(isNat(s(V1))) -> isNat#(V1)
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(isNat(s(V1))) -> U21#(isNat(V1))
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(plus(N,0())) -> isNat#(N)
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(plus(N,0())) -> U31#(isNat(N),N)
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(plus(N,0())) -> mark#(U31(isNat(N),N))
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(plus(N,s(M))) -> isNat#(M)
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(plus(N,s(M))) -> U41#(isNat(M),M,N)
    mark#(isNat(X)) -> active#(isNat(X)) ->
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N))
    mark#(U11(X1,X2)) -> U11#(mark(X1),X2) ->
    U11#(mark(X1),X2) -> U11#(X1,X2)
    mark#(U11(X1,X2)) -> U11#(mark(X1),X2) ->
    U11#(X1,mark(X2)) -> U11#(X1,X2)
    mark#(U11(X1,X2)) -> U11#(mark(X1),X2) ->
    U11#(active(X1),X2) -> U11#(X1,X2)
    mark#(U11(X1,X2)) -> U11#(mark(X1),X2) ->
    U11#(X1,active(X2)) -> U11#(X1,X2)
    mark#(U11(X1,X2)) -> mark#(X1) -> mark#(U11(X1,X2)) -> mark#(X1)
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> U11#(mark(X1),X2)
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
    mark#(U11(X1,X2)) -> mark#(X1) -> mark#(tt()) -> active#(tt())
    mark#(U11(X1,X2)) -> mark#(X1) -> mark#(U12(X)) -> mark#(X)
    mark#(U11(X1,X2)) -> mark#(X1) -> mark#(U12(X)) -> U12#(mark(X))
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(U12(X)) -> active#(U12(mark(X)))
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(isNat(X)) -> active#(isNat(X))
    mark#(U11(X1,X2)) -> mark#(X1) -> mark#(U21(X)) -> mark#(X)
    mark#(U11(X1,X2)) -> mark#(X1) -> mark#(U21(X)) -> U21#(mark(X))
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(U21(X)) -> active#(U21(mark(X)))
    mark#(U11(X1,X2)) -> mark#(X1) -> mark#(U31(X1,X2)) -> mark#(X1)
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(U31(X1,X2)) -> U31#(mark(X1),X2)
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(U41(X1,X2,X3)) -> mark#(X1)
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3)
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(U42(X1,X2,X3)) -> mark#(X1)
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3)
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
    mark#(U11(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> mark#(X)
    mark#(U11(X1,X2)) -> mark#(X1) -> mark#(s(X)) -> s#(mark(X))
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(s(X)) -> active#(s(mark(X)))
    mark#(U11(X1,X2)) -> mark#(X1) -> mark#(plus(X1,X2)) -> mark#(X2)
    mark#(U11(X1,X2)) -> mark#(X1) -> mark#(plus(X1,X2)) -> mark#(X1)
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2))
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
    mark#(U11(X1,X2)) -> mark#(X1) ->
    mark#(0()) -> active#(0())
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(U11(tt(),V2)) -> isNat#(V2)
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(U11(tt(),V2)) -> U12#(isNat(V2))
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2)))
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(U12(tt())) -> mark#(tt())
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(U21(tt())) -> mark#(tt())
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(U31(tt(),N)) -> mark#(N)
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(U41(tt(),M,N)) -> isNat#(N)
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(U41(tt(),M,N)) -> U42#(isNat(N),M,N)
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N))
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(U42(tt(),M,N)) -> plus#(N,M)
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(U42(tt(),M,N)) -> s#(plus(N,M))
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M)))
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(isNat(0())) -> mark#(tt())
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(isNat(plus(V1,V2))) -> isNat#(V1)
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(isNat(plus(V1,V2))) -> U11#(isNat(V1),V2)
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2))
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(isNat(s(V1))) -> isNat#(V1)
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(isNat(s(V1))) -> U21#(isNat(V1))
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(plus(N,0())) -> isNat#(N)
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(plus(N,0())) -> U31#(isNat(N),N)
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(plus(N,0())) -> mark#(U31(isNat(N),N))
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(plus(N,s(M))) -> isNat#(M)
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(plus(N,s(M))) -> U41#(isNat(M),M,N)
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2)) ->
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N))
    U12#(mark(X)) -> U12#(X) -> U12#(mark(X)) -> U12#(X)
    U12#(mark(X)) -> U12#(X) -> U12#(active(X)) -> U12#(X)
    U12#(active(X)) -> U12#(X) -> U12#(mark(X)) -> U12#(X)
    U12#(active(X)) -> U12#(X) -> U12#(active(X)) -> U12#(X)
    isNat#(mark(X)) -> isNat#(X) -> isNat#(mark(X)) -> isNat#(X)
    isNat#(mark(X)) -> isNat#(X) -> isNat#(active(X)) -> isNat#(X)
    isNat#(active(X)) -> isNat#(X) -> isNat#(mark(X)) -> isNat#(X)
    isNat#(active(X)) -> isNat#(X) ->
    isNat#(active(X)) -> isNat#(X)
    active#(plus(N,0())) -> U31#(isNat(N),N) ->
    U31#(mark(X1),X2) -> U31#(X1,X2)
    active#(plus(N,0())) -> U31#(isNat(N),N) ->
    U31#(X1,mark(X2)) -> U31#(X1,X2)
    active#(plus(N,0())) -> U31#(isNat(N),N) ->
    U31#(active(X1),X2) -> U31#(X1,X2)
    active#(plus(N,0())) -> U31#(isNat(N),N) ->
    U31#(X1,active(X2)) -> U31#(X1,X2)
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(U11(X1,X2)) -> mark#(X1)
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(U11(X1,X2)) -> U11#(mark(X1),X2)
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(U12(X)) -> mark#(X)
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(U12(X)) -> U12#(mark(X))
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(U12(X)) -> active#(U12(mark(X)))
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(isNat(X)) -> active#(isNat(X))
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(U21(X)) -> mark#(X)
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(U21(X)) -> U21#(mark(X))
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(U21(X)) -> active#(U21(mark(X)))
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(U31(X1,X2)) -> mark#(X1)
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(U31(X1,X2)) -> U31#(mark(X1),X2)
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(U41(X1,X2,X3)) -> mark#(X1)
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3)
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(U42(X1,X2,X3)) -> mark#(X1)
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3)
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(s(X)) -> mark#(X)
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(s(X)) -> s#(mark(X))
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(s(X)) -> active#(s(mark(X)))
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(plus(X1,X2)) -> mark#(X2)
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(plus(X1,X2)) -> mark#(X1)
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2))
    active#(plus(N,0())) -> mark#(U31(isNat(N),N)) ->
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
    active#(plus(N,0())) -> isNat#(N) ->
    isNat#(mark(X)) -> isNat#(X)
    active#(plus(N,0())) -> isNat#(N) ->
    isNat#(active(X)) -> isNat#(X)
    active#(plus(N,s(M))) -> U41#(isNat(M),M,N) ->
    U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3)
    active#(plus(N,s(M))) -> U41#(isNat(M),M,N) ->
    U41#(X1,mark(X2),X3) -> U41#(X1,X2,X3)
    active#(plus(N,s(M))) -> U41#(isNat(M),M,N) ->
    U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3)
    active#(plus(N,s(M))) -> U41#(isNat(M),M,N) ->
    U41#(active(X1),X2,X3) -> U41#(X1,X2,X3)
    active#(plus(N,s(M))) -> U41#(isNat(M),M,N) ->
    U41#(X1,active(X2),X3) -> U41#(X1,X2,X3)
    active#(plus(N,s(M))) -> U41#(isNat(M),M,N) ->
    U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3)
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(U11(X1,X2)) -> mark#(X1)
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(U11(X1,X2)) -> U11#(mark(X1),X2)
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(U12(X)) -> mark#(X)
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(U12(X)) -> U12#(mark(X))
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(U12(X)) -> active#(U12(mark(X)))
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(isNat(X)) -> active#(isNat(X))
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(U21(X)) -> mark#(X)
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(U21(X)) -> U21#(mark(X))
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(U21(X)) -> active#(U21(mark(X)))
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(U31(X1,X2)) -> mark#(X1)
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(U31(X1,X2)) -> U31#(mark(X1),X2)
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(U41(X1,X2,X3)) -> mark#(X1)
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3)
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(U42(X1,X2,X3)) -> mark#(X1)
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3)
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(s(X)) -> mark#(X)
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(s(X)) -> s#(mark(X))
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(s(X)) -> active#(s(mark(X)))
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(plus(X1,X2)) -> mark#(X2)
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(plus(X1,X2)) -> mark#(X1)
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2))
    active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N)) ->
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
    active#(plus(N,s(M))) -> isNat#(M) ->
    isNat#(mark(X)) -> isNat#(X)
    active#(plus(N,s(M))) -> isNat#(M) ->
    isNat#(active(X)) -> isNat#(X)
    active#(U42(tt(),M,N)) -> s#(plus(N,M)) ->
    s#(mark(X)) -> s#(X)
    active#(U42(tt(),M,N)) -> s#(plus(N,M)) ->
    s#(active(X)) -> s#(X)
    active#(U42(tt(),M,N)) -> plus#(N,M) ->
    plus#(mark(X1),X2) -> plus#(X1,X2)
    active#(U42(tt(),M,N)) -> plus#(N,M) ->
    plus#(X1,mark(X2)) -> plus#(X1,X2)
    active#(U42(tt(),M,N)) -> plus#(N,M) ->
    plus#(active(X1),X2) -> plus#(X1,X2)
    active#(U42(tt(),M,N)) -> plus#(N,M) ->
    plus#(X1,active(X2)) -> plus#(X1,X2)
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(U11(X1,X2)) -> mark#(X1)
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(U11(X1,X2)) -> U11#(mark(X1),X2)
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(U12(X)) -> mark#(X)
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(U12(X)) -> U12#(mark(X))
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(U12(X)) -> active#(U12(mark(X)))
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(isNat(X)) -> active#(isNat(X))
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(U21(X)) -> mark#(X)
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(U21(X)) -> U21#(mark(X))
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(U21(X)) -> active#(U21(mark(X)))
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(U31(X1,X2)) -> mark#(X1)
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(U31(X1,X2)) -> U31#(mark(X1),X2)
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(U41(X1,X2,X3)) -> mark#(X1)
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3)
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(U42(X1,X2,X3)) -> mark#(X1)
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3)
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(s(X)) -> mark#(X)
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(s(X)) -> s#(mark(X))
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(s(X)) -> active#(s(mark(X)))
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(plus(X1,X2)) -> mark#(X2)
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(plus(X1,X2)) -> mark#(X1)
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2))
    active#(U42(tt(),M,N)) -> mark#(s(plus(N,M))) ->
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
    active#(U41(tt(),M,N)) -> U42#(isNat(N),M,N) ->
    U42#(mark(X1),X2,X3) -> U42#(X1,X2,X3)
    active#(U41(tt(),M,N)) -> U42#(isNat(N),M,N) ->
    U42#(X1,mark(X2),X3) -> U42#(X1,X2,X3)
    active#(U41(tt(),M,N)) -> U42#(isNat(N),M,N) ->
    U42#(X1,X2,mark(X3)) -> U42#(X1,X2,X3)
    active#(U41(tt(),M,N)) -> U42#(isNat(N),M,N) ->
    U42#(active(X1),X2,X3) -> U42#(X1,X2,X3)
    active#(U41(tt(),M,N)) -> U42#(isNat(N),M,N) ->
    U42#(X1,active(X2),X3) -> U42#(X1,X2,X3)
    active#(U41(tt(),M,N)) -> U42#(isNat(N),M,N) ->
    U42#(X1,X2,active(X3)) -> U42#(X1,X2,X3)
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(U11(X1,X2)) -> mark#(X1)
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(U11(X1,X2)) -> U11#(mark(X1),X2)
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(U12(X)) -> mark#(X)
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(U12(X)) -> U12#(mark(X))
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(U12(X)) -> active#(U12(mark(X)))
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(isNat(X)) -> active#(isNat(X))
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(U21(X)) -> mark#(X)
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(U21(X)) -> U21#(mark(X))
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(U21(X)) -> active#(U21(mark(X)))
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(U31(X1,X2)) -> mark#(X1)
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(U31(X1,X2)) -> U31#(mark(X1),X2)
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(U41(X1,X2,X3)) -> mark#(X1)
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3)
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(U42(X1,X2,X3)) -> mark#(X1)
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3)
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(s(X)) -> mark#(X)
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(s(X)) -> s#(mark(X))
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(s(X)) -> active#(s(mark(X)))
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(plus(X1,X2)) -> mark#(X2)
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(plus(X1,X2)) -> mark#(X1)
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2))
    active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N)) ->
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
    active#(U41(tt(),M,N)) -> isNat#(N) ->
    isNat#(mark(X)) -> isNat#(X)
    active#(U41(tt(),M,N)) -> isNat#(N) ->
    isNat#(active(X)) -> isNat#(X)
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(U11(X1,X2)) -> mark#(X1)
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(U11(X1,X2)) -> U11#(mark(X1),X2)
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(tt()) -> active#(tt())
    active#(U31(tt(),N)) -> mark#(N) -> mark#(U12(X)) -> mark#(X)
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(U12(X)) -> U12#(mark(X))
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(U12(X)) -> active#(U12(mark(X)))
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(isNat(X)) -> active#(isNat(X))
    active#(U31(tt(),N)) -> mark#(N) -> mark#(U21(X)) -> mark#(X)
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(U21(X)) -> U21#(mark(X))
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(U21(X)) -> active#(U21(mark(X)))
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(U31(X1,X2)) -> mark#(X1)
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(U31(X1,X2)) -> U31#(mark(X1),X2)
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(U41(X1,X2,X3)) -> mark#(X1)
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3)
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(U42(X1,X2,X3)) -> mark#(X1)
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3)
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
    active#(U31(tt(),N)) -> mark#(N) -> mark#(s(X)) -> mark#(X)
    active#(U31(tt(),N)) -> mark#(N) -> mark#(s(X)) -> s#(mark(X))
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(s(X)) -> active#(s(mark(X)))
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(plus(X1,X2)) -> mark#(X2)
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(plus(X1,X2)) -> mark#(X1)
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2))
    active#(U31(tt(),N)) -> mark#(N) ->
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
    active#(U31(tt(),N)) -> mark#(N) -> mark#(0()) -> active#(0())
    active#(U21(tt())) -> mark#(tt()) ->
    mark#(tt()) -> active#(tt())
    active#(U12(tt())) -> mark#(tt()) ->
    mark#(tt()) -> active#(tt())
    active#(isNat(0())) -> mark#(tt()) ->
    mark#(tt()) -> active#(tt())
    active#(isNat(s(V1))) -> U21#(isNat(V1)) ->
    U21#(mark(X)) -> U21#(X)
    active#(isNat(s(V1))) -> U21#(isNat(V1)) ->
    U21#(active(X)) -> U21#(X)
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(U11(X1,X2)) -> mark#(X1)
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(U11(X1,X2)) -> U11#(mark(X1),X2)
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(U12(X)) -> mark#(X)
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(U12(X)) -> U12#(mark(X))
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(U12(X)) -> active#(U12(mark(X)))
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(isNat(X)) -> active#(isNat(X))
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(U21(X)) -> mark#(X)
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(U21(X)) -> U21#(mark(X))
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(U21(X)) -> active#(U21(mark(X)))
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(U31(X1,X2)) -> mark#(X1)
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(U31(X1,X2)) -> U31#(mark(X1),X2)
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(U41(X1,X2,X3)) -> mark#(X1)
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3)
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(U42(X1,X2,X3)) -> mark#(X1)
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3)
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(s(X)) -> mark#(X)
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(s(X)) -> s#(mark(X))
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(s(X)) -> active#(s(mark(X)))
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(plus(X1,X2)) -> mark#(X2)
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(plus(X1,X2)) -> mark#(X1)
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2))
    active#(isNat(s(V1))) -> mark#(U21(isNat(V1))) ->
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
    active#(isNat(s(V1))) -> isNat#(V1) ->
    isNat#(mark(X)) -> isNat#(X)
    active#(isNat(s(V1))) -> isNat#(V1) ->
    isNat#(active(X)) -> isNat#(X)
    active#(isNat(plus(V1,V2))) -> U11#(isNat(V1),V2) ->
    U11#(mark(X1),X2) -> U11#(X1,X2)
    active#(isNat(plus(V1,V2))) -> U11#(isNat(V1),V2) ->
    U11#(X1,mark(X2)) -> U11#(X1,X2)
    active#(isNat(plus(V1,V2))) -> U11#(isNat(V1),V2) ->
    U11#(active(X1),X2) -> U11#(X1,X2)
    active#(isNat(plus(V1,V2))) -> U11#(isNat(V1),V2) ->
    U11#(X1,active(X2)) -> U11#(X1,X2)
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(U11(X1,X2)) -> mark#(X1)
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(U11(X1,X2)) -> U11#(mark(X1),X2)
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(U12(X)) -> mark#(X)
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(U12(X)) -> U12#(mark(X))
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(U12(X)) -> active#(U12(mark(X)))
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(isNat(X)) -> active#(isNat(X))
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(U21(X)) -> mark#(X)
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(U21(X)) -> U21#(mark(X))
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(U21(X)) -> active#(U21(mark(X)))
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(U31(X1,X2)) -> mark#(X1)
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(U31(X1,X2)) -> U31#(mark(X1),X2)
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(U41(X1,X2,X3)) -> mark#(X1)
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3)
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(U42(X1,X2,X3)) -> mark#(X1)
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3)
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(s(X)) -> mark#(X)
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(s(X)) -> s#(mark(X))
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(s(X)) -> active#(s(mark(X)))
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(plus(X1,X2)) -> mark#(X2)
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(plus(X1,X2)) -> mark#(X1)
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2))
    active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2)) ->
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
    active#(isNat(plus(V1,V2))) -> isNat#(V1) ->
    isNat#(mark(X)) -> isNat#(X)
    active#(isNat(plus(V1,V2))) -> isNat#(V1) ->
    isNat#(active(X)) -> isNat#(X)
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(U11(X1,X2)) -> mark#(X1)
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(U11(X1,X2)) -> U11#(mark(X1),X2)
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(U12(X)) -> mark#(X)
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(U12(X)) -> U12#(mark(X))
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(U12(X)) -> active#(U12(mark(X)))
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(isNat(X)) -> active#(isNat(X))
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(U21(X)) -> mark#(X)
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(U21(X)) -> U21#(mark(X))
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(U21(X)) -> active#(U21(mark(X)))
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(U31(X1,X2)) -> mark#(X1)
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(U31(X1,X2)) -> U31#(mark(X1),X2)
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(U41(X1,X2,X3)) -> mark#(X1)
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3)
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(U42(X1,X2,X3)) -> mark#(X1)
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3)
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(s(X)) -> mark#(X)
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(s(X)) -> s#(mark(X))
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(s(X)) -> active#(s(mark(X)))
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(plus(X1,X2)) -> mark#(X2)
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(plus(X1,X2)) -> mark#(X1)
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2))
    active#(U11(tt(),V2)) -> mark#(U12(isNat(V2))) ->
    mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
    active#(U11(tt(),V2)) -> U12#(isNat(V2)) ->
    U12#(mark(X)) -> U12#(X)
    active#(U11(tt(),V2)) -> U12#(isNat(V2)) ->
    U12#(active(X)) -> U12#(X)
    active#(U11(tt(),V2)) -> isNat#(V2) ->
    isNat#(mark(X)) -> isNat#(X)
    active#(U11(tt(),V2)) -> isNat#(V2) -> isNat#(active(X)) -> isNat#(X)
   Restore Modifier:
    DPs:
     active#(U11(tt(),V2)) -> isNat#(V2)
     active#(U11(tt(),V2)) -> U12#(isNat(V2))
     active#(U11(tt(),V2)) -> mark#(U12(isNat(V2)))
     active#(U12(tt())) -> mark#(tt())
     active#(U21(tt())) -> mark#(tt())
     active#(U31(tt(),N)) -> mark#(N)
     active#(U41(tt(),M,N)) -> isNat#(N)
     active#(U41(tt(),M,N)) -> U42#(isNat(N),M,N)
     active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N))
     active#(U42(tt(),M,N)) -> plus#(N,M)
     active#(U42(tt(),M,N)) -> s#(plus(N,M))
     active#(U42(tt(),M,N)) -> mark#(s(plus(N,M)))
     active#(isNat(0())) -> mark#(tt())
     active#(isNat(plus(V1,V2))) -> isNat#(V1)
     active#(isNat(plus(V1,V2))) -> U11#(isNat(V1),V2)
     active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2))
     active#(isNat(s(V1))) -> isNat#(V1)
     active#(isNat(s(V1))) -> U21#(isNat(V1))
     active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))
     active#(plus(N,0())) -> isNat#(N)
     active#(plus(N,0())) -> U31#(isNat(N),N)
     active#(plus(N,0())) -> mark#(U31(isNat(N),N))
     active#(plus(N,s(M))) -> isNat#(M)
     active#(plus(N,s(M))) -> U41#(isNat(M),M,N)
     active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N))
     mark#(U11(X1,X2)) -> mark#(X1)
     mark#(U11(X1,X2)) -> U11#(mark(X1),X2)
     mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
     mark#(tt()) -> active#(tt())
     mark#(U12(X)) -> mark#(X)
     mark#(U12(X)) -> U12#(mark(X))
     mark#(U12(X)) -> active#(U12(mark(X)))
     mark#(isNat(X)) -> active#(isNat(X))
     mark#(U21(X)) -> mark#(X)
     mark#(U21(X)) -> U21#(mark(X))
     mark#(U21(X)) -> active#(U21(mark(X)))
     mark#(U31(X1,X2)) -> mark#(X1)
     mark#(U31(X1,X2)) -> U31#(mark(X1),X2)
     mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
     mark#(U41(X1,X2,X3)) -> mark#(X1)
     mark#(U41(X1,X2,X3)) -> U41#(mark(X1),X2,X3)
     mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
     mark#(U42(X1,X2,X3)) -> mark#(X1)
     mark#(U42(X1,X2,X3)) -> U42#(mark(X1),X2,X3)
     mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
     mark#(s(X)) -> mark#(X)
     mark#(s(X)) -> s#(mark(X))
     mark#(s(X)) -> active#(s(mark(X)))
     mark#(plus(X1,X2)) -> mark#(X2)
     mark#(plus(X1,X2)) -> mark#(X1)
     mark#(plus(X1,X2)) -> plus#(mark(X1),mark(X2))
     mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
     mark#(0()) -> active#(0())
     U11#(mark(X1),X2) -> U11#(X1,X2)
     U11#(X1,mark(X2)) -> U11#(X1,X2)
     U11#(active(X1),X2) -> U11#(X1,X2)
     U11#(X1,active(X2)) -> U11#(X1,X2)
     U12#(mark(X)) -> U12#(X)
     U12#(active(X)) -> U12#(X)
     isNat#(mark(X)) -> isNat#(X)
     isNat#(active(X)) -> isNat#(X)
     U21#(mark(X)) -> U21#(X)
     U21#(active(X)) -> U21#(X)
     U31#(mark(X1),X2) -> U31#(X1,X2)
     U31#(X1,mark(X2)) -> U31#(X1,X2)
     U31#(active(X1),X2) -> U31#(X1,X2)
     U31#(X1,active(X2)) -> U31#(X1,X2)
     U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3)
     U41#(X1,mark(X2),X3) -> U41#(X1,X2,X3)
     U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3)
     U41#(active(X1),X2,X3) -> U41#(X1,X2,X3)
     U41#(X1,active(X2),X3) -> U41#(X1,X2,X3)
     U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3)
     U42#(mark(X1),X2,X3) -> U42#(X1,X2,X3)
     U42#(X1,mark(X2),X3) -> U42#(X1,X2,X3)
     U42#(X1,X2,mark(X3)) -> U42#(X1,X2,X3)
     U42#(active(X1),X2,X3) -> U42#(X1,X2,X3)
     U42#(X1,active(X2),X3) -> U42#(X1,X2,X3)
     U42#(X1,X2,active(X3)) -> U42#(X1,X2,X3)
     s#(mark(X)) -> s#(X)
     s#(active(X)) -> s#(X)
     plus#(mark(X1),X2) -> plus#(X1,X2)
     plus#(X1,mark(X2)) -> plus#(X1,X2)
     plus#(active(X1),X2) -> plus#(X1,X2)
     plus#(X1,active(X2)) -> plus#(X1,X2)
    TRS:
     active(U11(tt(),V2)) -> mark(U12(isNat(V2)))
     active(U12(tt())) -> mark(tt())
     active(U21(tt())) -> mark(tt())
     active(U31(tt(),N)) -> mark(N)
     active(U41(tt(),M,N)) -> mark(U42(isNat(N),M,N))
     active(U42(tt(),M,N)) -> mark(s(plus(N,M)))
     active(isNat(0())) -> mark(tt())
     active(isNat(plus(V1,V2))) -> mark(U11(isNat(V1),V2))
     active(isNat(s(V1))) -> mark(U21(isNat(V1)))
     active(plus(N,0())) -> mark(U31(isNat(N),N))
     active(plus(N,s(M))) -> mark(U41(isNat(M),M,N))
     mark(U11(X1,X2)) -> active(U11(mark(X1),X2))
     mark(tt()) -> active(tt())
     mark(U12(X)) -> active(U12(mark(X)))
     mark(isNat(X)) -> active(isNat(X))
     mark(U21(X)) -> active(U21(mark(X)))
     mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
     mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3))
     mark(U42(X1,X2,X3)) -> active(U42(mark(X1),X2,X3))
     mark(s(X)) -> active(s(mark(X)))
     mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
     mark(0()) -> active(0())
     U11(mark(X1),X2) -> U11(X1,X2)
     U11(X1,mark(X2)) -> U11(X1,X2)
     U11(active(X1),X2) -> U11(X1,X2)
     U11(X1,active(X2)) -> U11(X1,X2)
     U12(mark(X)) -> U12(X)
     U12(active(X)) -> U12(X)
     isNat(mark(X)) -> isNat(X)
     isNat(active(X)) -> isNat(X)
     U21(mark(X)) -> U21(X)
     U21(active(X)) -> U21(X)
     U31(mark(X1),X2) -> U31(X1,X2)
     U31(X1,mark(X2)) -> U31(X1,X2)
     U31(active(X1),X2) -> U31(X1,X2)
     U31(X1,active(X2)) -> U31(X1,X2)
     U41(mark(X1),X2,X3) -> U41(X1,X2,X3)
     U41(X1,mark(X2),X3) -> U41(X1,X2,X3)
     U41(X1,X2,mark(X3)) -> U41(X1,X2,X3)
     U41(active(X1),X2,X3) -> U41(X1,X2,X3)
     U41(X1,active(X2),X3) -> U41(X1,X2,X3)
     U41(X1,X2,active(X3)) -> U41(X1,X2,X3)
     U42(mark(X1),X2,X3) -> U42(X1,X2,X3)
     U42(X1,mark(X2),X3) -> U42(X1,X2,X3)
     U42(X1,X2,mark(X3)) -> U42(X1,X2,X3)
     U42(active(X1),X2,X3) -> U42(X1,X2,X3)
     U42(X1,active(X2),X3) -> U42(X1,X2,X3)
     U42(X1,X2,active(X3)) -> U42(X1,X2,X3)
     s(mark(X)) -> s(X)
     s(active(X)) -> s(X)
     plus(mark(X1),X2) -> plus(X1,X2)
     plus(X1,mark(X2)) -> plus(X1,X2)
     plus(active(X1),X2) -> plus(X1,X2)
     plus(X1,active(X2)) -> plus(X1,X2)
    SCC Processor:
     #sccs: 10
     #rules: 58
     #arcs: 898/7225
     DPs:
      mark#(s(X)) -> mark#(X)
      mark#(plus(X1,X2)) -> active#(plus(mark(X1),mark(X2)))
      active#(plus(N,s(M))) -> mark#(U41(isNat(M),M,N))
      mark#(plus(X1,X2)) -> mark#(X1)
      mark#(plus(X1,X2)) -> mark#(X2)
      mark#(s(X)) -> active#(s(mark(X)))
      active#(plus(N,0())) -> mark#(U31(isNat(N),N))
      mark#(U42(X1,X2,X3)) -> active#(U42(mark(X1),X2,X3))
      active#(isNat(s(V1))) -> mark#(U21(isNat(V1)))
      mark#(U42(X1,X2,X3)) -> mark#(X1)
      mark#(U41(X1,X2,X3)) -> active#(U41(mark(X1),X2,X3))
      active#(isNat(plus(V1,V2))) -> mark#(U11(isNat(V1),V2))
      mark#(U41(X1,X2,X3)) -> mark#(X1)
      mark#(U31(X1,X2)) -> active#(U31(mark(X1),X2))
      active#(U42(tt(),M,N)) -> mark#(s(plus(N,M)))
      mark#(U31(X1,X2)) -> mark#(X1)
      mark#(U21(X)) -> active#(U21(mark(X)))
      active#(U41(tt(),M,N)) -> mark#(U42(isNat(N),M,N))
      mark#(U21(X)) -> mark#(X)
      mark#(isNat(X)) -> active#(isNat(X))
      active#(U31(tt(),N)) -> mark#(N)
      mark#(U12(X)) -> active#(U12(mark(X)))
      active#(U11(tt(),V2)) -> mark#(U12(isNat(V2)))
      mark#(U12(X)) -> mark#(X)
      mark#(U11(X1,X2)) -> active#(U11(mark(X1),X2))
      mark#(U11(X1,X2)) -> mark#(X1)
     TRS:
      active(U11(tt(),V2)) -> mark(U12(isNat(V2)))
      active(U12(tt())) -> mark(tt())
      active(U21(tt())) -> mark(tt())
      active(U31(tt(),N)) -> mark(N)
      active(U41(tt(),M,N)) -> mark(U42(isNat(N),M,N))
      active(U42(tt(),M,N)) -> mark(s(plus(N,M)))
      active(isNat(0())) -> mark(tt())
      active(isNat(plus(V1,V2))) -> mark(U11(isNat(V1),V2))
      active(isNat(s(V1))) -> mark(U21(isNat(V1)))
      active(plus(N,0())) -> mark(U31(isNat(N),N))
      active(plus(N,s(M))) -> mark(U41(isNat(M),M,N))
      mark(U11(X1,X2)) -> active(U11(mark(X1),X2))
      mark(tt()) -> active(tt())
      mark(U12(X)) -> active(U12(mark(X)))
      mark(isNat(X)) -> active(isNat(X))
      mark(U21(X)) -> active(U21(mark(X)))
      mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
      mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3))
      mark(U42(X1,X2,X3)) -> active(U42(mark(X1),X2,X3))
      mark(s(X)) -> active(s(mark(X)))
      mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
      mark(0()) -> active(0())
      U11(mark(X1),X2) -> U11(X1,X2)
      U11(X1,mark(X2)) -> U11(X1,X2)
      U11(active(X1),X2) -> U11(X1,X2)
      U11(X1,active(X2)) -> U11(X1,X2)
      U12(mark(X)) -> U12(X)
      U12(active(X)) -> U12(X)
      isNat(mark(X)) -> isNat(X)
      isNat(active(X)) -> isNat(X)
      U21(mark(X)) -> U21(X)
      U21(active(X)) -> U21(X)
      U31(mark(X1),X2) -> U31(X1,X2)
      U31(X1,mark(X2)) -> U31(X1,X2)
      U31(active(X1),X2) -> U31(X1,X2)
      U31(X1,active(X2)) -> U31(X1,X2)
      U41(mark(X1),X2,X3) -> U41(X1,X2,X3)
      U41(X1,mark(X2),X3) -> U41(X1,X2,X3)
      U41(X1,X2,mark(X3)) -> U41(X1,X2,X3)
      U41(active(X1),X2,X3) -> U41(X1,X2,X3)
      U41(X1,active(X2),X3) -> U41(X1,X2,X3)
      U41(X1,X2,active(X3)) -> U41(X1,X2,X3)
      U42(mark(X1),X2,X3) -> U42(X1,X2,X3)
      U42(X1,mark(X2),X3) -> U42(X1,X2,X3)
      U42(X1,X2,mark(X3)) -> U42(X1,X2,X3)
      U42(active(X1),X2,X3) -> U42(X1,X2,X3)
      U42(X1,active(X2),X3) -> U42(X1,X2,X3)
      U42(X1,X2,active(X3)) -> U42(X1,X2,X3)
      s(mark(X)) -> s(X)
      s(active(X)) -> s(X)
      plus(mark(X1),X2) -> plus(X1,X2)
      plus(X1,mark(X2)) -> plus(X1,X2)
      plus(active(X1),X2) -> plus(X1,X2)
      plus(X1,active(X2)) -> plus(X1,X2)
     Open
     
     DPs:
      U12#(active(X)) -> U12#(X)
      U12#(mark(X)) -> U12#(X)
     TRS:
      active(U11(tt(),V2)) -> mark(U12(isNat(V2)))
      active(U12(tt())) -> mark(tt())
      active(U21(tt())) -> mark(tt())
      active(U31(tt(),N)) -> mark(N)
      active(U41(tt(),M,N)) -> mark(U42(isNat(N),M,N))
      active(U42(tt(),M,N)) -> mark(s(plus(N,M)))
      active(isNat(0())) -> mark(tt())
      active(isNat(plus(V1,V2))) -> mark(U11(isNat(V1),V2))
      active(isNat(s(V1))) -> mark(U21(isNat(V1)))
      active(plus(N,0())) -> mark(U31(isNat(N),N))
      active(plus(N,s(M))) -> mark(U41(isNat(M),M,N))
      mark(U11(X1,X2)) -> active(U11(mark(X1),X2))
      mark(tt()) -> active(tt())
      mark(U12(X)) -> active(U12(mark(X)))
      mark(isNat(X)) -> active(isNat(X))
      mark(U21(X)) -> active(U21(mark(X)))
      mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
      mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3))
      mark(U42(X1,X2,X3)) -> active(U42(mark(X1),X2,X3))
      mark(s(X)) -> active(s(mark(X)))
      mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
      mark(0()) -> active(0())
      U11(mark(X1),X2) -> U11(X1,X2)
      U11(X1,mark(X2)) -> U11(X1,X2)
      U11(active(X1),X2) -> U11(X1,X2)
      U11(X1,active(X2)) -> U11(X1,X2)
      U12(mark(X)) -> U12(X)
      U12(active(X)) -> U12(X)
      isNat(mark(X)) -> isNat(X)
      isNat(active(X)) -> isNat(X)
      U21(mark(X)) -> U21(X)
      U21(active(X)) -> U21(X)
      U31(mark(X1),X2) -> U31(X1,X2)
      U31(X1,mark(X2)) -> U31(X1,X2)
      U31(active(X1),X2) -> U31(X1,X2)
      U31(X1,active(X2)) -> U31(X1,X2)
      U41(mark(X1),X2,X3) -> U41(X1,X2,X3)
      U41(X1,mark(X2),X3) -> U41(X1,X2,X3)
      U41(X1,X2,mark(X3)) -> U41(X1,X2,X3)
      U41(active(X1),X2,X3) -> U41(X1,X2,X3)
      U41(X1,active(X2),X3) -> U41(X1,X2,X3)
      U41(X1,X2,active(X3)) -> U41(X1,X2,X3)
      U42(mark(X1),X2,X3) -> U42(X1,X2,X3)
      U42(X1,mark(X2),X3) -> U42(X1,X2,X3)
      U42(X1,X2,mark(X3)) -> U42(X1,X2,X3)
      U42(active(X1),X2,X3) -> U42(X1,X2,X3)
      U42(X1,active(X2),X3) -> U42(X1,X2,X3)
      U42(X1,X2,active(X3)) -> U42(X1,X2,X3)
      s(mark(X)) -> s(X)
      s(active(X)) -> s(X)
      plus(mark(X1),X2) -> plus(X1,X2)
      plus(X1,mark(X2)) -> plus(X1,X2)
      plus(active(X1),X2) -> plus(X1,X2)
      plus(X1,active(X2)) -> plus(X1,X2)
     Open
     
     DPs:
      isNat#(active(X)) -> isNat#(X)
      isNat#(mark(X)) -> isNat#(X)
     TRS:
      active(U11(tt(),V2)) -> mark(U12(isNat(V2)))
      active(U12(tt())) -> mark(tt())
      active(U21(tt())) -> mark(tt())
      active(U31(tt(),N)) -> mark(N)
      active(U41(tt(),M,N)) -> mark(U42(isNat(N),M,N))
      active(U42(tt(),M,N)) -> mark(s(plus(N,M)))
      active(isNat(0())) -> mark(tt())
      active(isNat(plus(V1,V2))) -> mark(U11(isNat(V1),V2))
      active(isNat(s(V1))) -> mark(U21(isNat(V1)))
      active(plus(N,0())) -> mark(U31(isNat(N),N))
      active(plus(N,s(M))) -> mark(U41(isNat(M),M,N))
      mark(U11(X1,X2)) -> active(U11(mark(X1),X2))
      mark(tt()) -> active(tt())
      mark(U12(X)) -> active(U12(mark(X)))
      mark(isNat(X)) -> active(isNat(X))
      mark(U21(X)) -> active(U21(mark(X)))
      mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
      mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3))
      mark(U42(X1,X2,X3)) -> active(U42(mark(X1),X2,X3))
      mark(s(X)) -> active(s(mark(X)))
      mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
      mark(0()) -> active(0())
      U11(mark(X1),X2) -> U11(X1,X2)
      U11(X1,mark(X2)) -> U11(X1,X2)
      U11(active(X1),X2) -> U11(X1,X2)
      U11(X1,active(X2)) -> U11(X1,X2)
      U12(mark(X)) -> U12(X)
      U12(active(X)) -> U12(X)
      isNat(mark(X)) -> isNat(X)
      isNat(active(X)) -> isNat(X)
      U21(mark(X)) -> U21(X)
      U21(active(X)) -> U21(X)
      U31(mark(X1),X2) -> U31(X1,X2)
      U31(X1,mark(X2)) -> U31(X1,X2)
      U31(active(X1),X2) -> U31(X1,X2)
      U31(X1,active(X2)) -> U31(X1,X2)
      U41(mark(X1),X2,X3) -> U41(X1,X2,X3)
      U41(X1,mark(X2),X3) -> U41(X1,X2,X3)
      U41(X1,X2,mark(X3)) -> U41(X1,X2,X3)
      U41(active(X1),X2,X3) -> U41(X1,X2,X3)
      U41(X1,active(X2),X3) -> U41(X1,X2,X3)
      U41(X1,X2,active(X3)) -> U41(X1,X2,X3)
      U42(mark(X1),X2,X3) -> U42(X1,X2,X3)
      U42(X1,mark(X2),X3) -> U42(X1,X2,X3)
      U42(X1,X2,mark(X3)) -> U42(X1,X2,X3)
      U42(active(X1),X2,X3) -> U42(X1,X2,X3)
      U42(X1,active(X2),X3) -> U42(X1,X2,X3)
      U42(X1,X2,active(X3)) -> U42(X1,X2,X3)
      s(mark(X)) -> s(X)
      s(active(X)) -> s(X)
      plus(mark(X1),X2) -> plus(X1,X2)
      plus(X1,mark(X2)) -> plus(X1,X2)
      plus(active(X1),X2) -> plus(X1,X2)
      plus(X1,active(X2)) -> plus(X1,X2)
     Open
     
     DPs:
      U42#(mark(X1),X2,X3) -> U42#(X1,X2,X3)
      U42#(X1,X2,active(X3)) -> U42#(X1,X2,X3)
      U42#(X1,active(X2),X3) -> U42#(X1,X2,X3)
      U42#(active(X1),X2,X3) -> U42#(X1,X2,X3)
      U42#(X1,X2,mark(X3)) -> U42#(X1,X2,X3)
      U42#(X1,mark(X2),X3) -> U42#(X1,X2,X3)
     TRS:
      active(U11(tt(),V2)) -> mark(U12(isNat(V2)))
      active(U12(tt())) -> mark(tt())
      active(U21(tt())) -> mark(tt())
      active(U31(tt(),N)) -> mark(N)
      active(U41(tt(),M,N)) -> mark(U42(isNat(N),M,N))
      active(U42(tt(),M,N)) -> mark(s(plus(N,M)))
      active(isNat(0())) -> mark(tt())
      active(isNat(plus(V1,V2))) -> mark(U11(isNat(V1),V2))
      active(isNat(s(V1))) -> mark(U21(isNat(V1)))
      active(plus(N,0())) -> mark(U31(isNat(N),N))
      active(plus(N,s(M))) -> mark(U41(isNat(M),M,N))
      mark(U11(X1,X2)) -> active(U11(mark(X1),X2))
      mark(tt()) -> active(tt())
      mark(U12(X)) -> active(U12(mark(X)))
      mark(isNat(X)) -> active(isNat(X))
      mark(U21(X)) -> active(U21(mark(X)))
      mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
      mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3))
      mark(U42(X1,X2,X3)) -> active(U42(mark(X1),X2,X3))
      mark(s(X)) -> active(s(mark(X)))
      mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
      mark(0()) -> active(0())
      U11(mark(X1),X2) -> U11(X1,X2)
      U11(X1,mark(X2)) -> U11(X1,X2)
      U11(active(X1),X2) -> U11(X1,X2)
      U11(X1,active(X2)) -> U11(X1,X2)
      U12(mark(X)) -> U12(X)
      U12(active(X)) -> U12(X)
      isNat(mark(X)) -> isNat(X)
      isNat(active(X)) -> isNat(X)
      U21(mark(X)) -> U21(X)
      U21(active(X)) -> U21(X)
      U31(mark(X1),X2) -> U31(X1,X2)
      U31(X1,mark(X2)) -> U31(X1,X2)
      U31(active(X1),X2) -> U31(X1,X2)
      U31(X1,active(X2)) -> U31(X1,X2)
      U41(mark(X1),X2,X3) -> U41(X1,X2,X3)
      U41(X1,mark(X2),X3) -> U41(X1,X2,X3)
      U41(X1,X2,mark(X3)) -> U41(X1,X2,X3)
      U41(active(X1),X2,X3) -> U41(X1,X2,X3)
      U41(X1,active(X2),X3) -> U41(X1,X2,X3)
      U41(X1,X2,active(X3)) -> U41(X1,X2,X3)
      U42(mark(X1),X2,X3) -> U42(X1,X2,X3)
      U42(X1,mark(X2),X3) -> U42(X1,X2,X3)
      U42(X1,X2,mark(X3)) -> U42(X1,X2,X3)
      U42(active(X1),X2,X3) -> U42(X1,X2,X3)
      U42(X1,active(X2),X3) -> U42(X1,X2,X3)
      U42(X1,X2,active(X3)) -> U42(X1,X2,X3)
      s(mark(X)) -> s(X)
      s(active(X)) -> s(X)
      plus(mark(X1),X2) -> plus(X1,X2)
      plus(X1,mark(X2)) -> plus(X1,X2)
      plus(active(X1),X2) -> plus(X1,X2)
      plus(X1,active(X2)) -> plus(X1,X2)
     Open
     
     DPs:
      plus#(mark(X1),X2) -> plus#(X1,X2)
      plus#(X1,active(X2)) -> plus#(X1,X2)
      plus#(active(X1),X2) -> plus#(X1,X2)
      plus#(X1,mark(X2)) -> plus#(X1,X2)
     TRS:
      active(U11(tt(),V2)) -> mark(U12(isNat(V2)))
      active(U12(tt())) -> mark(tt())
      active(U21(tt())) -> mark(tt())
      active(U31(tt(),N)) -> mark(N)
      active(U41(tt(),M,N)) -> mark(U42(isNat(N),M,N))
      active(U42(tt(),M,N)) -> mark(s(plus(N,M)))
      active(isNat(0())) -> mark(tt())
      active(isNat(plus(V1,V2))) -> mark(U11(isNat(V1),V2))
      active(isNat(s(V1))) -> mark(U21(isNat(V1)))
      active(plus(N,0())) -> mark(U31(isNat(N),N))
      active(plus(N,s(M))) -> mark(U41(isNat(M),M,N))
      mark(U11(X1,X2)) -> active(U11(mark(X1),X2))
      mark(tt()) -> active(tt())
      mark(U12(X)) -> active(U12(mark(X)))
      mark(isNat(X)) -> active(isNat(X))
      mark(U21(X)) -> active(U21(mark(X)))
      mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
      mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3))
      mark(U42(X1,X2,X3)) -> active(U42(mark(X1),X2,X3))
      mark(s(X)) -> active(s(mark(X)))
      mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
      mark(0()) -> active(0())
      U11(mark(X1),X2) -> U11(X1,X2)
      U11(X1,mark(X2)) -> U11(X1,X2)
      U11(active(X1),X2) -> U11(X1,X2)
      U11(X1,active(X2)) -> U11(X1,X2)
      U12(mark(X)) -> U12(X)
      U12(active(X)) -> U12(X)
      isNat(mark(X)) -> isNat(X)
      isNat(active(X)) -> isNat(X)
      U21(mark(X)) -> U21(X)
      U21(active(X)) -> U21(X)
      U31(mark(X1),X2) -> U31(X1,X2)
      U31(X1,mark(X2)) -> U31(X1,X2)
      U31(active(X1),X2) -> U31(X1,X2)
      U31(X1,active(X2)) -> U31(X1,X2)
      U41(mark(X1),X2,X3) -> U41(X1,X2,X3)
      U41(X1,mark(X2),X3) -> U41(X1,X2,X3)
      U41(X1,X2,mark(X3)) -> U41(X1,X2,X3)
      U41(active(X1),X2,X3) -> U41(X1,X2,X3)
      U41(X1,active(X2),X3) -> U41(X1,X2,X3)
      U41(X1,X2,active(X3)) -> U41(X1,X2,X3)
      U42(mark(X1),X2,X3) -> U42(X1,X2,X3)
      U42(X1,mark(X2),X3) -> U42(X1,X2,X3)
      U42(X1,X2,mark(X3)) -> U42(X1,X2,X3)
      U42(active(X1),X2,X3) -> U42(X1,X2,X3)
      U42(X1,active(X2),X3) -> U42(X1,X2,X3)
      U42(X1,X2,active(X3)) -> U42(X1,X2,X3)
      s(mark(X)) -> s(X)
      s(active(X)) -> s(X)
      plus(mark(X1),X2) -> plus(X1,X2)
      plus(X1,mark(X2)) -> plus(X1,X2)
      plus(active(X1),X2) -> plus(X1,X2)
      plus(X1,active(X2)) -> plus(X1,X2)
     Open
     
     DPs:
      s#(mark(X)) -> s#(X)
      s#(active(X)) -> s#(X)
     TRS:
      active(U11(tt(),V2)) -> mark(U12(isNat(V2)))
      active(U12(tt())) -> mark(tt())
      active(U21(tt())) -> mark(tt())
      active(U31(tt(),N)) -> mark(N)
      active(U41(tt(),M,N)) -> mark(U42(isNat(N),M,N))
      active(U42(tt(),M,N)) -> mark(s(plus(N,M)))
      active(isNat(0())) -> mark(tt())
      active(isNat(plus(V1,V2))) -> mark(U11(isNat(V1),V2))
      active(isNat(s(V1))) -> mark(U21(isNat(V1)))
      active(plus(N,0())) -> mark(U31(isNat(N),N))
      active(plus(N,s(M))) -> mark(U41(isNat(M),M,N))
      mark(U11(X1,X2)) -> active(U11(mark(X1),X2))
      mark(tt()) -> active(tt())
      mark(U12(X)) -> active(U12(mark(X)))
      mark(isNat(X)) -> active(isNat(X))
      mark(U21(X)) -> active(U21(mark(X)))
      mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
      mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3))
      mark(U42(X1,X2,X3)) -> active(U42(mark(X1),X2,X3))
      mark(s(X)) -> active(s(mark(X)))
      mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
      mark(0()) -> active(0())
      U11(mark(X1),X2) -> U11(X1,X2)
      U11(X1,mark(X2)) -> U11(X1,X2)
      U11(active(X1),X2) -> U11(X1,X2)
      U11(X1,active(X2)) -> U11(X1,X2)
      U12(mark(X)) -> U12(X)
      U12(active(X)) -> U12(X)
      isNat(mark(X)) -> isNat(X)
      isNat(active(X)) -> isNat(X)
      U21(mark(X)) -> U21(X)
      U21(active(X)) -> U21(X)
      U31(mark(X1),X2) -> U31(X1,X2)
      U31(X1,mark(X2)) -> U31(X1,X2)
      U31(active(X1),X2) -> U31(X1,X2)
      U31(X1,active(X2)) -> U31(X1,X2)
      U41(mark(X1),X2,X3) -> U41(X1,X2,X3)
      U41(X1,mark(X2),X3) -> U41(X1,X2,X3)
      U41(X1,X2,mark(X3)) -> U41(X1,X2,X3)
      U41(active(X1),X2,X3) -> U41(X1,X2,X3)
      U41(X1,active(X2),X3) -> U41(X1,X2,X3)
      U41(X1,X2,active(X3)) -> U41(X1,X2,X3)
      U42(mark(X1),X2,X3) -> U42(X1,X2,X3)
      U42(X1,mark(X2),X3) -> U42(X1,X2,X3)
      U42(X1,X2,mark(X3)) -> U42(X1,X2,X3)
      U42(active(X1),X2,X3) -> U42(X1,X2,X3)
      U42(X1,active(X2),X3) -> U42(X1,X2,X3)
      U42(X1,X2,active(X3)) -> U42(X1,X2,X3)
      s(mark(X)) -> s(X)
      s(active(X)) -> s(X)
      plus(mark(X1),X2) -> plus(X1,X2)
      plus(X1,mark(X2)) -> plus(X1,X2)
      plus(active(X1),X2) -> plus(X1,X2)
      plus(X1,active(X2)) -> plus(X1,X2)
     Open
     
     DPs:
      U11#(mark(X1),X2) -> U11#(X1,X2)
      U11#(X1,active(X2)) -> U11#(X1,X2)
      U11#(active(X1),X2) -> U11#(X1,X2)
      U11#(X1,mark(X2)) -> U11#(X1,X2)
     TRS:
      active(U11(tt(),V2)) -> mark(U12(isNat(V2)))
      active(U12(tt())) -> mark(tt())
      active(U21(tt())) -> mark(tt())
      active(U31(tt(),N)) -> mark(N)
      active(U41(tt(),M,N)) -> mark(U42(isNat(N),M,N))
      active(U42(tt(),M,N)) -> mark(s(plus(N,M)))
      active(isNat(0())) -> mark(tt())
      active(isNat(plus(V1,V2))) -> mark(U11(isNat(V1),V2))
      active(isNat(s(V1))) -> mark(U21(isNat(V1)))
      active(plus(N,0())) -> mark(U31(isNat(N),N))
      active(plus(N,s(M))) -> mark(U41(isNat(M),M,N))
      mark(U11(X1,X2)) -> active(U11(mark(X1),X2))
      mark(tt()) -> active(tt())
      mark(U12(X)) -> active(U12(mark(X)))
      mark(isNat(X)) -> active(isNat(X))
      mark(U21(X)) -> active(U21(mark(X)))
      mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
      mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3))
      mark(U42(X1,X2,X3)) -> active(U42(mark(X1),X2,X3))
      mark(s(X)) -> active(s(mark(X)))
      mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
      mark(0()) -> active(0())
      U11(mark(X1),X2) -> U11(X1,X2)
      U11(X1,mark(X2)) -> U11(X1,X2)
      U11(active(X1),X2) -> U11(X1,X2)
      U11(X1,active(X2)) -> U11(X1,X2)
      U12(mark(X)) -> U12(X)
      U12(active(X)) -> U12(X)
      isNat(mark(X)) -> isNat(X)
      isNat(active(X)) -> isNat(X)
      U21(mark(X)) -> U21(X)
      U21(active(X)) -> U21(X)
      U31(mark(X1),X2) -> U31(X1,X2)
      U31(X1,mark(X2)) -> U31(X1,X2)
      U31(active(X1),X2) -> U31(X1,X2)
      U31(X1,active(X2)) -> U31(X1,X2)
      U41(mark(X1),X2,X3) -> U41(X1,X2,X3)
      U41(X1,mark(X2),X3) -> U41(X1,X2,X3)
      U41(X1,X2,mark(X3)) -> U41(X1,X2,X3)
      U41(active(X1),X2,X3) -> U41(X1,X2,X3)
      U41(X1,active(X2),X3) -> U41(X1,X2,X3)
      U41(X1,X2,active(X3)) -> U41(X1,X2,X3)
      U42(mark(X1),X2,X3) -> U42(X1,X2,X3)
      U42(X1,mark(X2),X3) -> U42(X1,X2,X3)
      U42(X1,X2,mark(X3)) -> U42(X1,X2,X3)
      U42(active(X1),X2,X3) -> U42(X1,X2,X3)
      U42(X1,active(X2),X3) -> U42(X1,X2,X3)
      U42(X1,X2,active(X3)) -> U42(X1,X2,X3)
      s(mark(X)) -> s(X)
      s(active(X)) -> s(X)
      plus(mark(X1),X2) -> plus(X1,X2)
      plus(X1,mark(X2)) -> plus(X1,X2)
      plus(active(X1),X2) -> plus(X1,X2)
      plus(X1,active(X2)) -> plus(X1,X2)
     Open
     
     DPs:
      U21#(mark(X)) -> U21#(X)
      U21#(active(X)) -> U21#(X)
     TRS:
      active(U11(tt(),V2)) -> mark(U12(isNat(V2)))
      active(U12(tt())) -> mark(tt())
      active(U21(tt())) -> mark(tt())
      active(U31(tt(),N)) -> mark(N)
      active(U41(tt(),M,N)) -> mark(U42(isNat(N),M,N))
      active(U42(tt(),M,N)) -> mark(s(plus(N,M)))
      active(isNat(0())) -> mark(tt())
      active(isNat(plus(V1,V2))) -> mark(U11(isNat(V1),V2))
      active(isNat(s(V1))) -> mark(U21(isNat(V1)))
      active(plus(N,0())) -> mark(U31(isNat(N),N))
      active(plus(N,s(M))) -> mark(U41(isNat(M),M,N))
      mark(U11(X1,X2)) -> active(U11(mark(X1),X2))
      mark(tt()) -> active(tt())
      mark(U12(X)) -> active(U12(mark(X)))
      mark(isNat(X)) -> active(isNat(X))
      mark(U21(X)) -> active(U21(mark(X)))
      mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
      mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3))
      mark(U42(X1,X2,X3)) -> active(U42(mark(X1),X2,X3))
      mark(s(X)) -> active(s(mark(X)))
      mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
      mark(0()) -> active(0())
      U11(mark(X1),X2) -> U11(X1,X2)
      U11(X1,mark(X2)) -> U11(X1,X2)
      U11(active(X1),X2) -> U11(X1,X2)
      U11(X1,active(X2)) -> U11(X1,X2)
      U12(mark(X)) -> U12(X)
      U12(active(X)) -> U12(X)
      isNat(mark(X)) -> isNat(X)
      isNat(active(X)) -> isNat(X)
      U21(mark(X)) -> U21(X)
      U21(active(X)) -> U21(X)
      U31(mark(X1),X2) -> U31(X1,X2)
      U31(X1,mark(X2)) -> U31(X1,X2)
      U31(active(X1),X2) -> U31(X1,X2)
      U31(X1,active(X2)) -> U31(X1,X2)
      U41(mark(X1),X2,X3) -> U41(X1,X2,X3)
      U41(X1,mark(X2),X3) -> U41(X1,X2,X3)
      U41(X1,X2,mark(X3)) -> U41(X1,X2,X3)
      U41(active(X1),X2,X3) -> U41(X1,X2,X3)
      U41(X1,active(X2),X3) -> U41(X1,X2,X3)
      U41(X1,X2,active(X3)) -> U41(X1,X2,X3)
      U42(mark(X1),X2,X3) -> U42(X1,X2,X3)
      U42(X1,mark(X2),X3) -> U42(X1,X2,X3)
      U42(X1,X2,mark(X3)) -> U42(X1,X2,X3)
      U42(active(X1),X2,X3) -> U42(X1,X2,X3)
      U42(X1,active(X2),X3) -> U42(X1,X2,X3)
      U42(X1,X2,active(X3)) -> U42(X1,X2,X3)
      s(mark(X)) -> s(X)
      s(active(X)) -> s(X)
      plus(mark(X1),X2) -> plus(X1,X2)
      plus(X1,mark(X2)) -> plus(X1,X2)
      plus(active(X1),X2) -> plus(X1,X2)
      plus(X1,active(X2)) -> plus(X1,X2)
     Open
     
     DPs:
      U31#(mark(X1),X2) -> U31#(X1,X2)
      U31#(X1,active(X2)) -> U31#(X1,X2)
      U31#(active(X1),X2) -> U31#(X1,X2)
      U31#(X1,mark(X2)) -> U31#(X1,X2)
     TRS:
      active(U11(tt(),V2)) -> mark(U12(isNat(V2)))
      active(U12(tt())) -> mark(tt())
      active(U21(tt())) -> mark(tt())
      active(U31(tt(),N)) -> mark(N)
      active(U41(tt(),M,N)) -> mark(U42(isNat(N),M,N))
      active(U42(tt(),M,N)) -> mark(s(plus(N,M)))
      active(isNat(0())) -> mark(tt())
      active(isNat(plus(V1,V2))) -> mark(U11(isNat(V1),V2))
      active(isNat(s(V1))) -> mark(U21(isNat(V1)))
      active(plus(N,0())) -> mark(U31(isNat(N),N))
      active(plus(N,s(M))) -> mark(U41(isNat(M),M,N))
      mark(U11(X1,X2)) -> active(U11(mark(X1),X2))
      mark(tt()) -> active(tt())
      mark(U12(X)) -> active(U12(mark(X)))
      mark(isNat(X)) -> active(isNat(X))
      mark(U21(X)) -> active(U21(mark(X)))
      mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
      mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3))
      mark(U42(X1,X2,X3)) -> active(U42(mark(X1),X2,X3))
      mark(s(X)) -> active(s(mark(X)))
      mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
      mark(0()) -> active(0())
      U11(mark(X1),X2) -> U11(X1,X2)
      U11(X1,mark(X2)) -> U11(X1,X2)
      U11(active(X1),X2) -> U11(X1,X2)
      U11(X1,active(X2)) -> U11(X1,X2)
      U12(mark(X)) -> U12(X)
      U12(active(X)) -> U12(X)
      isNat(mark(X)) -> isNat(X)
      isNat(active(X)) -> isNat(X)
      U21(mark(X)) -> U21(X)
      U21(active(X)) -> U21(X)
      U31(mark(X1),X2) -> U31(X1,X2)
      U31(X1,mark(X2)) -> U31(X1,X2)
      U31(active(X1),X2) -> U31(X1,X2)
      U31(X1,active(X2)) -> U31(X1,X2)
      U41(mark(X1),X2,X3) -> U41(X1,X2,X3)
      U41(X1,mark(X2),X3) -> U41(X1,X2,X3)
      U41(X1,X2,mark(X3)) -> U41(X1,X2,X3)
      U41(active(X1),X2,X3) -> U41(X1,X2,X3)
      U41(X1,active(X2),X3) -> U41(X1,X2,X3)
      U41(X1,X2,active(X3)) -> U41(X1,X2,X3)
      U42(mark(X1),X2,X3) -> U42(X1,X2,X3)
      U42(X1,mark(X2),X3) -> U42(X1,X2,X3)
      U42(X1,X2,mark(X3)) -> U42(X1,X2,X3)
      U42(active(X1),X2,X3) -> U42(X1,X2,X3)
      U42(X1,active(X2),X3) -> U42(X1,X2,X3)
      U42(X1,X2,active(X3)) -> U42(X1,X2,X3)
      s(mark(X)) -> s(X)
      s(active(X)) -> s(X)
      plus(mark(X1),X2) -> plus(X1,X2)
      plus(X1,mark(X2)) -> plus(X1,X2)
      plus(active(X1),X2) -> plus(X1,X2)
      plus(X1,active(X2)) -> plus(X1,X2)
     Open
     
     DPs:
      U41#(mark(X1),X2,X3) -> U41#(X1,X2,X3)
      U41#(X1,X2,active(X3)) -> U41#(X1,X2,X3)
      U41#(X1,active(X2),X3) -> U41#(X1,X2,X3)
      U41#(active(X1),X2,X3) -> U41#(X1,X2,X3)
      U41#(X1,X2,mark(X3)) -> U41#(X1,X2,X3)
      U41#(X1,mark(X2),X3) -> U41#(X1,X2,X3)
     TRS:
      active(U11(tt(),V2)) -> mark(U12(isNat(V2)))
      active(U12(tt())) -> mark(tt())
      active(U21(tt())) -> mark(tt())
      active(U31(tt(),N)) -> mark(N)
      active(U41(tt(),M,N)) -> mark(U42(isNat(N),M,N))
      active(U42(tt(),M,N)) -> mark(s(plus(N,M)))
      active(isNat(0())) -> mark(tt())
      active(isNat(plus(V1,V2))) -> mark(U11(isNat(V1),V2))
      active(isNat(s(V1))) -> mark(U21(isNat(V1)))
      active(plus(N,0())) -> mark(U31(isNat(N),N))
      active(plus(N,s(M))) -> mark(U41(isNat(M),M,N))
      mark(U11(X1,X2)) -> active(U11(mark(X1),X2))
      mark(tt()) -> active(tt())
      mark(U12(X)) -> active(U12(mark(X)))
      mark(isNat(X)) -> active(isNat(X))
      mark(U21(X)) -> active(U21(mark(X)))
      mark(U31(X1,X2)) -> active(U31(mark(X1),X2))
      mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3))
      mark(U42(X1,X2,X3)) -> active(U42(mark(X1),X2,X3))
      mark(s(X)) -> active(s(mark(X)))
      mark(plus(X1,X2)) -> active(plus(mark(X1),mark(X2)))
      mark(0()) -> active(0())
      U11(mark(X1),X2) -> U11(X1,X2)
      U11(X1,mark(X2)) -> U11(X1,X2)
      U11(active(X1),X2) -> U11(X1,X2)
      U11(X1,active(X2)) -> U11(X1,X2)
      U12(mark(X)) -> U12(X)
      U12(active(X)) -> U12(X)
      isNat(mark(X)) -> isNat(X)
      isNat(active(X)) -> isNat(X)
      U21(mark(X)) -> U21(X)
      U21(active(X)) -> U21(X)
      U31(mark(X1),X2) -> U31(X1,X2)
      U31(X1,mark(X2)) -> U31(X1,X2)
      U31(active(X1),X2) -> U31(X1,X2)
      U31(X1,active(X2)) -> U31(X1,X2)
      U41(mark(X1),X2,X3) -> U41(X1,X2,X3)
      U41(X1,mark(X2),X3) -> U41(X1,X2,X3)
      U41(X1,X2,mark(X3)) -> U41(X1,X2,X3)
      U41(active(X1),X2,X3) -> U41(X1,X2,X3)
      U41(X1,active(X2),X3) -> U41(X1,X2,X3)
      U41(X1,X2,active(X3)) -> U41(X1,X2,X3)
      U42(mark(X1),X2,X3) -> U42(X1,X2,X3)
      U42(X1,mark(X2),X3) -> U42(X1,X2,X3)
      U42(X1,X2,mark(X3)) -> U42(X1,X2,X3)
      U42(active(X1),X2,X3) -> U42(X1,X2,X3)
      U42(X1,active(X2),X3) -> U42(X1,X2,X3)
      U42(X1,X2,active(X3)) -> U42(X1,X2,X3)
      s(mark(X)) -> s(X)
      s(active(X)) -> s(X)
      plus(mark(X1),X2) -> plus(X1,X2)
      plus(X1,mark(X2)) -> plus(X1,X2)
      plus(active(X1),X2) -> plus(X1,X2)
      plus(X1,active(X2)) -> plus(X1,X2)
     Open