MAYBE
TRS:
 {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                   mark(isNat(X)) -> active(isNat(X)),
            mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                       mark(tt()) -> active(tt()),
                     mark(U13(X)) -> active(U13(mark(X))),
                     mark(U22(X)) -> active(U22(mark(X))),
                mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
            mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                     mark(U33(X)) -> active(U33(mark(X))),
                mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                       mark(s(X)) -> active(s(mark(X))),
               mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
            mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                        mark(0()) -> active(0()),
                     mark(U61(X)) -> active(U61(mark(X))),
                  mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
            mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                mark(and(X1, X2)) -> active(and(mark(X1), X2)),
               mark(isNatKind(X)) -> active(isNatKind(X)),
                U12(X1, mark(X2)) -> U12(X1, X2),
              U12(X1, active(X2)) -> U12(X1, X2),
                U12(mark(X1), X2) -> U12(X1, X2),
              U12(active(X1), X2) -> U12(X1, X2),
                   isNat(mark(X)) -> isNat(X),
                 isNat(active(X)) -> isNat(X),
            active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
             active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
      active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
               active(isNat(0())) -> mark(tt()),
         active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                active(U13(tt())) -> mark(tt()),
                active(U22(tt())) -> mark(tt()),
            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                active(U33(tt())) -> mark(tt()),
             active(U41(tt(), N)) -> mark(N),
            active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
             active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                active(U61(tt())) -> mark(0()),
               active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
             active(and(tt(), X)) -> mark(X),
         active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
  active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
           active(isNatKind(0())) -> mark(tt()),
     active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
            U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
          U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
            U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
          U11(X1, active(X2), X3) -> U11(X1, X2, X3),
            U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
          U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                     U13(mark(X)) -> U13(X),
                   U13(active(X)) -> U13(X),
                     U22(mark(X)) -> U22(X),
                   U22(active(X)) -> U22(X),
                U21(X1, mark(X2)) -> U21(X1, X2),
              U21(X1, active(X2)) -> U21(X1, X2),
                U21(mark(X1), X2) -> U21(X1, X2),
              U21(active(X1), X2) -> U21(X1, X2),
                U32(X1, mark(X2)) -> U32(X1, X2),
              U32(X1, active(X2)) -> U32(X1, X2),
                U32(mark(X1), X2) -> U32(X1, X2),
              U32(active(X1), X2) -> U32(X1, X2),
            U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
          U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
            U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
          U31(X1, active(X2), X3) -> U31(X1, X2, X3),
            U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
          U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                     U33(mark(X)) -> U33(X),
                   U33(active(X)) -> U33(X),
                U41(X1, mark(X2)) -> U41(X1, X2),
              U41(X1, active(X2)) -> U41(X1, X2),
                U41(mark(X1), X2) -> U41(X1, X2),
              U41(active(X1), X2) -> U41(X1, X2),
                       s(mark(X)) -> s(X),
                     s(active(X)) -> s(X),
               plus(X1, mark(X2)) -> plus(X1, X2),
             plus(X1, active(X2)) -> plus(X1, X2),
               plus(mark(X1), X2) -> plus(X1, X2),
             plus(active(X1), X2) -> plus(X1, X2),
            U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
          U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
            U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
          U51(X1, active(X2), X3) -> U51(X1, X2, X3),
            U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
          U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                     U61(mark(X)) -> U61(X),
                   U61(active(X)) -> U61(X),
                  x(X1, mark(X2)) -> x(X1, X2),
                x(X1, active(X2)) -> x(X1, X2),
                  x(mark(X1), X2) -> x(X1, X2),
                x(active(X1), X2) -> x(X1, X2),
            U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
          U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
            U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
          U71(X1, active(X2), X3) -> U71(X1, X2, X3),
            U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
          U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                and(X1, mark(X2)) -> and(X1, X2),
              and(X1, active(X2)) -> and(X1, X2),
                and(mark(X1), X2) -> and(X1, X2),
              and(active(X1), X2) -> and(X1, X2),
               isNatKind(mark(X)) -> isNatKind(X),
             isNatKind(active(X)) -> isNatKind(X)}
 DP:
  Strict:
   {
                  mark#(U12(X1, X2)) -> mark#(X1),
                  mark#(U12(X1, X2)) -> U12#(mark(X1), X2),
                  mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)),
                     mark#(isNat(X)) -> active#(isNat(X)),
              mark#(U11(X1, X2, X3)) -> mark#(X1),
              mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)),
              mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3),
                         mark#(tt()) -> active#(tt()),
                       mark#(U13(X)) -> mark#(X),
                       mark#(U13(X)) -> active#(U13(mark(X))),
                       mark#(U13(X)) -> U13#(mark(X)),
                       mark#(U22(X)) -> mark#(X),
                       mark#(U22(X)) -> active#(U22(mark(X))),
                       mark#(U22(X)) -> U22#(mark(X)),
                  mark#(U21(X1, X2)) -> mark#(X1),
                  mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)),
                  mark#(U21(X1, X2)) -> U21#(mark(X1), X2),
                  mark#(U32(X1, X2)) -> mark#(X1),
                  mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)),
                  mark#(U32(X1, X2)) -> U32#(mark(X1), X2),
              mark#(U31(X1, X2, X3)) -> mark#(X1),
              mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)),
              mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3),
                       mark#(U33(X)) -> mark#(X),
                       mark#(U33(X)) -> active#(U33(mark(X))),
                       mark#(U33(X)) -> U33#(mark(X)),
                  mark#(U41(X1, X2)) -> mark#(X1),
                  mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)),
                  mark#(U41(X1, X2)) -> U41#(mark(X1), X2),
                         mark#(s(X)) -> mark#(X),
                         mark#(s(X)) -> active#(s(mark(X))),
                         mark#(s(X)) -> s#(mark(X)),
                 mark#(plus(X1, X2)) -> mark#(X1),
                 mark#(plus(X1, X2)) -> mark#(X2),
                 mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))),
                 mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)),
              mark#(U51(X1, X2, X3)) -> mark#(X1),
              mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)),
              mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3),
                          mark#(0()) -> active#(0()),
                       mark#(U61(X)) -> mark#(X),
                       mark#(U61(X)) -> active#(U61(mark(X))),
                       mark#(U61(X)) -> U61#(mark(X)),
                    mark#(x(X1, X2)) -> mark#(X1),
                    mark#(x(X1, X2)) -> mark#(X2),
                    mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))),
                    mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)),
              mark#(U71(X1, X2, X3)) -> mark#(X1),
              mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)),
              mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3),
                  mark#(and(X1, X2)) -> mark#(X1),
                  mark#(and(X1, X2)) -> active#(and(mark(X1), X2)),
                  mark#(and(X1, X2)) -> and#(mark(X1), X2),
                 mark#(isNatKind(X)) -> active#(isNatKind(X)),
                  U12#(X1, mark(X2)) -> U12#(X1, X2),
                U12#(X1, active(X2)) -> U12#(X1, X2),
                  U12#(mark(X1), X2) -> U12#(X1, X2),
                U12#(active(X1), X2) -> U12#(X1, X2),
                     isNat#(mark(X)) -> isNat#(X),
                   isNat#(active(X)) -> isNat#(X),
              active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))),
              active#(U12(tt(), V2)) -> isNat#(V2),
              active#(U12(tt(), V2)) -> U13#(isNat(V2)),
               active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)),
               active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1),
               active#(isNat(s(V1))) -> isNatKind#(V1),
        active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
        active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2),
        active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)),
        active#(isNat(plus(V1, V2))) -> isNatKind#(V1),
        active#(isNat(plus(V1, V2))) -> isNatKind#(V2),
                 active#(isNat(0())) -> mark#(tt()),
           active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
           active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2),
           active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)),
           active#(isNat(x(V1, V2))) -> isNatKind#(V1),
           active#(isNat(x(V1, V2))) -> isNatKind#(V2),
          active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)),
          active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2),
          active#(U11(tt(), V1, V2)) -> isNat#(V1),
                  active#(U13(tt())) -> mark#(tt()),
                  active#(U22(tt())) -> mark#(tt()),
              active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))),
              active#(U21(tt(), V1)) -> isNat#(V1),
              active#(U21(tt(), V1)) -> U22#(isNat(V1)),
              active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))),
              active#(U32(tt(), V2)) -> isNat#(V2),
              active#(U32(tt(), V2)) -> U33#(isNat(V2)),
          active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)),
          active#(U31(tt(), V1, V2)) -> isNat#(V1),
          active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2),
                  active#(U33(tt())) -> mark#(tt()),
               active#(U41(tt(), N)) -> mark#(N),
              active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
              active#(plus(N, s(M))) -> isNat#(N),
              active#(plus(N, s(M))) -> isNat#(M),
              active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N),
              active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)),
              active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)),
              active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))),
              active#(plus(N, s(M))) -> isNatKind#(N),
              active#(plus(N, s(M))) -> isNatKind#(M),
               active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)),
               active#(plus(N, 0())) -> isNat#(N),
               active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N),
               active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)),
               active#(plus(N, 0())) -> isNatKind#(N),
            active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))),
            active#(U51(tt(), M, N)) -> s#(plus(N, M)),
            active#(U51(tt(), M, N)) -> plus#(N, M),
                  active#(U61(tt())) -> mark#(0()),
                 active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active#(x(N, s(M))) -> isNat#(N),
                 active#(x(N, s(M))) -> isNat#(M),
                 active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N),
                 active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)),
                 active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)),
                 active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))),
                 active#(x(N, s(M))) -> isNatKind#(N),
                 active#(x(N, s(M))) -> isNatKind#(M),
                  active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))),
                  active#(x(N, 0())) -> isNat#(N),
                  active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))),
                  active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)),
                  active#(x(N, 0())) -> isNatKind#(N),
            active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)),
            active#(U71(tt(), M, N)) -> plus#(x(N, M), N),
            active#(U71(tt(), M, N)) -> x#(N, M),
               active#(and(tt(), X)) -> mark#(X),
           active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)),
           active#(isNatKind(s(V1))) -> isNatKind#(V1),
    active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))),
    active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)),
    active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1),
    active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2),
             active#(isNatKind(0())) -> mark#(tt()),
       active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))),
       active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)),
       active#(isNatKind(x(V1, V2))) -> isNatKind#(V1),
       active#(isNatKind(x(V1, V2))) -> isNatKind#(V2),
              U11#(X1, X2, mark(X3)) -> U11#(X1, X2, X3),
            U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3),
              U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3),
            U11#(X1, active(X2), X3) -> U11#(X1, X2, X3),
              U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3),
            U11#(active(X1), X2, X3) -> U11#(X1, X2, X3),
                       U13#(mark(X)) -> U13#(X),
                     U13#(active(X)) -> U13#(X),
                       U22#(mark(X)) -> U22#(X),
                     U22#(active(X)) -> U22#(X),
                  U21#(X1, mark(X2)) -> U21#(X1, X2),
                U21#(X1, active(X2)) -> U21#(X1, X2),
                  U21#(mark(X1), X2) -> U21#(X1, X2),
                U21#(active(X1), X2) -> U21#(X1, X2),
                  U32#(X1, mark(X2)) -> U32#(X1, X2),
                U32#(X1, active(X2)) -> U32#(X1, X2),
                  U32#(mark(X1), X2) -> U32#(X1, X2),
                U32#(active(X1), X2) -> U32#(X1, X2),
              U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3),
            U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3),
              U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3),
            U31#(X1, active(X2), X3) -> U31#(X1, X2, X3),
              U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3),
            U31#(active(X1), X2, X3) -> U31#(X1, X2, X3),
                       U33#(mark(X)) -> U33#(X),
                     U33#(active(X)) -> U33#(X),
                  U41#(X1, mark(X2)) -> U41#(X1, X2),
                U41#(X1, active(X2)) -> U41#(X1, X2),
                  U41#(mark(X1), X2) -> U41#(X1, X2),
                U41#(active(X1), X2) -> U41#(X1, X2),
                         s#(mark(X)) -> s#(X),
                       s#(active(X)) -> s#(X),
                 plus#(X1, mark(X2)) -> plus#(X1, X2),
               plus#(X1, active(X2)) -> plus#(X1, X2),
                 plus#(mark(X1), X2) -> plus#(X1, X2),
               plus#(active(X1), X2) -> plus#(X1, X2),
              U51#(X1, X2, mark(X3)) -> U51#(X1, X2, X3),
            U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3),
              U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3),
            U51#(X1, active(X2), X3) -> U51#(X1, X2, X3),
              U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3),
            U51#(active(X1), X2, X3) -> U51#(X1, X2, X3),
                       U61#(mark(X)) -> U61#(X),
                     U61#(active(X)) -> U61#(X),
                    x#(X1, mark(X2)) -> x#(X1, X2),
                  x#(X1, active(X2)) -> x#(X1, X2),
                    x#(mark(X1), X2) -> x#(X1, X2),
                  x#(active(X1), X2) -> x#(X1, X2),
              U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3),
            U71#(X1, X2, active(X3)) -> U71#(X1, X2, X3),
              U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3),
            U71#(X1, active(X2), X3) -> U71#(X1, X2, X3),
              U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3),
            U71#(active(X1), X2, X3) -> U71#(X1, X2, X3),
                  and#(X1, mark(X2)) -> and#(X1, X2),
                and#(X1, active(X2)) -> and#(X1, X2),
                  and#(mark(X1), X2) -> and#(X1, X2),
                and#(active(X1), X2) -> and#(X1, X2),
                 isNatKind#(mark(X)) -> isNatKind#(X),
               isNatKind#(active(X)) -> isNatKind#(X)
   }
  Weak:
  {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                    mark(isNat(X)) -> active(isNat(X)),
             mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                        mark(tt()) -> active(tt()),
                      mark(U13(X)) -> active(U13(mark(X))),
                      mark(U22(X)) -> active(U22(mark(X))),
                 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                 mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
             mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                      mark(U33(X)) -> active(U33(mark(X))),
                 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                        mark(s(X)) -> active(s(mark(X))),
                mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
             mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                         mark(0()) -> active(0()),
                      mark(U61(X)) -> active(U61(mark(X))),
                   mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
             mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                 mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                mark(isNatKind(X)) -> active(isNatKind(X)),
                 U12(X1, mark(X2)) -> U12(X1, X2),
               U12(X1, active(X2)) -> U12(X1, X2),
                 U12(mark(X1), X2) -> U12(X1, X2),
               U12(active(X1), X2) -> U12(X1, X2),
                    isNat(mark(X)) -> isNat(X),
                  isNat(active(X)) -> isNat(X),
             active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
              active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
       active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active(isNat(0())) -> mark(tt()),
          active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
         active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                 active(U13(tt())) -> mark(tt()),
                 active(U22(tt())) -> mark(tt()),
             active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
             active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
         active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                 active(U33(tt())) -> mark(tt()),
              active(U41(tt(), N)) -> mark(N),
             active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
              active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
           active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                 active(U61(tt())) -> mark(0()),
                active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
           active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
              active(and(tt(), X)) -> mark(X),
          active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
   active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
            active(isNatKind(0())) -> mark(tt()),
      active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
             U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
           U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
             U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
           U11(X1, active(X2), X3) -> U11(X1, X2, X3),
             U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
           U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                      U13(mark(X)) -> U13(X),
                    U13(active(X)) -> U13(X),
                      U22(mark(X)) -> U22(X),
                    U22(active(X)) -> U22(X),
                 U21(X1, mark(X2)) -> U21(X1, X2),
               U21(X1, active(X2)) -> U21(X1, X2),
                 U21(mark(X1), X2) -> U21(X1, X2),
               U21(active(X1), X2) -> U21(X1, X2),
                 U32(X1, mark(X2)) -> U32(X1, X2),
               U32(X1, active(X2)) -> U32(X1, X2),
                 U32(mark(X1), X2) -> U32(X1, X2),
               U32(active(X1), X2) -> U32(X1, X2),
             U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
           U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
             U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
           U31(X1, active(X2), X3) -> U31(X1, X2, X3),
             U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
           U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                      U33(mark(X)) -> U33(X),
                    U33(active(X)) -> U33(X),
                 U41(X1, mark(X2)) -> U41(X1, X2),
               U41(X1, active(X2)) -> U41(X1, X2),
                 U41(mark(X1), X2) -> U41(X1, X2),
               U41(active(X1), X2) -> U41(X1, X2),
                        s(mark(X)) -> s(X),
                      s(active(X)) -> s(X),
                plus(X1, mark(X2)) -> plus(X1, X2),
              plus(X1, active(X2)) -> plus(X1, X2),
                plus(mark(X1), X2) -> plus(X1, X2),
              plus(active(X1), X2) -> plus(X1, X2),
             U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
           U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
             U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
           U51(X1, active(X2), X3) -> U51(X1, X2, X3),
             U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
           U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                      U61(mark(X)) -> U61(X),
                    U61(active(X)) -> U61(X),
                   x(X1, mark(X2)) -> x(X1, X2),
                 x(X1, active(X2)) -> x(X1, X2),
                   x(mark(X1), X2) -> x(X1, X2),
                 x(active(X1), X2) -> x(X1, X2),
             U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
           U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
             U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
           U71(X1, active(X2), X3) -> U71(X1, X2, X3),
             U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
           U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                 and(X1, mark(X2)) -> and(X1, X2),
               and(X1, active(X2)) -> and(X1, X2),
                 and(mark(X1), X2) -> and(X1, X2),
               and(active(X1), X2) -> and(X1, X2),
                isNatKind(mark(X)) -> isNatKind(X),
              isNatKind(active(X)) -> isNatKind(X)}
  EDG:
   {
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNatKind(0())) -> mark#(tt()))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(and(tt(), X)) -> mark#(X))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U71(tt(), M, N)) -> x#(N, M))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(x(N, 0())) -> isNatKind#(N))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(x(N, 0())) -> isNat#(N))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(x(N, s(M))) -> isNatKind#(M))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(x(N, s(M))) -> isNatKind#(N))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(x(N, s(M))) -> isNat#(M))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(x(N, s(M))) -> isNat#(N))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U61(tt())) -> mark#(0()))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U51(tt(), M, N)) -> plus#(N, M))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(plus(N, 0())) -> isNatKind#(N))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(plus(N, 0())) -> isNat#(N))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(plus(N, s(M))) -> isNatKind#(M))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(plus(N, s(M))) -> isNatKind#(N))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(plus(N, s(M))) -> isNat#(M))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(plus(N, s(M))) -> isNat#(N))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U41(tt(), N)) -> mark#(N))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U33(tt())) -> mark#(tt()))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U32(tt(), V2)) -> isNat#(V2))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U21(tt(), V1)) -> isNat#(V1))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U22(tt())) -> mark#(tt()))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U13(tt())) -> mark#(tt()))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNat(0())) -> mark#(tt()))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNat(s(V1))) -> isNatKind#(V1))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U12(tt(), V2)) -> isNat#(V2))
    (mark#(U22(X)) -> active#(U22(mark(X))), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNatKind(0())) -> mark#(tt()))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(and(tt(), X)) -> mark#(X))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U71(tt(), M, N)) -> x#(N, M))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(x(N, 0())) -> isNatKind#(N))
    (mark#(s(X)) -> active#(s(mark(X))), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (mark#(s(X)) -> active#(s(mark(X))), active#(x(N, 0())) -> isNat#(N))
    (mark#(s(X)) -> active#(s(mark(X))), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
    (mark#(s(X)) -> active#(s(mark(X))), active#(x(N, s(M))) -> isNatKind#(M))
    (mark#(s(X)) -> active#(s(mark(X))), active#(x(N, s(M))) -> isNatKind#(N))
    (mark#(s(X)) -> active#(s(mark(X))), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(s(X)) -> active#(s(mark(X))), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(s(X)) -> active#(s(mark(X))), active#(x(N, s(M))) -> isNat#(M))
    (mark#(s(X)) -> active#(s(mark(X))), active#(x(N, s(M))) -> isNat#(N))
    (mark#(s(X)) -> active#(s(mark(X))), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U61(tt())) -> mark#(0()))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U51(tt(), M, N)) -> plus#(N, M))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
    (mark#(s(X)) -> active#(s(mark(X))), active#(plus(N, 0())) -> isNatKind#(N))
    (mark#(s(X)) -> active#(s(mark(X))), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (mark#(s(X)) -> active#(s(mark(X))), active#(plus(N, 0())) -> isNat#(N))
    (mark#(s(X)) -> active#(s(mark(X))), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(plus(N, s(M))) -> isNatKind#(M))
    (mark#(s(X)) -> active#(s(mark(X))), active#(plus(N, s(M))) -> isNatKind#(N))
    (mark#(s(X)) -> active#(s(mark(X))), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(s(X)) -> active#(s(mark(X))), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, 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))) -> isNat#(N))
    (mark#(s(X)) -> active#(s(mark(X))), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U41(tt(), N)) -> mark#(N))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U33(tt())) -> mark#(tt()))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U32(tt(), V2)) -> isNat#(V2))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U21(tt(), V1)) -> isNat#(V1))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U22(tt())) -> mark#(tt()))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U13(tt())) -> mark#(tt()))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(0())) -> mark#(tt()))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(s(V1))) -> isNatKind#(V1))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (mark#(s(X)) -> active#(s(mark(X))), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U12(tt(), V2)) -> isNat#(V2))
    (mark#(s(X)) -> active#(s(mark(X))), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(and(X1, X2)) -> mark#(X1))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(x(X1, X2)) -> mark#(X2))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(x(X1, X2)) -> mark#(X1))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U61(X)) -> U61#(mark(X)))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U61(X)) -> active#(U61(mark(X))))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U61(X)) -> mark#(X))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(plus(X1, X2)) -> mark#(X2))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(plus(X1, X2)) -> mark#(X1))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(s(X)) -> s#(mark(X)))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(s(X)) -> active#(s(mark(X))))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(s(X)) -> mark#(X))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U41(X1, X2)) -> mark#(X1))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U33(X)) -> U33#(mark(X)))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U33(X)) -> active#(U33(mark(X))))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U33(X)) -> mark#(X))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U32(X1, X2)) -> mark#(X1))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U21(X1, X2)) -> mark#(X1))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U22(X)) -> U22#(mark(X)))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U22(X)) -> active#(U22(mark(X))))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U22(X)) -> mark#(X))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U13(X)) -> U13#(mark(X)))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U13(X)) -> active#(U13(mark(X))))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U13(X)) -> mark#(X))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(isNat(X)) -> active#(isNat(X)))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U12(X1, X2)) -> mark#(X1))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(and(X1, X2)) -> mark#(X1))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(x(X1, X2)) -> mark#(X2))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(x(X1, X2)) -> mark#(X1))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U61(X)) -> U61#(mark(X)))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U61(X)) -> active#(U61(mark(X))))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U61(X)) -> mark#(X))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(plus(X1, X2)) -> mark#(X2))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(plus(X1, X2)) -> mark#(X1))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(s(X)) -> s#(mark(X)))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(s(X)) -> active#(s(mark(X))))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(s(X)) -> mark#(X))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U41(X1, X2)) -> mark#(X1))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U33(X)) -> U33#(mark(X)))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U33(X)) -> active#(U33(mark(X))))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U33(X)) -> mark#(X))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U32(X1, X2)) -> mark#(X1))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U21(X1, X2)) -> mark#(X1))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U22(X)) -> U22#(mark(X)))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U22(X)) -> active#(U22(mark(X))))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U22(X)) -> mark#(X))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U13(X)) -> U13#(mark(X)))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U13(X)) -> active#(U13(mark(X))))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U13(X)) -> mark#(X))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(isNat(X)) -> active#(isNat(X)))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U12(X1, X2)) -> mark#(X1))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(and(X1, X2)) -> mark#(X1))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(x(X1, X2)) -> mark#(X2))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(x(X1, X2)) -> mark#(X1))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U61(X)) -> U61#(mark(X)))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U61(X)) -> active#(U61(mark(X))))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U61(X)) -> mark#(X))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(plus(X1, X2)) -> mark#(X2))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(plus(X1, X2)) -> mark#(X1))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(s(X)) -> s#(mark(X)))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(s(X)) -> active#(s(mark(X))))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(s(X)) -> mark#(X))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U41(X1, X2)) -> mark#(X1))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U33(X)) -> U33#(mark(X)))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U33(X)) -> active#(U33(mark(X))))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U33(X)) -> mark#(X))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U32(X1, X2)) -> mark#(X1))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U21(X1, X2)) -> mark#(X1))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U22(X)) -> U22#(mark(X)))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U22(X)) -> active#(U22(mark(X))))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U22(X)) -> mark#(X))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U13(X)) -> U13#(mark(X)))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U13(X)) -> active#(U13(mark(X))))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U13(X)) -> mark#(X))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(isNat(X)) -> active#(isNat(X)))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U12(X1, X2)) -> mark#(X1))
    (active#(U71(tt(), M, N)) -> x#(N, M), x#(active(X1), X2) -> x#(X1, X2))
    (active#(U71(tt(), M, N)) -> x#(N, M), x#(mark(X1), X2) -> x#(X1, X2))
    (active#(U71(tt(), M, N)) -> x#(N, M), x#(X1, active(X2)) -> x#(X1, X2))
    (active#(U71(tt(), M, N)) -> x#(N, M), x#(X1, mark(X2)) -> x#(X1, X2))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNatKind(0())) -> mark#(tt()))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(and(tt(), X)) -> mark#(X))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U71(tt(), M, N)) -> x#(N, M))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(x(N, 0())) -> isNatKind#(N))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(x(N, 0())) -> isNat#(N))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(x(N, s(M))) -> isNatKind#(M))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(x(N, s(M))) -> isNatKind#(N))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(x(N, s(M))) -> isNat#(M))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(x(N, s(M))) -> isNat#(N))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U61(tt())) -> mark#(0()))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U51(tt(), M, N)) -> plus#(N, M))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(plus(N, 0())) -> isNatKind#(N))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(plus(N, 0())) -> isNat#(N))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(plus(N, s(M))) -> isNatKind#(M))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(plus(N, s(M))) -> isNatKind#(N))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(plus(N, s(M))) -> isNat#(M))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(plus(N, s(M))) -> isNat#(N))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U41(tt(), N)) -> mark#(N))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U33(tt())) -> mark#(tt()))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U32(tt(), V2)) -> isNat#(V2))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U21(tt(), V1)) -> isNat#(V1))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U22(tt())) -> mark#(tt()))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U13(tt())) -> mark#(tt()))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNat(0())) -> mark#(tt()))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNat(s(V1))) -> isNatKind#(V1))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U12(tt(), V2)) -> isNat#(V2))
    (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNatKind(0())) -> mark#(tt()))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(and(tt(), X)) -> mark#(X))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U71(tt(), M, N)) -> x#(N, M))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(x(N, 0())) -> isNatKind#(N))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(x(N, 0())) -> isNat#(N))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(x(N, s(M))) -> isNatKind#(M))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(x(N, s(M))) -> isNatKind#(N))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(x(N, s(M))) -> isNat#(M))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(x(N, s(M))) -> isNat#(N))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U61(tt())) -> mark#(0()))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U51(tt(), M, N)) -> plus#(N, M))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(plus(N, 0())) -> isNatKind#(N))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(plus(N, 0())) -> isNat#(N))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(plus(N, s(M))) -> isNatKind#(M))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(plus(N, s(M))) -> isNatKind#(N))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(plus(N, s(M))) -> isNat#(M))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(plus(N, s(M))) -> isNat#(N))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U41(tt(), N)) -> mark#(N))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U33(tt())) -> mark#(tt()))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U32(tt(), V2)) -> isNat#(V2))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U21(tt(), V1)) -> isNat#(V1))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U22(tt())) -> mark#(tt()))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U13(tt())) -> mark#(tt()))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNat(0())) -> mark#(tt()))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNat(s(V1))) -> isNatKind#(V1))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U12(tt(), V2)) -> isNat#(V2))
    (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(and(X1, X2)) -> mark#(X1))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(x(X1, X2)) -> mark#(X2))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(x(X1, X2)) -> mark#(X1))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U61(X)) -> U61#(mark(X)))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U61(X)) -> active#(U61(mark(X))))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U61(X)) -> mark#(X))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(plus(X1, X2)) -> mark#(X2))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(plus(X1, X2)) -> mark#(X1))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(s(X)) -> s#(mark(X)))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(s(X)) -> active#(s(mark(X))))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(s(X)) -> mark#(X))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U41(X1, X2)) -> mark#(X1))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U33(X)) -> U33#(mark(X)))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U33(X)) -> active#(U33(mark(X))))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U33(X)) -> mark#(X))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U32(X1, X2)) -> mark#(X1))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U21(X1, X2)) -> mark#(X1))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U22(X)) -> U22#(mark(X)))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U22(X)) -> active#(U22(mark(X))))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U22(X)) -> mark#(X))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U13(X)) -> U13#(mark(X)))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U13(X)) -> active#(U13(mark(X))))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U13(X)) -> mark#(X))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(isNat(X)) -> active#(isNat(X)))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U12(X1, X2)) -> mark#(X1))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(and(X1, X2)) -> mark#(X1))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(x(X1, X2)) -> mark#(X2))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(x(X1, X2)) -> mark#(X1))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U61(X)) -> U61#(mark(X)))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U61(X)) -> active#(U61(mark(X))))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U61(X)) -> mark#(X))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(plus(X1, X2)) -> mark#(X2))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(plus(X1, X2)) -> mark#(X1))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(s(X)) -> s#(mark(X)))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(s(X)) -> active#(s(mark(X))))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(s(X)) -> mark#(X))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U41(X1, X2)) -> mark#(X1))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U33(X)) -> U33#(mark(X)))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U33(X)) -> active#(U33(mark(X))))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U33(X)) -> mark#(X))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U32(X1, X2)) -> mark#(X1))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U21(X1, X2)) -> mark#(X1))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U22(X)) -> U22#(mark(X)))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U22(X)) -> active#(U22(mark(X))))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U22(X)) -> mark#(X))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U13(X)) -> U13#(mark(X)))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U13(X)) -> active#(U13(mark(X))))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U13(X)) -> mark#(X))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X)))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U12(X1, X2)) -> mark#(X1))
    (active#(U51(tt(), M, N)) -> s#(plus(N, M)), s#(active(X)) -> s#(X))
    (active#(U51(tt(), M, N)) -> s#(plus(N, M)), s#(mark(X)) -> s#(X))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(and(X1, X2)) -> mark#(X1))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(x(X1, X2)) -> mark#(X2))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(x(X1, X2)) -> mark#(X1))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U61(X)) -> U61#(mark(X)))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U61(X)) -> active#(U61(mark(X))))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U61(X)) -> mark#(X))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(0()) -> active#(0()))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U51(X1, X2, X3)) -> 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#(plus(X1, X2)) -> mark#(X2))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> mark#(X1))
    (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#(s(X)) -> mark#(X))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U41(X1, X2)) -> mark#(X1))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U33(X)) -> U33#(mark(X)))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U33(X)) -> active#(U33(mark(X))))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U33(X)) -> mark#(X))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U32(X1, X2)) -> mark#(X1))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U21(X1, X2)) -> mark#(X1))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U22(X)) -> U22#(mark(X)))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U22(X)) -> active#(U22(mark(X))))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U22(X)) -> mark#(X))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U13(X)) -> U13#(mark(X)))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U13(X)) -> active#(U13(mark(X))))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U13(X)) -> mark#(X))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(tt()) -> active#(tt()))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(isNat(X)) -> active#(isNat(X)))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (mark#(plus(X1, X2)) -> mark#(X2), mark#(U12(X1, X2)) -> mark#(X1))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNatKind(0())) -> mark#(tt()))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(and(tt(), X)) -> mark#(X))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U71(tt(), M, N)) -> x#(N, M))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(x(N, 0())) -> isNatKind#(N))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(x(N, 0())) -> isNat#(N))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(x(N, s(M))) -> isNatKind#(M))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(x(N, s(M))) -> isNatKind#(N))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(x(N, s(M))) -> isNat#(M))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(x(N, s(M))) -> isNat#(N))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U61(tt())) -> mark#(0()))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U51(tt(), M, N)) -> plus#(N, M))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, 0())) -> isNatKind#(N))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (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())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, s(M))) -> isNatKind#(M))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, s(M))) -> isNatKind#(N))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, 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))) -> isNat#(N))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U41(tt(), N)) -> mark#(N))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U33(tt())) -> mark#(tt()))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U32(tt(), V2)) -> isNat#(V2))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U21(tt(), V1)) -> isNat#(V1))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U22(tt())) -> mark#(tt()))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U13(tt())) -> mark#(tt()))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (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))) -> isNatKind#(V2))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> isNatKind#(V1))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U12(tt(), V2)) -> isNat#(V2))
    (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
    (active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))), U61#(active(X)) -> U61#(X))
    (active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))), U61#(mark(X)) -> U61#(X))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(and(X1, X2)) -> mark#(X1))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(x(X1, X2)) -> mark#(X2))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(x(X1, X2)) -> mark#(X1))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U61(X)) -> U61#(mark(X)))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U61(X)) -> active#(U61(mark(X))))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U61(X)) -> mark#(X))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(plus(X1, X2)) -> mark#(X2))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(plus(X1, X2)) -> mark#(X1))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(s(X)) -> s#(mark(X)))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(s(X)) -> active#(s(mark(X))))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(s(X)) -> mark#(X))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U41(X1, X2)) -> mark#(X1))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U33(X)) -> U33#(mark(X)))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U33(X)) -> active#(U33(mark(X))))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U33(X)) -> mark#(X))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U32(X1, X2)) -> mark#(X1))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U21(X1, X2)) -> mark#(X1))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U22(X)) -> U22#(mark(X)))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U22(X)) -> active#(U22(mark(X))))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U22(X)) -> mark#(X))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U13(X)) -> U13#(mark(X)))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U13(X)) -> active#(U13(mark(X))))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U13(X)) -> mark#(X))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(isNat(X)) -> active#(isNat(X)))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U12(X1, X2)) -> mark#(X1))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U61(X)) -> U61#(mark(X)))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U61(X)) -> active#(U61(mark(X))))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(0()) -> active#(0()))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> s#(mark(X)))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> active#(s(mark(X))))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> mark#(X))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U33(X)) -> U33#(mark(X)))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U33(X)) -> active#(U33(mark(X))))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U22(X)) -> U22#(mark(X)))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U22(X)) -> active#(U22(mark(X))))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U13(X)) -> U13#(mark(X)))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U13(X)) -> active#(U13(mark(X))))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(tt()) -> active#(tt()))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U61(X)) -> U61#(mark(X)))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U61(X)) -> active#(U61(mark(X))))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(0()) -> active#(0()))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(s(X)) -> s#(mark(X)))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(s(X)) -> active#(s(mark(X))))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U33(X)) -> U33#(mark(X)))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U33(X)) -> active#(U33(mark(X))))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U22(X)) -> U22#(mark(X)))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U22(X)) -> active#(U22(mark(X))))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U13(X)) -> U13#(mark(X)))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U13(X)) -> active#(U13(mark(X))))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(tt()) -> active#(tt()))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (mark#(U32(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U61(X)) -> U61#(mark(X)))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U61(X)) -> active#(U61(mark(X))))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(0()) -> active#(0()))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(s(X)) -> s#(mark(X)))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(s(X)) -> active#(s(mark(X))))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U33(X)) -> U33#(mark(X)))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U33(X)) -> active#(U33(mark(X))))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U22(X)) -> U22#(mark(X)))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U22(X)) -> active#(U22(mark(X))))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U13(X)) -> U13#(mark(X)))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U13(X)) -> active#(U13(mark(X))))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(tt()) -> active#(tt()))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (mark#(U41(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U61(X)) -> U61#(mark(X)))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U61(X)) -> active#(U61(mark(X))))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(0()) -> active#(0()))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> s#(mark(X)))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> active#(s(mark(X))))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> mark#(X))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U33(X)) -> U33#(mark(X)))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U33(X)) -> active#(U33(mark(X))))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U22(X)) -> U22#(mark(X)))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U22(X)) -> active#(U22(mark(X))))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U13(X)) -> U13#(mark(X)))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U13(X)) -> active#(U13(mark(X))))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(tt()) -> active#(tt()))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U61(X)) -> U61#(mark(X)))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U61(X)) -> active#(U61(mark(X))))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(0()) -> active#(0()))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> s#(mark(X)))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> active#(s(mark(X))))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> mark#(X))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U33(X)) -> U33#(mark(X)))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U33(X)) -> active#(U33(mark(X))))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U22(X)) -> U22#(mark(X)))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U22(X)) -> active#(U22(mark(X))))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U13(X)) -> U13#(mark(X)))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U13(X)) -> active#(U13(mark(X))))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(tt()) -> active#(tt()))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
    (mark#(U12(X1, X2)) -> U12#(mark(X1), X2), U12#(active(X1), X2) -> U12#(X1, X2))
    (mark#(U12(X1, X2)) -> U12#(mark(X1), X2), U12#(mark(X1), X2) -> U12#(X1, X2))
    (mark#(U12(X1, X2)) -> U12#(mark(X1), X2), U12#(X1, active(X2)) -> U12#(X1, X2))
    (mark#(U12(X1, X2)) -> U12#(mark(X1), X2), U12#(X1, mark(X2)) -> U12#(X1, X2))
    (mark#(U32(X1, X2)) -> U32#(mark(X1), X2), U32#(active(X1), X2) -> U32#(X1, X2))
    (mark#(U32(X1, X2)) -> U32#(mark(X1), X2), U32#(mark(X1), X2) -> U32#(X1, X2))
    (mark#(U32(X1, X2)) -> U32#(mark(X1), X2), U32#(X1, active(X2)) -> U32#(X1, X2))
    (mark#(U32(X1, X2)) -> U32#(mark(X1), X2), U32#(X1, mark(X2)) -> U32#(X1, X2))
    (mark#(and(X1, X2)) -> and#(mark(X1), X2), and#(active(X1), X2) -> and#(X1, X2))
    (mark#(and(X1, X2)) -> and#(mark(X1), X2), and#(mark(X1), X2) -> and#(X1, X2))
    (mark#(and(X1, X2)) -> and#(mark(X1), X2), and#(X1, active(X2)) -> and#(X1, X2))
    (mark#(and(X1, X2)) -> and#(mark(X1), X2), and#(X1, mark(X2)) -> and#(X1, X2))
    (mark#(U22(X)) -> mark#(X), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (mark#(U22(X)) -> mark#(X), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (mark#(U22(X)) -> mark#(X), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (mark#(U22(X)) -> mark#(X), mark#(and(X1, X2)) -> mark#(X1))
    (mark#(U22(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (mark#(U22(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (mark#(U22(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (mark#(U22(X)) -> mark#(X), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (mark#(U22(X)) -> mark#(X), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (mark#(U22(X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X2))
    (mark#(U22(X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X1))
    (mark#(U22(X)) -> mark#(X), mark#(U61(X)) -> U61#(mark(X)))
    (mark#(U22(X)) -> mark#(X), mark#(U61(X)) -> active#(U61(mark(X))))
    (mark#(U22(X)) -> mark#(X), mark#(U61(X)) -> mark#(X))
    (mark#(U22(X)) -> mark#(X), mark#(0()) -> active#(0()))
    (mark#(U22(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (mark#(U22(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (mark#(U22(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (mark#(U22(X)) -> mark#(X), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (mark#(U22(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (mark#(U22(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2))
    (mark#(U22(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1))
    (mark#(U22(X)) -> mark#(X), mark#(s(X)) -> s#(mark(X)))
    (mark#(U22(X)) -> mark#(X), mark#(s(X)) -> active#(s(mark(X))))
    (mark#(U22(X)) -> mark#(X), mark#(s(X)) -> mark#(X))
    (mark#(U22(X)) -> mark#(X), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (mark#(U22(X)) -> mark#(X), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (mark#(U22(X)) -> mark#(X), mark#(U41(X1, X2)) -> mark#(X1))
    (mark#(U22(X)) -> mark#(X), mark#(U33(X)) -> U33#(mark(X)))
    (mark#(U22(X)) -> mark#(X), mark#(U33(X)) -> active#(U33(mark(X))))
    (mark#(U22(X)) -> mark#(X), mark#(U33(X)) -> mark#(X))
    (mark#(U22(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (mark#(U22(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (mark#(U22(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (mark#(U22(X)) -> mark#(X), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (mark#(U22(X)) -> mark#(X), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (mark#(U22(X)) -> mark#(X), mark#(U32(X1, X2)) -> mark#(X1))
    (mark#(U22(X)) -> mark#(X), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (mark#(U22(X)) -> mark#(X), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (mark#(U22(X)) -> mark#(X), mark#(U21(X1, X2)) -> mark#(X1))
    (mark#(U22(X)) -> mark#(X), mark#(U22(X)) -> U22#(mark(X)))
    (mark#(U22(X)) -> mark#(X), mark#(U22(X)) -> active#(U22(mark(X))))
    (mark#(U22(X)) -> mark#(X), mark#(U22(X)) -> mark#(X))
    (mark#(U22(X)) -> mark#(X), mark#(U13(X)) -> U13#(mark(X)))
    (mark#(U22(X)) -> mark#(X), mark#(U13(X)) -> active#(U13(mark(X))))
    (mark#(U22(X)) -> mark#(X), mark#(U13(X)) -> mark#(X))
    (mark#(U22(X)) -> mark#(X), mark#(tt()) -> active#(tt()))
    (mark#(U22(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (mark#(U22(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (mark#(U22(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (mark#(U22(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)))
    (mark#(U22(X)) -> mark#(X), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (mark#(U22(X)) -> mark#(X), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (mark#(U22(X)) -> mark#(X), mark#(U12(X1, X2)) -> mark#(X1))
    (mark#(s(X)) -> mark#(X), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (mark#(s(X)) -> mark#(X), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (mark#(s(X)) -> mark#(X), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (mark#(s(X)) -> mark#(X), mark#(and(X1, X2)) -> mark#(X1))
    (mark#(s(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (mark#(s(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (mark#(s(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (mark#(s(X)) -> mark#(X), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (mark#(s(X)) -> mark#(X), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (mark#(s(X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X2))
    (mark#(s(X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X1))
    (mark#(s(X)) -> mark#(X), mark#(U61(X)) -> U61#(mark(X)))
    (mark#(s(X)) -> mark#(X), mark#(U61(X)) -> active#(U61(mark(X))))
    (mark#(s(X)) -> mark#(X), mark#(U61(X)) -> mark#(X))
    (mark#(s(X)) -> mark#(X), mark#(0()) -> active#(0()))
    (mark#(s(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (mark#(s(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (mark#(s(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> 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#(plus(X1, X2)) -> mark#(X2))
    (mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1))
    (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#(s(X)) -> mark#(X))
    (mark#(s(X)) -> mark#(X), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (mark#(s(X)) -> mark#(X), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (mark#(s(X)) -> mark#(X), mark#(U41(X1, X2)) -> mark#(X1))
    (mark#(s(X)) -> mark#(X), mark#(U33(X)) -> U33#(mark(X)))
    (mark#(s(X)) -> mark#(X), mark#(U33(X)) -> active#(U33(mark(X))))
    (mark#(s(X)) -> mark#(X), mark#(U33(X)) -> mark#(X))
    (mark#(s(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (mark#(s(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (mark#(s(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (mark#(s(X)) -> mark#(X), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (mark#(s(X)) -> mark#(X), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (mark#(s(X)) -> mark#(X), mark#(U32(X1, X2)) -> mark#(X1))
    (mark#(s(X)) -> mark#(X), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (mark#(s(X)) -> mark#(X), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (mark#(s(X)) -> mark#(X), mark#(U21(X1, X2)) -> mark#(X1))
    (mark#(s(X)) -> mark#(X), mark#(U22(X)) -> U22#(mark(X)))
    (mark#(s(X)) -> mark#(X), mark#(U22(X)) -> active#(U22(mark(X))))
    (mark#(s(X)) -> mark#(X), mark#(U22(X)) -> mark#(X))
    (mark#(s(X)) -> mark#(X), mark#(U13(X)) -> U13#(mark(X)))
    (mark#(s(X)) -> mark#(X), mark#(U13(X)) -> active#(U13(mark(X))))
    (mark#(s(X)) -> mark#(X), mark#(U13(X)) -> mark#(X))
    (mark#(s(X)) -> mark#(X), mark#(tt()) -> active#(tt()))
    (mark#(s(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (mark#(s(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (mark#(s(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (mark#(s(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)))
    (mark#(s(X)) -> mark#(X), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (mark#(s(X)) -> mark#(X), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (mark#(s(X)) -> mark#(X), mark#(U12(X1, X2)) -> mark#(X1))
    (isNat#(mark(X)) -> isNat#(X), isNat#(active(X)) -> isNat#(X))
    (isNat#(mark(X)) -> isNat#(X), isNat#(mark(X)) -> isNat#(X))
    (active#(and(tt(), X)) -> mark#(X), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (active#(and(tt(), X)) -> mark#(X), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (active#(and(tt(), X)) -> mark#(X), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (active#(and(tt(), X)) -> mark#(X), mark#(and(X1, X2)) -> mark#(X1))
    (active#(and(tt(), X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (active#(and(tt(), X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (active#(and(tt(), X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (active#(and(tt(), X)) -> mark#(X), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (active#(and(tt(), X)) -> mark#(X), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (active#(and(tt(), X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X2))
    (active#(and(tt(), X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X1))
    (active#(and(tt(), X)) -> mark#(X), mark#(U61(X)) -> U61#(mark(X)))
    (active#(and(tt(), X)) -> mark#(X), mark#(U61(X)) -> active#(U61(mark(X))))
    (active#(and(tt(), X)) -> mark#(X), mark#(U61(X)) -> mark#(X))
    (active#(and(tt(), X)) -> mark#(X), mark#(0()) -> active#(0()))
    (active#(and(tt(), X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (active#(and(tt(), X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (active#(and(tt(), X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (active#(and(tt(), X)) -> mark#(X), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (active#(and(tt(), X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (active#(and(tt(), X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2))
    (active#(and(tt(), X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1))
    (active#(and(tt(), X)) -> mark#(X), mark#(s(X)) -> s#(mark(X)))
    (active#(and(tt(), X)) -> mark#(X), mark#(s(X)) -> active#(s(mark(X))))
    (active#(and(tt(), X)) -> mark#(X), mark#(s(X)) -> mark#(X))
    (active#(and(tt(), X)) -> mark#(X), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (active#(and(tt(), X)) -> mark#(X), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (active#(and(tt(), X)) -> mark#(X), mark#(U41(X1, X2)) -> mark#(X1))
    (active#(and(tt(), X)) -> mark#(X), mark#(U33(X)) -> U33#(mark(X)))
    (active#(and(tt(), X)) -> mark#(X), mark#(U33(X)) -> active#(U33(mark(X))))
    (active#(and(tt(), X)) -> mark#(X), mark#(U33(X)) -> mark#(X))
    (active#(and(tt(), X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (active#(and(tt(), X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (active#(and(tt(), X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (active#(and(tt(), X)) -> mark#(X), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (active#(and(tt(), X)) -> mark#(X), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (active#(and(tt(), X)) -> mark#(X), mark#(U32(X1, X2)) -> mark#(X1))
    (active#(and(tt(), X)) -> mark#(X), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (active#(and(tt(), X)) -> mark#(X), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (active#(and(tt(), X)) -> mark#(X), mark#(U21(X1, X2)) -> mark#(X1))
    (active#(and(tt(), X)) -> mark#(X), mark#(U22(X)) -> U22#(mark(X)))
    (active#(and(tt(), X)) -> mark#(X), mark#(U22(X)) -> active#(U22(mark(X))))
    (active#(and(tt(), X)) -> mark#(X), mark#(U22(X)) -> mark#(X))
    (active#(and(tt(), X)) -> mark#(X), mark#(U13(X)) -> U13#(mark(X)))
    (active#(and(tt(), X)) -> mark#(X), mark#(U13(X)) -> active#(U13(mark(X))))
    (active#(and(tt(), X)) -> mark#(X), mark#(U13(X)) -> mark#(X))
    (active#(and(tt(), X)) -> mark#(X), mark#(tt()) -> active#(tt()))
    (active#(and(tt(), X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (active#(and(tt(), X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (active#(and(tt(), X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (active#(and(tt(), X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)))
    (active#(and(tt(), X)) -> mark#(X), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (active#(and(tt(), X)) -> mark#(X), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (active#(and(tt(), X)) -> mark#(X), mark#(U12(X1, X2)) -> mark#(X1))
    (U13#(active(X)) -> U13#(X), U13#(active(X)) -> U13#(X))
    (U13#(active(X)) -> U13#(X), U13#(mark(X)) -> U13#(X))
    (U22#(active(X)) -> U22#(X), U22#(active(X)) -> U22#(X))
    (U22#(active(X)) -> U22#(X), U22#(mark(X)) -> U22#(X))
    (U33#(active(X)) -> U33#(X), U33#(active(X)) -> U33#(X))
    (U33#(active(X)) -> U33#(X), U33#(mark(X)) -> U33#(X))
    (s#(active(X)) -> s#(X), s#(active(X)) -> s#(X))
    (s#(active(X)) -> s#(X), s#(mark(X)) -> s#(X))
    (U61#(active(X)) -> U61#(X), U61#(active(X)) -> U61#(X))
    (U61#(active(X)) -> U61#(X), U61#(mark(X)) -> U61#(X))
    (isNatKind#(active(X)) -> isNatKind#(X), isNatKind#(active(X)) -> isNatKind#(X))
    (isNatKind#(active(X)) -> isNatKind#(X), isNatKind#(mark(X)) -> isNatKind#(X))
    (U12#(X1, active(X2)) -> U12#(X1, X2), U12#(active(X1), X2) -> U12#(X1, X2))
    (U12#(X1, active(X2)) -> U12#(X1, X2), U12#(mark(X1), X2) -> U12#(X1, X2))
    (U12#(X1, active(X2)) -> U12#(X1, X2), U12#(X1, active(X2)) -> U12#(X1, X2))
    (U12#(X1, active(X2)) -> U12#(X1, X2), U12#(X1, mark(X2)) -> U12#(X1, X2))
    (U12#(active(X1), X2) -> U12#(X1, X2), U12#(active(X1), X2) -> U12#(X1, X2))
    (U12#(active(X1), X2) -> U12#(X1, X2), U12#(mark(X1), X2) -> U12#(X1, X2))
    (U12#(active(X1), X2) -> U12#(X1, X2), U12#(X1, active(X2)) -> U12#(X1, X2))
    (U12#(active(X1), X2) -> U12#(X1, X2), U12#(X1, mark(X2)) -> U12#(X1, X2))
    (U21#(X1, active(X2)) -> U21#(X1, X2), U21#(active(X1), X2) -> U21#(X1, X2))
    (U21#(X1, active(X2)) -> U21#(X1, X2), U21#(mark(X1), X2) -> U21#(X1, X2))
    (U21#(X1, active(X2)) -> U21#(X1, X2), U21#(X1, active(X2)) -> U21#(X1, X2))
    (U21#(X1, active(X2)) -> U21#(X1, X2), U21#(X1, mark(X2)) -> U21#(X1, X2))
    (U21#(active(X1), X2) -> U21#(X1, X2), U21#(active(X1), X2) -> U21#(X1, X2))
    (U21#(active(X1), X2) -> U21#(X1, X2), U21#(mark(X1), X2) -> U21#(X1, X2))
    (U21#(active(X1), X2) -> U21#(X1, X2), U21#(X1, active(X2)) -> U21#(X1, X2))
    (U21#(active(X1), X2) -> U21#(X1, X2), U21#(X1, mark(X2)) -> U21#(X1, X2))
    (U32#(X1, active(X2)) -> U32#(X1, X2), U32#(active(X1), X2) -> U32#(X1, X2))
    (U32#(X1, active(X2)) -> U32#(X1, X2), U32#(mark(X1), X2) -> U32#(X1, X2))
    (U32#(X1, active(X2)) -> U32#(X1, X2), U32#(X1, active(X2)) -> U32#(X1, X2))
    (U32#(X1, active(X2)) -> U32#(X1, X2), U32#(X1, mark(X2)) -> U32#(X1, X2))
    (U32#(active(X1), X2) -> U32#(X1, X2), U32#(active(X1), X2) -> U32#(X1, X2))
    (U32#(active(X1), X2) -> U32#(X1, X2), U32#(mark(X1), X2) -> U32#(X1, X2))
    (U32#(active(X1), X2) -> U32#(X1, X2), U32#(X1, active(X2)) -> U32#(X1, X2))
    (U32#(active(X1), X2) -> U32#(X1, X2), U32#(X1, mark(X2)) -> U32#(X1, X2))
    (U41#(X1, active(X2)) -> U41#(X1, X2), U41#(active(X1), X2) -> U41#(X1, X2))
    (U41#(X1, active(X2)) -> U41#(X1, X2), U41#(mark(X1), X2) -> U41#(X1, X2))
    (U41#(X1, active(X2)) -> U41#(X1, X2), U41#(X1, active(X2)) -> U41#(X1, X2))
    (U41#(X1, active(X2)) -> U41#(X1, X2), U41#(X1, mark(X2)) -> U41#(X1, X2))
    (U41#(active(X1), X2) -> U41#(X1, X2), U41#(active(X1), X2) -> U41#(X1, X2))
    (U41#(active(X1), X2) -> U41#(X1, X2), U41#(mark(X1), X2) -> U41#(X1, X2))
    (U41#(active(X1), X2) -> U41#(X1, X2), U41#(X1, active(X2)) -> U41#(X1, X2))
    (U41#(active(X1), X2) -> U41#(X1, X2), U41#(X1, mark(X2)) -> U41#(X1, X2))
    (plus#(X1, active(X2)) -> plus#(X1, X2), plus#(active(X1), 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, active(X2)) -> plus#(X1, X2))
    (plus#(X1, active(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#(mark(X1), X2) -> plus#(X1, X2))
    (plus#(active(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))
    (x#(X1, active(X2)) -> x#(X1, X2), x#(active(X1), X2) -> x#(X1, X2))
    (x#(X1, active(X2)) -> x#(X1, X2), x#(mark(X1), X2) -> x#(X1, X2))
    (x#(X1, active(X2)) -> x#(X1, X2), x#(X1, active(X2)) -> x#(X1, X2))
    (x#(X1, active(X2)) -> x#(X1, X2), x#(X1, mark(X2)) -> x#(X1, X2))
    (x#(active(X1), X2) -> x#(X1, X2), x#(active(X1), X2) -> x#(X1, X2))
    (x#(active(X1), X2) -> x#(X1, X2), x#(mark(X1), X2) -> x#(X1, X2))
    (x#(active(X1), X2) -> x#(X1, X2), x#(X1, active(X2)) -> x#(X1, X2))
    (x#(active(X1), X2) -> x#(X1, X2), x#(X1, mark(X2)) -> x#(X1, X2))
    (and#(X1, active(X2)) -> and#(X1, X2), and#(active(X1), X2) -> and#(X1, X2))
    (and#(X1, active(X2)) -> and#(X1, X2), and#(mark(X1), X2) -> and#(X1, X2))
    (and#(X1, active(X2)) -> and#(X1, X2), and#(X1, active(X2)) -> and#(X1, X2))
    (and#(X1, active(X2)) -> and#(X1, X2), and#(X1, mark(X2)) -> and#(X1, X2))
    (and#(active(X1), X2) -> and#(X1, X2), and#(active(X1), X2) -> and#(X1, X2))
    (and#(active(X1), X2) -> and#(X1, X2), and#(mark(X1), X2) -> and#(X1, X2))
    (and#(active(X1), X2) -> and#(X1, X2), and#(X1, active(X2)) -> and#(X1, X2))
    (and#(active(X1), X2) -> and#(X1, X2), and#(X1, mark(X2)) -> and#(X1, X2))
    (active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), and#(active(X1), X2) -> and#(X1, X2))
    (active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), and#(mark(X1), X2) -> and#(X1, X2))
    (active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), and#(X1, active(X2)) -> and#(X1, X2))
    (active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), and#(X1, mark(X2)) -> and#(X1, X2))
    (mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3), U31#(active(X1), X2, X3) -> U31#(X1, X2, X3))
    (mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))
    (mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))
    (mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
    (mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3), U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3))
    (mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3), U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3))
    (mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3), U71#(active(X1), X2, X3) -> U71#(X1, X2, X3))
    (mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
    (mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
    (mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
    (mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3), U71#(X1, X2, active(X3)) -> U71#(X1, X2, X3))
    (mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3), U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3))
    (U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(active(X1), X2, X3) -> U11#(X1, X2, X3))
    (U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))
    (U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(X1, active(X2), X3) -> U11#(X1, X2, X3))
    (U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
    (U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
    (U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(X1, X2, mark(X3)) -> U11#(X1, X2, X3))
    (U11#(X1, active(X2), X3) -> U11#(X1, X2, X3), U11#(active(X1), X2, X3) -> U11#(X1, X2, X3))
    (U11#(X1, active(X2), X3) -> U11#(X1, X2, X3), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))
    (U11#(X1, active(X2), X3) -> U11#(X1, X2, X3), U11#(X1, active(X2), X3) -> U11#(X1, X2, X3))
    (U11#(X1, active(X2), X3) -> U11#(X1, X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
    (U11#(X1, active(X2), X3) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
    (U11#(X1, active(X2), X3) -> U11#(X1, X2, X3), U11#(X1, X2, mark(X3)) -> U11#(X1, X2, X3))
    (U11#(active(X1), X2, X3) -> U11#(X1, X2, X3), U11#(active(X1), X2, X3) -> U11#(X1, X2, X3))
    (U11#(active(X1), X2, X3) -> U11#(X1, X2, X3), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))
    (U11#(active(X1), X2, X3) -> U11#(X1, X2, X3), U11#(X1, active(X2), X3) -> U11#(X1, X2, X3))
    (U11#(active(X1), X2, X3) -> U11#(X1, X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
    (U11#(active(X1), X2, X3) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
    (U11#(active(X1), X2, X3) -> U11#(X1, X2, X3), U11#(X1, X2, mark(X3)) -> U11#(X1, X2, X3))
    (U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3), U31#(active(X1), X2, X3) -> U31#(X1, X2, X3))
    (U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))
    (U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))
    (U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
    (U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3), U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3))
    (U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3), U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3))
    (U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(active(X1), X2, X3) -> U31#(X1, X2, X3))
    (U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))
    (U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))
    (U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
    (U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3))
    (U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3))
    (U31#(active(X1), X2, X3) -> U31#(X1, X2, X3), U31#(active(X1), X2, X3) -> U31#(X1, X2, X3))
    (U31#(active(X1), X2, X3) -> U31#(X1, X2, X3), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))
    (U31#(active(X1), X2, X3) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))
    (U31#(active(X1), X2, X3) -> U31#(X1, X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
    (U31#(active(X1), X2, X3) -> U31#(X1, X2, X3), U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3))
    (U31#(active(X1), X2, X3) -> U31#(X1, X2, X3), U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3))
    (U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3), U51#(active(X1), X2, X3) -> U51#(X1, X2, X3))
    (U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
    (U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
    (U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
    (U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3), U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3))
    (U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3), U51#(X1, X2, mark(X3)) -> U51#(X1, X2, X3))
    (U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(active(X1), X2, X3) -> U51#(X1, X2, X3))
    (U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
    (U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
    (U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
    (U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3))
    (U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(X1, X2, mark(X3)) -> U51#(X1, X2, X3))
    (U51#(active(X1), X2, X3) -> U51#(X1, X2, X3), U51#(active(X1), X2, X3) -> U51#(X1, X2, X3))
    (U51#(active(X1), X2, X3) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
    (U51#(active(X1), X2, X3) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
    (U51#(active(X1), X2, X3) -> U51#(X1, X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
    (U51#(active(X1), X2, X3) -> U51#(X1, X2, X3), U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3))
    (U51#(active(X1), X2, X3) -> U51#(X1, X2, X3), U51#(X1, X2, mark(X3)) -> U51#(X1, X2, X3))
    (U71#(X1, X2, active(X3)) -> U71#(X1, X2, X3), U71#(active(X1), X2, X3) -> U71#(X1, X2, X3))
    (U71#(X1, X2, active(X3)) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
    (U71#(X1, X2, active(X3)) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
    (U71#(X1, X2, active(X3)) -> U71#(X1, X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
    (U71#(X1, X2, active(X3)) -> U71#(X1, X2, X3), U71#(X1, X2, active(X3)) -> U71#(X1, X2, X3))
    (U71#(X1, X2, active(X3)) -> U71#(X1, X2, X3), U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3))
    (U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(active(X1), X2, X3) -> U71#(X1, X2, X3))
    (U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
    (U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
    (U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
    (U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(X1, X2, active(X3)) -> U71#(X1, X2, X3))
    (U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3))
    (U71#(active(X1), X2, X3) -> U71#(X1, X2, X3), U71#(active(X1), X2, X3) -> U71#(X1, X2, X3))
    (U71#(active(X1), X2, X3) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
    (U71#(active(X1), X2, X3) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
    (U71#(active(X1), X2, X3) -> U71#(X1, X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
    (U71#(active(X1), X2, X3) -> U71#(X1, X2, X3), U71#(X1, X2, active(X3)) -> U71#(X1, X2, X3))
    (U71#(active(X1), X2, X3) -> U71#(X1, X2, X3), U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3))
    (active#(plus(N, s(M))) -> isNatKind#(M), isNatKind#(active(X)) -> isNatKind#(X))
    (active#(plus(N, s(M))) -> isNatKind#(M), isNatKind#(mark(X)) -> isNatKind#(X))
    (active#(x(N, s(M))) -> isNatKind#(M), isNatKind#(active(X)) -> isNatKind#(X))
    (active#(x(N, s(M))) -> isNatKind#(M), isNatKind#(mark(X)) -> isNatKind#(X))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNatKind(0())) -> mark#(tt()))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(and(tt(), X)) -> mark#(X))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U71(tt(), M, N)) -> x#(N, M))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(x(N, 0())) -> isNatKind#(N))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(x(N, 0())) -> isNat#(N))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(x(N, s(M))) -> isNatKind#(M))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(x(N, s(M))) -> isNatKind#(N))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(x(N, s(M))) -> isNat#(M))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(x(N, s(M))) -> isNat#(N))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U61(tt())) -> mark#(0()))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U51(tt(), M, N)) -> plus#(N, M))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(plus(N, 0())) -> isNatKind#(N))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(plus(N, 0())) -> isNat#(N))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(plus(N, s(M))) -> isNatKind#(M))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(plus(N, s(M))) -> isNatKind#(N))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(plus(N, s(M))) -> isNat#(M))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(plus(N, s(M))) -> isNat#(N))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U41(tt(), N)) -> mark#(N))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U33(tt())) -> mark#(tt()))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U32(tt(), V2)) -> isNat#(V2))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U21(tt(), V1)) -> isNat#(V1))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U22(tt())) -> mark#(tt()))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U13(tt())) -> mark#(tt()))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNat(0())) -> mark#(tt()))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNat(s(V1))) -> isNatKind#(V1))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U12(tt(), V2)) -> isNat#(V2))
    (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNatKind(0())) -> mark#(tt()))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(and(tt(), X)) -> mark#(X))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U71(tt(), M, N)) -> x#(N, M))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(x(N, 0())) -> isNatKind#(N))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(x(N, 0())) -> isNat#(N))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(x(N, s(M))) -> isNatKind#(M))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(x(N, s(M))) -> isNatKind#(N))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(x(N, s(M))) -> isNat#(M))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(x(N, s(M))) -> isNat#(N))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U61(tt())) -> mark#(0()))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U51(tt(), M, N)) -> plus#(N, M))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(plus(N, 0())) -> isNatKind#(N))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(plus(N, 0())) -> isNat#(N))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(plus(N, s(M))) -> isNatKind#(M))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(plus(N, s(M))) -> isNatKind#(N))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(plus(N, s(M))) -> isNat#(M))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(plus(N, s(M))) -> isNat#(N))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U41(tt(), N)) -> mark#(N))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U33(tt())) -> mark#(tt()))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U32(tt(), V2)) -> isNat#(V2))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U21(tt(), V1)) -> isNat#(V1))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U22(tt())) -> mark#(tt()))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U13(tt())) -> mark#(tt()))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNat(0())) -> mark#(tt()))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNat(s(V1))) -> isNatKind#(V1))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U12(tt(), V2)) -> isNat#(V2))
    (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(and(X1, X2)) -> mark#(X1))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(x(X1, X2)) -> mark#(X2))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(x(X1, X2)) -> mark#(X1))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U61(X)) -> U61#(mark(X)))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U61(X)) -> active#(U61(mark(X))))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U61(X)) -> mark#(X))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(plus(X1, X2)) -> mark#(X2))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(plus(X1, X2)) -> mark#(X1))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(s(X)) -> s#(mark(X)))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(s(X)) -> active#(s(mark(X))))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(s(X)) -> mark#(X))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U41(X1, X2)) -> mark#(X1))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U33(X)) -> U33#(mark(X)))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U33(X)) -> active#(U33(mark(X))))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U33(X)) -> mark#(X))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U32(X1, X2)) -> mark#(X1))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U21(X1, X2)) -> mark#(X1))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U22(X)) -> U22#(mark(X)))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U22(X)) -> active#(U22(mark(X))))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U22(X)) -> mark#(X))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U13(X)) -> U13#(mark(X)))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U13(X)) -> active#(U13(mark(X))))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U13(X)) -> mark#(X))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(isNat(X)) -> active#(isNat(X)))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U12(X1, X2)) -> mark#(X1))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(and(X1, X2)) -> mark#(X1))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(x(X1, X2)) -> mark#(X2))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(x(X1, X2)) -> mark#(X1))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U61(X)) -> U61#(mark(X)))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U61(X)) -> active#(U61(mark(X))))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U61(X)) -> mark#(X))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(plus(X1, X2)) -> mark#(X2))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(plus(X1, X2)) -> mark#(X1))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(s(X)) -> s#(mark(X)))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(s(X)) -> active#(s(mark(X))))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(s(X)) -> mark#(X))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U41(X1, X2)) -> mark#(X1))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U33(X)) -> U33#(mark(X)))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U33(X)) -> active#(U33(mark(X))))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U33(X)) -> mark#(X))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U32(X1, X2)) -> mark#(X1))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U21(X1, X2)) -> mark#(X1))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U22(X)) -> U22#(mark(X)))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U22(X)) -> active#(U22(mark(X))))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U22(X)) -> mark#(X))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U13(X)) -> U13#(mark(X)))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U13(X)) -> active#(U13(mark(X))))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U13(X)) -> mark#(X))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(isNat(X)) -> active#(isNat(X)))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U12(X1, X2)) -> mark#(X1))
    (active#(plus(N, s(M))) -> isNat#(N), isNat#(active(X)) -> isNat#(X))
    (active#(plus(N, s(M))) -> isNat#(N), isNat#(mark(X)) -> isNat#(X))
    (active#(plus(N, 0())) -> isNat#(N), isNat#(active(X)) -> isNat#(X))
    (active#(plus(N, 0())) -> isNat#(N), isNat#(mark(X)) -> isNat#(X))
    (active#(x(N, s(M))) -> isNat#(N), isNat#(active(X)) -> isNat#(X))
    (active#(x(N, s(M))) -> isNat#(N), isNat#(mark(X)) -> isNat#(X))
    (active#(x(N, 0())) -> isNat#(N), isNat#(active(X)) -> isNat#(X))
    (active#(x(N, 0())) -> isNat#(N), isNat#(mark(X)) -> isNat#(X))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNatKind(0())) -> mark#(tt()))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(and(tt(), X)) -> mark#(X))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U71(tt(), M, N)) -> x#(N, M))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(x(N, 0())) -> isNatKind#(N))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(x(N, 0())) -> isNat#(N))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(x(N, s(M))) -> isNatKind#(M))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(x(N, s(M))) -> isNatKind#(N))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(x(N, s(M))) -> isNat#(M))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(x(N, s(M))) -> isNat#(N))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U61(tt())) -> mark#(0()))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U51(tt(), M, N)) -> plus#(N, M))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, 0())) -> isNatKind#(N))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, 0())) -> isNat#(N))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, s(M))) -> isNatKind#(M))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, s(M))) -> isNatKind#(N))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, 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))) -> isNat#(N))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U41(tt(), N)) -> mark#(N))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U33(tt())) -> mark#(tt()))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U32(tt(), V2)) -> isNat#(V2))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U21(tt(), V1)) -> isNat#(V1))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U22(tt())) -> mark#(tt()))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U13(tt())) -> mark#(tt()))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(0())) -> mark#(tt()))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> isNatKind#(V1))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U12(tt(), V2)) -> isNat#(V2))
    (mark#(isNat(X)) -> active#(isNat(X)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
    (mark#(U22(X)) -> U22#(mark(X)), U22#(active(X)) -> U22#(X))
    (mark#(U22(X)) -> U22#(mark(X)), U22#(mark(X)) -> U22#(X))
    (mark#(s(X)) -> s#(mark(X)), s#(active(X)) -> s#(X))
    (mark#(s(X)) -> s#(mark(X)), s#(mark(X)) -> s#(X))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNatKind(0())) -> mark#(tt()))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(and(tt(), X)) -> mark#(X))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U71(tt(), M, N)) -> x#(N, M))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(x(N, 0())) -> isNatKind#(N))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(x(N, 0())) -> isNat#(N))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(x(N, s(M))) -> isNatKind#(M))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(x(N, s(M))) -> isNatKind#(N))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(x(N, s(M))) -> isNat#(M))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(x(N, s(M))) -> isNat#(N))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U61(tt())) -> mark#(0()))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U51(tt(), M, N)) -> plus#(N, M))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(plus(N, 0())) -> isNatKind#(N))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(plus(N, 0())) -> isNat#(N))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(plus(N, s(M))) -> isNatKind#(M))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(plus(N, s(M))) -> isNatKind#(N))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(plus(N, s(M))) -> isNat#(M))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(plus(N, s(M))) -> isNat#(N))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U41(tt(), N)) -> mark#(N))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U33(tt())) -> mark#(tt()))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U32(tt(), V2)) -> isNat#(V2))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U21(tt(), V1)) -> isNat#(V1))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U22(tt())) -> mark#(tt()))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U13(tt())) -> mark#(tt()))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNat(0())) -> mark#(tt()))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNat(s(V1))) -> isNatKind#(V1))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U12(tt(), V2)) -> isNat#(V2))
    (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
    (active#(U32(tt(), V2)) -> U33#(isNat(V2)), U33#(active(X)) -> U33#(X))
    (active#(U32(tt(), V2)) -> U33#(isNat(V2)), U33#(mark(X)) -> U33#(X))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(and(X1, X2)) -> mark#(X1))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(x(X1, X2)) -> mark#(X2))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(x(X1, X2)) -> mark#(X1))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U61(X)) -> U61#(mark(X)))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U61(X)) -> active#(U61(mark(X))))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U61(X)) -> mark#(X))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(plus(X1, X2)) -> mark#(X2))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(plus(X1, X2)) -> mark#(X1))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(s(X)) -> s#(mark(X)))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(s(X)) -> active#(s(mark(X))))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(s(X)) -> mark#(X))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U41(X1, X2)) -> mark#(X1))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U33(X)) -> U33#(mark(X)))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U33(X)) -> active#(U33(mark(X))))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U33(X)) -> mark#(X))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U32(X1, X2)) -> mark#(X1))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U21(X1, X2)) -> mark#(X1))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U22(X)) -> U22#(mark(X)))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U22(X)) -> active#(U22(mark(X))))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U22(X)) -> mark#(X))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U13(X)) -> U13#(mark(X)))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U13(X)) -> active#(U13(mark(X))))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U13(X)) -> mark#(X))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(isNat(X)) -> active#(isNat(X)))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U12(X1, X2)) -> mark#(X1))
    (active#(isNat(plus(V1, V2))) -> isNatKind#(V2), isNatKind#(active(X)) -> isNatKind#(X))
    (active#(isNat(plus(V1, V2))) -> isNatKind#(V2), isNatKind#(mark(X)) -> isNatKind#(X))
    (active#(U32(tt(), V2)) -> isNat#(V2), isNat#(active(X)) -> isNat#(X))
    (active#(U32(tt(), V2)) -> isNat#(V2), isNat#(mark(X)) -> isNat#(X))
    (active#(isNatKind(x(V1, V2))) -> isNatKind#(V2), isNatKind#(active(X)) -> isNatKind#(X))
    (active#(isNatKind(x(V1, V2))) -> isNatKind#(V2), isNatKind#(mark(X)) -> isNatKind#(X))
    (active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N), U71#(active(X1), X2, X3) -> U71#(X1, X2, X3))
    (active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
    (active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
    (active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
    (active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N), U71#(X1, X2, active(X3)) -> U71#(X1, X2, X3))
    (active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N), U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3))
    (active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2), U11#(active(X1), X2, X3) -> U11#(X1, X2, X3))
    (active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))
    (active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2), U11#(X1, active(X2), X3) -> U11#(X1, X2, X3))
    (active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
    (active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
    (active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2), U11#(X1, X2, mark(X3)) -> U11#(X1, X2, X3))
    (active#(isNat(s(V1))) -> isNatKind#(V1), isNatKind#(active(X)) -> isNatKind#(X))
    (active#(isNat(s(V1))) -> isNatKind#(V1), isNatKind#(mark(X)) -> isNatKind#(X))
    (active#(isNat(x(V1, V2))) -> isNatKind#(V1), isNatKind#(active(X)) -> isNatKind#(X))
    (active#(isNat(x(V1, V2))) -> isNatKind#(V1), isNatKind#(mark(X)) -> isNatKind#(X))
    (active#(U21(tt(), V1)) -> isNat#(V1), isNat#(active(X)) -> isNat#(X))
    (active#(U21(tt(), V1)) -> isNat#(V1), isNat#(mark(X)) -> isNat#(X))
    (active#(isNatKind(s(V1))) -> isNatKind#(V1), isNatKind#(active(X)) -> isNatKind#(X))
    (active#(isNatKind(s(V1))) -> isNatKind#(V1), isNatKind#(mark(X)) -> isNatKind#(X))
    (active#(isNatKind(x(V1, V2))) -> isNatKind#(V1), isNatKind#(active(X)) -> isNatKind#(X))
    (active#(isNatKind(x(V1, V2))) -> isNatKind#(V1), isNatKind#(mark(X)) -> isNatKind#(X))
    (active#(U13(tt())) -> mark#(tt()), mark#(tt()) -> active#(tt()))
    (active#(U33(tt())) -> mark#(tt()), mark#(tt()) -> active#(tt()))
    (active#(isNatKind(0())) -> mark#(tt()), mark#(tt()) -> active#(tt()))
    (active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2), U32#(active(X1), X2) -> U32#(X1, X2))
    (active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2), U32#(mark(X1), X2) -> U32#(X1, X2))
    (active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2), U32#(X1, active(X2)) -> U32#(X1, X2))
    (active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2), U32#(X1, mark(X2)) -> U32#(X1, X2))
    (mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)), x#(active(X1), X2) -> x#(X1, X2))
    (mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)), x#(mark(X1), X2) -> x#(X1, X2))
    (mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)), x#(X1, active(X2)) -> x#(X1, X2))
    (mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)), x#(X1, mark(X2)) -> x#(X1, X2))
    (active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)), and#(active(X1), X2) -> and#(X1, X2))
    (active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)), and#(mark(X1), X2) -> and#(X1, X2))
    (active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)), and#(X1, active(X2)) -> and#(X1, X2))
    (active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)), and#(X1, mark(X2)) -> and#(X1, X2))
    (active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)), and#(active(X1), X2) -> and#(X1, X2))
    (active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)), and#(mark(X1), X2) -> and#(X1, X2))
    (active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)), and#(X1, active(X2)) -> and#(X1, X2))
    (active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)), and#(X1, mark(X2)) -> and#(X1, X2))
    (active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)), and#(active(X1), X2) -> and#(X1, X2))
    (active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)), and#(mark(X1), X2) -> and#(X1, X2))
    (active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)), and#(X1, active(X2)) -> and#(X1, X2))
    (active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)), and#(X1, mark(X2)) -> and#(X1, X2))
    (active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)), and#(active(X1), X2) -> and#(X1, X2))
    (active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)), and#(mark(X1), X2) -> and#(X1, X2))
    (active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)), and#(X1, active(X2)) -> and#(X1, X2))
    (active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)), and#(X1, mark(X2)) -> and#(X1, X2))
    (active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)), and#(active(X1), X2) -> and#(X1, X2))
    (active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)), and#(mark(X1), X2) -> and#(X1, X2))
    (active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)), and#(X1, active(X2)) -> and#(X1, X2))
    (active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)), and#(X1, mark(X2)) -> and#(X1, X2))
    (active#(U71(tt(), M, N)) -> plus#(x(N, M), N), plus#(active(X1), X2) -> plus#(X1, X2))
    (active#(U71(tt(), M, N)) -> plus#(x(N, M), N), plus#(mark(X1), X2) -> plus#(X1, X2))
    (active#(U71(tt(), M, N)) -> plus#(x(N, M), N), plus#(X1, active(X2)) -> plus#(X1, X2))
    (active#(U71(tt(), M, N)) -> plus#(x(N, M), N), plus#(X1, mark(X2)) -> plus#(X1, X2))
    (active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N), U41#(X1, mark(X2)) -> U41#(X1, X2))
    (active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N), U41#(X1, active(X2)) -> U41#(X1, X2))
    (active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N), U41#(mark(X1), X2) -> U41#(X1, X2))
    (active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N), U41#(active(X1), X2) -> U41#(X1, X2))
    (active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)), and#(X1, mark(X2)) -> and#(X1, X2))
    (active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)), and#(X1, active(X2)) -> and#(X1, X2))
    (active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)), and#(mark(X1), X2) -> and#(X1, X2))
    (active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)), and#(active(X1), X2) -> and#(X1, X2))
    (active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)), and#(X1, mark(X2)) -> and#(X1, X2))
    (active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)), and#(X1, active(X2)) -> and#(X1, X2))
    (active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)), and#(mark(X1), X2) -> and#(X1, X2))
    (active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)), and#(active(X1), X2) -> and#(X1, X2))
    (active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)), and#(X1, mark(X2)) -> and#(X1, X2))
    (active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)), and#(X1, active(X2)) -> and#(X1, X2))
    (active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)), and#(mark(X1), X2) -> and#(X1, X2))
    (active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)), and#(active(X1), X2) -> and#(X1, X2))
    (active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)), and#(X1, mark(X2)) -> and#(X1, X2))
    (active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)), and#(X1, active(X2)) -> and#(X1, X2))
    (active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)), and#(mark(X1), X2) -> and#(X1, X2))
    (active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)), and#(active(X1), X2) -> and#(X1, X2))
    (active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)), and#(X1, mark(X2)) -> and#(X1, X2))
    (active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)), and#(X1, active(X2)) -> and#(X1, X2))
    (active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)), and#(mark(X1), X2) -> and#(X1, X2))
    (active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)), and#(active(X1), X2) -> and#(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#(X1, active(X2)) -> plus#(X1, X2))
    (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#(active(X1), X2) -> plus#(X1, X2))
    (active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2), U12#(X1, mark(X2)) -> U12#(X1, X2))
    (active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2), U12#(X1, active(X2)) -> U12#(X1, X2))
    (active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2), U12#(mark(X1), X2) -> U12#(X1, X2))
    (active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2), U12#(active(X1), X2) -> U12#(X1, X2))
    (active#(U61(tt())) -> mark#(0()), mark#(0()) -> active#(0()))
    (active#(U22(tt())) -> mark#(tt()), mark#(tt()) -> active#(tt()))
    (active#(isNat(0())) -> mark#(tt()), mark#(tt()) -> active#(tt()))
    (active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1), isNatKind#(mark(X)) -> isNatKind#(X))
    (active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1), isNatKind#(active(X)) -> isNatKind#(X))
    (active#(U31(tt(), V1, V2)) -> isNat#(V1), isNat#(mark(X)) -> isNat#(X))
    (active#(U31(tt(), V1, V2)) -> isNat#(V1), isNat#(active(X)) -> isNat#(X))
    (active#(U11(tt(), V1, V2)) -> isNat#(V1), isNat#(mark(X)) -> isNat#(X))
    (active#(U11(tt(), V1, V2)) -> isNat#(V1), isNat#(active(X)) -> isNat#(X))
    (active#(isNat(plus(V1, V2))) -> isNatKind#(V1), isNatKind#(mark(X)) -> isNatKind#(X))
    (active#(isNat(plus(V1, V2))) -> isNatKind#(V1), isNatKind#(active(X)) -> isNatKind#(X))
    (active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2), U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3))
    (active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2), U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3))
    (active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
    (active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))
    (active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))
    (active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2), U31#(active(X1), X2, X3) -> U31#(X1, X2, X3))
    (active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1), U21#(X1, mark(X2)) -> U21#(X1, X2))
    (active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1), U21#(X1, active(X2)) -> U21#(X1, X2))
    (active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1), U21#(mark(X1), X2) -> U21#(X1, X2))
    (active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1), U21#(active(X1), X2) -> U21#(X1, X2))
    (active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N), U51#(X1, X2, mark(X3)) -> U51#(X1, X2, X3))
    (active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N), U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3))
    (active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
    (active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
    (active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
    (active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N), U51#(active(X1), X2, X3) -> U51#(X1, X2, X3))
    (active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2), isNatKind#(mark(X)) -> isNatKind#(X))
    (active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2), isNatKind#(active(X)) -> isNatKind#(X))
    (active#(isNat(x(V1, V2))) -> isNatKind#(V2), isNatKind#(mark(X)) -> isNatKind#(X))
    (active#(isNat(x(V1, V2))) -> isNatKind#(V2), isNatKind#(active(X)) -> isNatKind#(X))
    (active#(U12(tt(), V2)) -> isNat#(V2), isNat#(mark(X)) -> isNat#(X))
    (active#(U12(tt(), V2)) -> isNat#(V2), isNat#(active(X)) -> isNat#(X))
    (active#(U21(tt(), V1)) -> U22#(isNat(V1)), U22#(mark(X)) -> U22#(X))
    (active#(U21(tt(), V1)) -> U22#(isNat(V1)), U22#(active(X)) -> U22#(X))
    (active#(U12(tt(), V2)) -> U13#(isNat(V2)), U13#(mark(X)) -> U13#(X))
    (active#(U12(tt(), V2)) -> U13#(isNat(V2)), U13#(active(X)) -> U13#(X))
    (mark#(U61(X)) -> U61#(mark(X)), U61#(mark(X)) -> U61#(X))
    (mark#(U61(X)) -> U61#(mark(X)), U61#(active(X)) -> U61#(X))
    (mark#(U33(X)) -> U33#(mark(X)), U33#(mark(X)) -> U33#(X))
    (mark#(U33(X)) -> U33#(mark(X)), U33#(active(X)) -> U33#(X))
    (mark#(U13(X)) -> U13#(mark(X)), U13#(mark(X)) -> U13#(X))
    (mark#(U13(X)) -> U13#(mark(X)), U13#(active(X)) -> U13#(X))
    (active#(x(N, 0())) -> isNatKind#(N), isNatKind#(mark(X)) -> isNatKind#(X))
    (active#(x(N, 0())) -> isNatKind#(N), isNatKind#(active(X)) -> isNatKind#(X))
    (active#(x(N, s(M))) -> isNatKind#(N), isNatKind#(mark(X)) -> isNatKind#(X))
    (active#(x(N, s(M))) -> isNatKind#(N), isNatKind#(active(X)) -> isNatKind#(X))
    (active#(plus(N, 0())) -> isNatKind#(N), isNatKind#(mark(X)) -> isNatKind#(X))
    (active#(plus(N, 0())) -> isNatKind#(N), isNatKind#(active(X)) -> isNatKind#(X))
    (active#(plus(N, s(M))) -> isNatKind#(N), isNatKind#(mark(X)) -> isNatKind#(X))
    (active#(plus(N, s(M))) -> isNatKind#(N), isNatKind#(active(X)) -> isNatKind#(X))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U12(X1, X2)) -> mark#(X1))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (active#(U41(tt(), N)) -> mark#(N), mark#(isNat(X)) -> active#(isNat(X)))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (active#(U41(tt(), N)) -> mark#(N), mark#(tt()) -> active#(tt()))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U13(X)) -> mark#(X))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U13(X)) -> active#(U13(mark(X))))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U13(X)) -> U13#(mark(X)))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U22(X)) -> mark#(X))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U22(X)) -> active#(U22(mark(X))))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U22(X)) -> U22#(mark(X)))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U21(X1, X2)) -> mark#(X1))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U32(X1, X2)) -> mark#(X1))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U33(X)) -> mark#(X))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U33(X)) -> active#(U33(mark(X))))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U33(X)) -> U33#(mark(X)))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U41(X1, X2)) -> mark#(X1))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (active#(U41(tt(), N)) -> mark#(N), mark#(s(X)) -> mark#(X))
    (active#(U41(tt(), N)) -> mark#(N), mark#(s(X)) -> active#(s(mark(X))))
    (active#(U41(tt(), N)) -> mark#(N), mark#(s(X)) -> s#(mark(X)))
    (active#(U41(tt(), N)) -> mark#(N), mark#(plus(X1, X2)) -> mark#(X1))
    (active#(U41(tt(), N)) -> mark#(N), mark#(plus(X1, X2)) -> mark#(X2))
    (active#(U41(tt(), N)) -> mark#(N), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (active#(U41(tt(), N)) -> mark#(N), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (active#(U41(tt(), N)) -> mark#(N), mark#(0()) -> active#(0()))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U61(X)) -> mark#(X))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U61(X)) -> active#(U61(mark(X))))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U61(X)) -> U61#(mark(X)))
    (active#(U41(tt(), N)) -> mark#(N), mark#(x(X1, X2)) -> mark#(X1))
    (active#(U41(tt(), N)) -> mark#(N), mark#(x(X1, X2)) -> mark#(X2))
    (active#(U41(tt(), N)) -> mark#(N), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (active#(U41(tt(), N)) -> mark#(N), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (active#(U41(tt(), N)) -> mark#(N), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (active#(U41(tt(), N)) -> mark#(N), mark#(and(X1, X2)) -> mark#(X1))
    (active#(U41(tt(), N)) -> mark#(N), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (active#(U41(tt(), N)) -> mark#(N), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (active#(U41(tt(), N)) -> mark#(N), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U12(X1, X2)) -> mark#(X1))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(isNat(X)) -> active#(isNat(X)))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U13(X)) -> mark#(X))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U13(X)) -> active#(U13(mark(X))))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U13(X)) -> U13#(mark(X)))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U22(X)) -> mark#(X))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U22(X)) -> active#(U22(mark(X))))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U22(X)) -> U22#(mark(X)))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U21(X1, X2)) -> mark#(X1))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U32(X1, X2)) -> mark#(X1))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U33(X)) -> mark#(X))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U33(X)) -> active#(U33(mark(X))))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U33(X)) -> U33#(mark(X)))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U41(X1, X2)) -> mark#(X1))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(s(X)) -> mark#(X))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(s(X)) -> active#(s(mark(X))))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(s(X)) -> s#(mark(X)))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(plus(X1, X2)) -> mark#(X1))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(plus(X1, X2)) -> mark#(X2))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U61(X)) -> mark#(X))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U61(X)) -> active#(U61(mark(X))))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U61(X)) -> U61#(mark(X)))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(x(X1, X2)) -> mark#(X1))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(x(X1, X2)) -> mark#(X2))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(and(X1, X2)) -> mark#(X1))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U12(X1, X2)) -> mark#(X1))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(isNat(X)) -> active#(isNat(X)))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U13(X)) -> mark#(X))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U13(X)) -> active#(U13(mark(X))))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U13(X)) -> U13#(mark(X)))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U22(X)) -> mark#(X))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U22(X)) -> active#(U22(mark(X))))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U22(X)) -> U22#(mark(X)))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U21(X1, X2)) -> mark#(X1))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U32(X1, X2)) -> mark#(X1))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U33(X)) -> mark#(X))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U33(X)) -> active#(U33(mark(X))))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U33(X)) -> U33#(mark(X)))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U41(X1, X2)) -> mark#(X1))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(s(X)) -> mark#(X))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(s(X)) -> active#(s(mark(X))))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(s(X)) -> s#(mark(X)))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(plus(X1, X2)) -> mark#(X1))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(plus(X1, X2)) -> mark#(X2))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U61(X)) -> mark#(X))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U61(X)) -> active#(U61(mark(X))))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U61(X)) -> U61#(mark(X)))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(x(X1, X2)) -> mark#(X1))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(x(X1, X2)) -> mark#(X2))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(and(X1, X2)) -> mark#(X1))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U12(tt(), V2)) -> isNat#(V2))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNat(s(V1))) -> isNatKind#(V1))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNat(0())) -> mark#(tt()))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U13(tt())) -> mark#(tt()))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U22(tt())) -> mark#(tt()))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U21(tt(), V1)) -> isNat#(V1))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U32(tt(), V2)) -> isNat#(V2))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U33(tt())) -> mark#(tt()))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U41(tt(), N)) -> mark#(N))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(plus(N, s(M))) -> isNat#(N))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(plus(N, s(M))) -> isNat#(M))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(plus(N, s(M))) -> isNatKind#(N))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(plus(N, s(M))) -> isNatKind#(M))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(plus(N, 0())) -> isNat#(N))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(plus(N, 0())) -> isNatKind#(N))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U51(tt(), M, N)) -> plus#(N, M))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U61(tt())) -> mark#(0()))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(x(N, s(M))) -> isNat#(N))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(x(N, s(M))) -> isNat#(M))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(x(N, s(M))) -> isNatKind#(N))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(x(N, s(M))) -> isNatKind#(M))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(x(N, 0())) -> isNat#(N))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(x(N, 0())) -> isNatKind#(N))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U71(tt(), M, N)) -> x#(N, M))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(and(tt(), X)) -> mark#(X))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNatKind(0())) -> mark#(tt()))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U12(tt(), V2)) -> isNat#(V2))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNat(s(V1))) -> isNatKind#(V1))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNat(0())) -> mark#(tt()))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U13(tt())) -> mark#(tt()))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U22(tt())) -> mark#(tt()))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U21(tt(), V1)) -> isNat#(V1))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U32(tt(), V2)) -> isNat#(V2))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U33(tt())) -> mark#(tt()))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U41(tt(), N)) -> mark#(N))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(plus(N, s(M))) -> isNat#(N))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(plus(N, s(M))) -> isNat#(M))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(plus(N, s(M))) -> isNatKind#(N))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(plus(N, s(M))) -> isNatKind#(M))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(plus(N, 0())) -> isNat#(N))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(plus(N, 0())) -> isNatKind#(N))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U51(tt(), M, N)) -> plus#(N, M))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U61(tt())) -> mark#(0()))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(x(N, s(M))) -> isNat#(N))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(x(N, s(M))) -> isNat#(M))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(x(N, s(M))) -> isNatKind#(N))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(x(N, s(M))) -> isNatKind#(M))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(x(N, 0())) -> isNat#(N))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(x(N, 0())) -> isNatKind#(N))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U71(tt(), M, N)) -> x#(N, M))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(and(tt(), X)) -> mark#(X))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNatKind(0())) -> mark#(tt()))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (active#(x(N, s(M))) -> isNat#(M), isNat#(mark(X)) -> isNat#(X))
    (active#(x(N, s(M))) -> isNat#(M), isNat#(active(X)) -> isNat#(X))
    (active#(plus(N, s(M))) -> isNat#(M), isNat#(mark(X)) -> isNat#(X))
    (active#(plus(N, s(M))) -> isNat#(M), isNat#(active(X)) -> isNat#(X))
    (U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3))
    (U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(X1, X2, active(X3)) -> U71#(X1, X2, X3))
    (U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
    (U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
    (U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
    (U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(active(X1), X2, X3) -> U71#(X1, X2, X3))
    (U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3), U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3))
    (U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3), U71#(X1, X2, active(X3)) -> U71#(X1, X2, X3))
    (U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
    (U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
    (U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
    (U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3), U71#(active(X1), X2, X3) -> U71#(X1, X2, X3))
    (U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3), U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3))
    (U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3), U71#(X1, X2, active(X3)) -> U71#(X1, X2, X3))
    (U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
    (U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
    (U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
    (U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3), U71#(active(X1), X2, X3) -> U71#(X1, X2, X3))
    (U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(X1, X2, mark(X3)) -> U51#(X1, X2, X3))
    (U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3))
    (U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
    (U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
    (U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
    (U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(active(X1), X2, X3) -> U51#(X1, X2, X3))
    (U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3), U51#(X1, X2, mark(X3)) -> U51#(X1, X2, X3))
    (U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3), U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3))
    (U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
    (U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
    (U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
    (U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3), U51#(active(X1), X2, X3) -> U51#(X1, X2, X3))
    (U51#(X1, X2, mark(X3)) -> U51#(X1, X2, X3), U51#(X1, X2, mark(X3)) -> U51#(X1, X2, X3))
    (U51#(X1, X2, mark(X3)) -> U51#(X1, X2, X3), U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3))
    (U51#(X1, X2, mark(X3)) -> U51#(X1, X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
    (U51#(X1, X2, mark(X3)) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
    (U51#(X1, X2, mark(X3)) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
    (U51#(X1, X2, mark(X3)) -> U51#(X1, X2, X3), U51#(active(X1), X2, X3) -> U51#(X1, X2, X3))
    (U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3), U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3))
    (U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3), U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3))
    (U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
    (U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))
    (U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))
    (U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3), U31#(active(X1), X2, X3) -> U31#(X1, X2, X3))
    (U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3), U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3))
    (U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3), U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3))
    (U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
    (U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))
    (U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))
    (U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3), U31#(active(X1), X2, X3) -> U31#(X1, X2, X3))
    (U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3), U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3))
    (U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3), U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3))
    (U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
    (U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))
    (U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))
    (U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3), U31#(active(X1), X2, X3) -> U31#(X1, X2, X3))
    (U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3), U11#(X1, X2, mark(X3)) -> U11#(X1, X2, X3))
    (U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
    (U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
    (U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3), U11#(X1, active(X2), X3) -> U11#(X1, X2, X3))
    (U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))
    (U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3), U11#(active(X1), X2, X3) -> U11#(X1, X2, X3))
    (U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3), U11#(X1, X2, mark(X3)) -> U11#(X1, X2, X3))
    (U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
    (U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
    (U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3), U11#(X1, active(X2), X3) -> U11#(X1, X2, X3))
    (U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))
    (U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3), U11#(active(X1), X2, X3) -> U11#(X1, X2, X3))
    (U11#(X1, X2, mark(X3)) -> U11#(X1, X2, X3), U11#(X1, X2, mark(X3)) -> U11#(X1, X2, X3))
    (U11#(X1, X2, mark(X3)) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
    (U11#(X1, X2, mark(X3)) -> U11#(X1, X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
    (U11#(X1, X2, mark(X3)) -> U11#(X1, X2, X3), U11#(X1, active(X2), X3) -> U11#(X1, X2, X3))
    (U11#(X1, X2, mark(X3)) -> U11#(X1, X2, X3), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))
    (U11#(X1, X2, mark(X3)) -> U11#(X1, X2, X3), U11#(active(X1), X2, X3) -> U11#(X1, X2, X3))
    (mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3), U51#(X1, X2, mark(X3)) -> U51#(X1, X2, X3))
    (mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3), U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3))
    (mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
    (mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
    (mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
    (mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3), U51#(active(X1), X2, X3) -> U51#(X1, X2, X3))
    (mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3), U11#(X1, X2, mark(X3)) -> U11#(X1, X2, X3))
    (mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
    (mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
    (mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3), U11#(X1, active(X2), X3) -> U11#(X1, X2, X3))
    (mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))
    (mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3), U11#(active(X1), X2, X3) -> U11#(X1, X2, X3))
    (active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), and#(X1, mark(X2)) -> and#(X1, X2))
    (active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), and#(X1, active(X2)) -> and#(X1, X2))
    (active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), and#(mark(X1), X2) -> and#(X1, X2))
    (active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), and#(active(X1), X2) -> and#(X1, X2))
    (and#(mark(X1), X2) -> and#(X1, X2), and#(X1, mark(X2)) -> and#(X1, X2))
    (and#(mark(X1), X2) -> and#(X1, X2), and#(X1, active(X2)) -> and#(X1, X2))
    (and#(mark(X1), X2) -> and#(X1, X2), and#(mark(X1), X2) -> and#(X1, X2))
    (and#(mark(X1), X2) -> and#(X1, X2), and#(active(X1), X2) -> and#(X1, X2))
    (and#(X1, mark(X2)) -> and#(X1, X2), and#(X1, mark(X2)) -> and#(X1, X2))
    (and#(X1, mark(X2)) -> and#(X1, X2), and#(X1, active(X2)) -> and#(X1, X2))
    (and#(X1, mark(X2)) -> and#(X1, X2), and#(mark(X1), X2) -> and#(X1, X2))
    (and#(X1, mark(X2)) -> and#(X1, X2), and#(active(X1), X2) -> and#(X1, X2))
    (x#(mark(X1), X2) -> x#(X1, X2), x#(X1, mark(X2)) -> x#(X1, X2))
    (x#(mark(X1), X2) -> x#(X1, X2), x#(X1, active(X2)) -> x#(X1, X2))
    (x#(mark(X1), X2) -> x#(X1, X2), x#(mark(X1), X2) -> x#(X1, X2))
    (x#(mark(X1), X2) -> x#(X1, X2), x#(active(X1), X2) -> x#(X1, X2))
    (x#(X1, mark(X2)) -> x#(X1, X2), x#(X1, mark(X2)) -> x#(X1, X2))
    (x#(X1, mark(X2)) -> x#(X1, X2), x#(X1, active(X2)) -> x#(X1, X2))
    (x#(X1, mark(X2)) -> x#(X1, X2), x#(mark(X1), X2) -> x#(X1, X2))
    (x#(X1, mark(X2)) -> x#(X1, X2), x#(active(X1), X2) -> x#(X1, X2))
    (plus#(mark(X1), X2) -> plus#(X1, X2), plus#(X1, mark(X2)) -> plus#(X1, X2))
    (plus#(mark(X1), X2) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2))
    (plus#(mark(X1), X2) -> plus#(X1, X2), plus#(mark(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#(X1, mark(X2)) -> plus#(X1, X2))
    (plus#(X1, mark(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#(active(X1), X2) -> plus#(X1, X2))
    (U41#(mark(X1), X2) -> U41#(X1, X2), U41#(X1, mark(X2)) -> U41#(X1, X2))
    (U41#(mark(X1), X2) -> U41#(X1, X2), U41#(X1, active(X2)) -> U41#(X1, X2))
    (U41#(mark(X1), X2) -> U41#(X1, X2), U41#(mark(X1), X2) -> U41#(X1, X2))
    (U41#(mark(X1), X2) -> U41#(X1, X2), U41#(active(X1), X2) -> U41#(X1, X2))
    (U41#(X1, mark(X2)) -> U41#(X1, X2), U41#(X1, mark(X2)) -> U41#(X1, X2))
    (U41#(X1, mark(X2)) -> U41#(X1, X2), U41#(X1, active(X2)) -> U41#(X1, X2))
    (U41#(X1, mark(X2)) -> U41#(X1, X2), U41#(mark(X1), X2) -> U41#(X1, X2))
    (U41#(X1, mark(X2)) -> U41#(X1, X2), U41#(active(X1), X2) -> U41#(X1, X2))
    (U32#(mark(X1), X2) -> U32#(X1, X2), U32#(X1, mark(X2)) -> U32#(X1, X2))
    (U32#(mark(X1), X2) -> U32#(X1, X2), U32#(X1, active(X2)) -> U32#(X1, X2))
    (U32#(mark(X1), X2) -> U32#(X1, X2), U32#(mark(X1), X2) -> U32#(X1, X2))
    (U32#(mark(X1), X2) -> U32#(X1, X2), U32#(active(X1), X2) -> U32#(X1, X2))
    (U32#(X1, mark(X2)) -> U32#(X1, X2), U32#(X1, mark(X2)) -> U32#(X1, X2))
    (U32#(X1, mark(X2)) -> U32#(X1, X2), U32#(X1, active(X2)) -> U32#(X1, X2))
    (U32#(X1, mark(X2)) -> U32#(X1, X2), U32#(mark(X1), X2) -> U32#(X1, X2))
    (U32#(X1, mark(X2)) -> U32#(X1, X2), U32#(active(X1), X2) -> U32#(X1, X2))
    (U21#(mark(X1), X2) -> U21#(X1, X2), U21#(X1, mark(X2)) -> U21#(X1, X2))
    (U21#(mark(X1), X2) -> U21#(X1, X2), U21#(X1, active(X2)) -> U21#(X1, X2))
    (U21#(mark(X1), X2) -> U21#(X1, X2), U21#(mark(X1), X2) -> U21#(X1, X2))
    (U21#(mark(X1), X2) -> U21#(X1, X2), U21#(active(X1), X2) -> U21#(X1, X2))
    (U21#(X1, mark(X2)) -> U21#(X1, X2), U21#(X1, mark(X2)) -> U21#(X1, X2))
    (U21#(X1, mark(X2)) -> U21#(X1, X2), U21#(X1, active(X2)) -> U21#(X1, X2))
    (U21#(X1, mark(X2)) -> U21#(X1, X2), U21#(mark(X1), X2) -> U21#(X1, X2))
    (U21#(X1, mark(X2)) -> U21#(X1, X2), U21#(active(X1), X2) -> U21#(X1, X2))
    (U12#(mark(X1), X2) -> U12#(X1, X2), U12#(X1, mark(X2)) -> U12#(X1, X2))
    (U12#(mark(X1), X2) -> U12#(X1, X2), U12#(X1, active(X2)) -> U12#(X1, X2))
    (U12#(mark(X1), X2) -> U12#(X1, X2), U12#(mark(X1), X2) -> U12#(X1, X2))
    (U12#(mark(X1), X2) -> U12#(X1, X2), U12#(active(X1), X2) -> U12#(X1, X2))
    (U12#(X1, mark(X2)) -> U12#(X1, X2), U12#(X1, mark(X2)) -> U12#(X1, X2))
    (U12#(X1, mark(X2)) -> U12#(X1, X2), U12#(X1, active(X2)) -> U12#(X1, X2))
    (U12#(X1, mark(X2)) -> U12#(X1, X2), U12#(mark(X1), X2) -> U12#(X1, X2))
    (U12#(X1, mark(X2)) -> U12#(X1, X2), U12#(active(X1), X2) -> U12#(X1, X2))
    (isNatKind#(mark(X)) -> isNatKind#(X), isNatKind#(mark(X)) -> isNatKind#(X))
    (isNatKind#(mark(X)) -> isNatKind#(X), isNatKind#(active(X)) -> isNatKind#(X))
    (U61#(mark(X)) -> U61#(X), U61#(mark(X)) -> U61#(X))
    (U61#(mark(X)) -> U61#(X), U61#(active(X)) -> U61#(X))
    (s#(mark(X)) -> s#(X), s#(mark(X)) -> s#(X))
    (s#(mark(X)) -> s#(X), s#(active(X)) -> s#(X))
    (U33#(mark(X)) -> U33#(X), U33#(mark(X)) -> U33#(X))
    (U33#(mark(X)) -> U33#(X), U33#(active(X)) -> U33#(X))
    (U22#(mark(X)) -> U22#(X), U22#(mark(X)) -> U22#(X))
    (U22#(mark(X)) -> U22#(X), U22#(active(X)) -> U22#(X))
    (U13#(mark(X)) -> U13#(X), U13#(mark(X)) -> U13#(X))
    (U13#(mark(X)) -> U13#(X), U13#(active(X)) -> U13#(X))
    (isNat#(active(X)) -> isNat#(X), isNat#(mark(X)) -> isNat#(X))
    (isNat#(active(X)) -> isNat#(X), isNat#(active(X)) -> isNat#(X))
    (mark#(U61(X)) -> mark#(X), mark#(U12(X1, X2)) -> mark#(X1))
    (mark#(U61(X)) -> mark#(X), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (mark#(U61(X)) -> mark#(X), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (mark#(U61(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)))
    (mark#(U61(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (mark#(U61(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (mark#(U61(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (mark#(U61(X)) -> mark#(X), mark#(tt()) -> active#(tt()))
    (mark#(U61(X)) -> mark#(X), mark#(U13(X)) -> mark#(X))
    (mark#(U61(X)) -> mark#(X), mark#(U13(X)) -> active#(U13(mark(X))))
    (mark#(U61(X)) -> mark#(X), mark#(U13(X)) -> U13#(mark(X)))
    (mark#(U61(X)) -> mark#(X), mark#(U22(X)) -> mark#(X))
    (mark#(U61(X)) -> mark#(X), mark#(U22(X)) -> active#(U22(mark(X))))
    (mark#(U61(X)) -> mark#(X), mark#(U22(X)) -> U22#(mark(X)))
    (mark#(U61(X)) -> mark#(X), mark#(U21(X1, X2)) -> mark#(X1))
    (mark#(U61(X)) -> mark#(X), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (mark#(U61(X)) -> mark#(X), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (mark#(U61(X)) -> mark#(X), mark#(U32(X1, X2)) -> mark#(X1))
    (mark#(U61(X)) -> mark#(X), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (mark#(U61(X)) -> mark#(X), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (mark#(U61(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (mark#(U61(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (mark#(U61(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (mark#(U61(X)) -> mark#(X), mark#(U33(X)) -> mark#(X))
    (mark#(U61(X)) -> mark#(X), mark#(U33(X)) -> active#(U33(mark(X))))
    (mark#(U61(X)) -> mark#(X), mark#(U33(X)) -> U33#(mark(X)))
    (mark#(U61(X)) -> mark#(X), mark#(U41(X1, X2)) -> mark#(X1))
    (mark#(U61(X)) -> mark#(X), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (mark#(U61(X)) -> mark#(X), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (mark#(U61(X)) -> mark#(X), mark#(s(X)) -> mark#(X))
    (mark#(U61(X)) -> mark#(X), mark#(s(X)) -> active#(s(mark(X))))
    (mark#(U61(X)) -> mark#(X), mark#(s(X)) -> s#(mark(X)))
    (mark#(U61(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1))
    (mark#(U61(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2))
    (mark#(U61(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (mark#(U61(X)) -> mark#(X), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (mark#(U61(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (mark#(U61(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (mark#(U61(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (mark#(U61(X)) -> mark#(X), mark#(0()) -> active#(0()))
    (mark#(U61(X)) -> mark#(X), mark#(U61(X)) -> mark#(X))
    (mark#(U61(X)) -> mark#(X), mark#(U61(X)) -> active#(U61(mark(X))))
    (mark#(U61(X)) -> mark#(X), mark#(U61(X)) -> U61#(mark(X)))
    (mark#(U61(X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X1))
    (mark#(U61(X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X2))
    (mark#(U61(X)) -> mark#(X), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (mark#(U61(X)) -> mark#(X), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (mark#(U61(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (mark#(U61(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (mark#(U61(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (mark#(U61(X)) -> mark#(X), mark#(and(X1, X2)) -> mark#(X1))
    (mark#(U61(X)) -> mark#(X), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (mark#(U61(X)) -> mark#(X), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (mark#(U61(X)) -> mark#(X), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (mark#(U33(X)) -> mark#(X), mark#(U12(X1, X2)) -> mark#(X1))
    (mark#(U33(X)) -> mark#(X), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (mark#(U33(X)) -> mark#(X), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (mark#(U33(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)))
    (mark#(U33(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (mark#(U33(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (mark#(U33(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (mark#(U33(X)) -> mark#(X), mark#(tt()) -> active#(tt()))
    (mark#(U33(X)) -> mark#(X), mark#(U13(X)) -> mark#(X))
    (mark#(U33(X)) -> mark#(X), mark#(U13(X)) -> active#(U13(mark(X))))
    (mark#(U33(X)) -> mark#(X), mark#(U13(X)) -> U13#(mark(X)))
    (mark#(U33(X)) -> mark#(X), mark#(U22(X)) -> mark#(X))
    (mark#(U33(X)) -> mark#(X), mark#(U22(X)) -> active#(U22(mark(X))))
    (mark#(U33(X)) -> mark#(X), mark#(U22(X)) -> U22#(mark(X)))
    (mark#(U33(X)) -> mark#(X), mark#(U21(X1, X2)) -> mark#(X1))
    (mark#(U33(X)) -> mark#(X), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (mark#(U33(X)) -> mark#(X), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (mark#(U33(X)) -> mark#(X), mark#(U32(X1, X2)) -> mark#(X1))
    (mark#(U33(X)) -> mark#(X), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (mark#(U33(X)) -> mark#(X), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (mark#(U33(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (mark#(U33(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (mark#(U33(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (mark#(U33(X)) -> mark#(X), mark#(U33(X)) -> mark#(X))
    (mark#(U33(X)) -> mark#(X), mark#(U33(X)) -> active#(U33(mark(X))))
    (mark#(U33(X)) -> mark#(X), mark#(U33(X)) -> U33#(mark(X)))
    (mark#(U33(X)) -> mark#(X), mark#(U41(X1, X2)) -> mark#(X1))
    (mark#(U33(X)) -> mark#(X), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (mark#(U33(X)) -> mark#(X), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (mark#(U33(X)) -> mark#(X), mark#(s(X)) -> mark#(X))
    (mark#(U33(X)) -> mark#(X), mark#(s(X)) -> active#(s(mark(X))))
    (mark#(U33(X)) -> mark#(X), mark#(s(X)) -> s#(mark(X)))
    (mark#(U33(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1))
    (mark#(U33(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2))
    (mark#(U33(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (mark#(U33(X)) -> mark#(X), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (mark#(U33(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (mark#(U33(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (mark#(U33(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (mark#(U33(X)) -> mark#(X), mark#(0()) -> active#(0()))
    (mark#(U33(X)) -> mark#(X), mark#(U61(X)) -> mark#(X))
    (mark#(U33(X)) -> mark#(X), mark#(U61(X)) -> active#(U61(mark(X))))
    (mark#(U33(X)) -> mark#(X), mark#(U61(X)) -> U61#(mark(X)))
    (mark#(U33(X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X1))
    (mark#(U33(X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X2))
    (mark#(U33(X)) -> mark#(X), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (mark#(U33(X)) -> mark#(X), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (mark#(U33(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (mark#(U33(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (mark#(U33(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (mark#(U33(X)) -> mark#(X), mark#(and(X1, X2)) -> mark#(X1))
    (mark#(U33(X)) -> mark#(X), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (mark#(U33(X)) -> mark#(X), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (mark#(U33(X)) -> mark#(X), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (mark#(U13(X)) -> mark#(X), mark#(U12(X1, X2)) -> mark#(X1))
    (mark#(U13(X)) -> mark#(X), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (mark#(U13(X)) -> mark#(X), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (mark#(U13(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)))
    (mark#(U13(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (mark#(U13(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (mark#(U13(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (mark#(U13(X)) -> mark#(X), mark#(tt()) -> active#(tt()))
    (mark#(U13(X)) -> mark#(X), mark#(U13(X)) -> mark#(X))
    (mark#(U13(X)) -> mark#(X), mark#(U13(X)) -> active#(U13(mark(X))))
    (mark#(U13(X)) -> mark#(X), mark#(U13(X)) -> U13#(mark(X)))
    (mark#(U13(X)) -> mark#(X), mark#(U22(X)) -> mark#(X))
    (mark#(U13(X)) -> mark#(X), mark#(U22(X)) -> active#(U22(mark(X))))
    (mark#(U13(X)) -> mark#(X), mark#(U22(X)) -> U22#(mark(X)))
    (mark#(U13(X)) -> mark#(X), mark#(U21(X1, X2)) -> mark#(X1))
    (mark#(U13(X)) -> mark#(X), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (mark#(U13(X)) -> mark#(X), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (mark#(U13(X)) -> mark#(X), mark#(U32(X1, X2)) -> mark#(X1))
    (mark#(U13(X)) -> mark#(X), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (mark#(U13(X)) -> mark#(X), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (mark#(U13(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (mark#(U13(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (mark#(U13(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (mark#(U13(X)) -> mark#(X), mark#(U33(X)) -> mark#(X))
    (mark#(U13(X)) -> mark#(X), mark#(U33(X)) -> active#(U33(mark(X))))
    (mark#(U13(X)) -> mark#(X), mark#(U33(X)) -> U33#(mark(X)))
    (mark#(U13(X)) -> mark#(X), mark#(U41(X1, X2)) -> mark#(X1))
    (mark#(U13(X)) -> mark#(X), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (mark#(U13(X)) -> mark#(X), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (mark#(U13(X)) -> mark#(X), mark#(s(X)) -> mark#(X))
    (mark#(U13(X)) -> mark#(X), mark#(s(X)) -> active#(s(mark(X))))
    (mark#(U13(X)) -> mark#(X), mark#(s(X)) -> s#(mark(X)))
    (mark#(U13(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1))
    (mark#(U13(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2))
    (mark#(U13(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (mark#(U13(X)) -> mark#(X), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (mark#(U13(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (mark#(U13(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (mark#(U13(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (mark#(U13(X)) -> mark#(X), mark#(0()) -> active#(0()))
    (mark#(U13(X)) -> mark#(X), mark#(U61(X)) -> mark#(X))
    (mark#(U13(X)) -> mark#(X), mark#(U61(X)) -> active#(U61(mark(X))))
    (mark#(U13(X)) -> mark#(X), mark#(U61(X)) -> U61#(mark(X)))
    (mark#(U13(X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X1))
    (mark#(U13(X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X2))
    (mark#(U13(X)) -> mark#(X), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (mark#(U13(X)) -> mark#(X), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (mark#(U13(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (mark#(U13(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (mark#(U13(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (mark#(U13(X)) -> mark#(X), mark#(and(X1, X2)) -> mark#(X1))
    (mark#(U13(X)) -> mark#(X), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (mark#(U13(X)) -> mark#(X), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (mark#(U13(X)) -> mark#(X), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (mark#(U41(X1, X2)) -> U41#(mark(X1), X2), U41#(X1, mark(X2)) -> U41#(X1, X2))
    (mark#(U41(X1, X2)) -> U41#(mark(X1), X2), U41#(X1, active(X2)) -> U41#(X1, X2))
    (mark#(U41(X1, X2)) -> U41#(mark(X1), X2), U41#(mark(X1), X2) -> U41#(X1, X2))
    (mark#(U41(X1, X2)) -> U41#(mark(X1), X2), U41#(active(X1), X2) -> U41#(X1, X2))
    (mark#(U21(X1, X2)) -> U21#(mark(X1), X2), U21#(X1, mark(X2)) -> U21#(X1, X2))
    (mark#(U21(X1, X2)) -> U21#(mark(X1), X2), U21#(X1, active(X2)) -> U21#(X1, X2))
    (mark#(U21(X1, X2)) -> U21#(mark(X1), X2), U21#(mark(X1), X2) -> U21#(X1, X2))
    (mark#(U21(X1, X2)) -> U21#(mark(X1), X2), U21#(active(X1), X2) -> U21#(X1, X2))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(tt()) -> active#(tt()))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U13(X)) -> active#(U13(mark(X))))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U13(X)) -> U13#(mark(X)))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U22(X)) -> active#(U22(mark(X))))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U22(X)) -> U22#(mark(X)))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U33(X)) -> active#(U33(mark(X))))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U33(X)) -> U33#(mark(X)))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(s(X)) -> active#(s(mark(X))))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(s(X)) -> s#(mark(X)))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(0()) -> active#(0()))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U61(X)) -> active#(U61(mark(X))))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U61(X)) -> U61#(mark(X)))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (mark#(and(X1, X2)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(tt()) -> active#(tt()))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U13(X)) -> active#(U13(mark(X))))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U13(X)) -> U13#(mark(X)))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U22(X)) -> active#(U22(mark(X))))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U22(X)) -> U22#(mark(X)))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U33(X)) -> active#(U33(mark(X))))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U33(X)) -> U33#(mark(X)))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(s(X)) -> active#(s(mark(X))))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(s(X)) -> s#(mark(X)))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(0()) -> active#(0()))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U61(X)) -> active#(U61(mark(X))))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U61(X)) -> U61#(mark(X)))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (mark#(x(X1, X2)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(tt()) -> active#(tt()))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U13(X)) -> active#(U13(mark(X))))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U13(X)) -> U13#(mark(X)))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U22(X)) -> active#(U22(mark(X))))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U22(X)) -> U22#(mark(X)))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U33(X)) -> active#(U33(mark(X))))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U33(X)) -> U33#(mark(X)))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(s(X)) -> active#(s(mark(X))))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(s(X)) -> s#(mark(X)))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> 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#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(0()) -> active#(0()))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U61(X)) -> active#(U61(mark(X))))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U61(X)) -> U61#(mark(X)))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (mark#(plus(X1, X2)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(tt()) -> active#(tt()))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U13(X)) -> active#(U13(mark(X))))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U13(X)) -> U13#(mark(X)))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U22(X)) -> active#(U22(mark(X))))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U22(X)) -> U22#(mark(X)))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U33(X)) -> active#(U33(mark(X))))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U33(X)) -> U33#(mark(X)))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> mark#(X))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> active#(s(mark(X))))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> s#(mark(X)))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(0()) -> active#(0()))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U61(X)) -> active#(U61(mark(X))))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U61(X)) -> U61#(mark(X)))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(tt()) -> active#(tt()))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U13(X)) -> active#(U13(mark(X))))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U13(X)) -> U13#(mark(X)))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U22(X)) -> active#(U22(mark(X))))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U22(X)) -> U22#(mark(X)))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U33(X)) -> active#(U33(mark(X))))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U33(X)) -> U33#(mark(X)))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(s(X)) -> active#(s(mark(X))))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(s(X)) -> s#(mark(X)))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(0()) -> active#(0()))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U61(X)) -> active#(U61(mark(X))))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U61(X)) -> U61#(mark(X)))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (mark#(U21(X1, X2)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(tt()) -> active#(tt()))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U13(X)) -> active#(U13(mark(X))))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U13(X)) -> U13#(mark(X)))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U22(X)) -> active#(U22(mark(X))))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U22(X)) -> U22#(mark(X)))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U33(X)) -> active#(U33(mark(X))))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U33(X)) -> U33#(mark(X)))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(s(X)) -> active#(s(mark(X))))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(s(X)) -> s#(mark(X)))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(0()) -> active#(0()))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U61(X)) -> active#(U61(mark(X))))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U61(X)) -> U61#(mark(X)))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (mark#(U12(X1, X2)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U12(X1, X2)) -> mark#(X1))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(isNat(X)) -> active#(isNat(X)))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U13(X)) -> mark#(X))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U13(X)) -> active#(U13(mark(X))))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U13(X)) -> U13#(mark(X)))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U22(X)) -> mark#(X))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U22(X)) -> active#(U22(mark(X))))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U22(X)) -> U22#(mark(X)))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U21(X1, X2)) -> mark#(X1))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U32(X1, X2)) -> mark#(X1))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U33(X)) -> mark#(X))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U33(X)) -> active#(U33(mark(X))))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U33(X)) -> U33#(mark(X)))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U41(X1, X2)) -> mark#(X1))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(s(X)) -> mark#(X))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(s(X)) -> active#(s(mark(X))))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(s(X)) -> s#(mark(X)))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(plus(X1, X2)) -> mark#(X1))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(plus(X1, X2)) -> mark#(X2))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U61(X)) -> mark#(X))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U61(X)) -> active#(U61(mark(X))))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U61(X)) -> U61#(mark(X)))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(x(X1, X2)) -> mark#(X1))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(x(X1, X2)) -> mark#(X2))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(and(X1, X2)) -> mark#(X1))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U12(tt(), V2)) -> isNat#(V2))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNat(s(V1))) -> isNatKind#(V1))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNat(0())) -> mark#(tt()))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U13(tt())) -> mark#(tt()))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U22(tt())) -> mark#(tt()))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U21(tt(), V1)) -> isNat#(V1))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U32(tt(), V2)) -> isNat#(V2))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U33(tt())) -> mark#(tt()))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U41(tt(), N)) -> mark#(N))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(plus(N, s(M))) -> isNat#(N))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(plus(N, s(M))) -> isNat#(M))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(plus(N, s(M))) -> isNatKind#(N))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(plus(N, s(M))) -> isNatKind#(M))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(plus(N, 0())) -> isNat#(N))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(plus(N, 0())) -> isNatKind#(N))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U51(tt(), M, N)) -> plus#(N, M))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U61(tt())) -> mark#(0()))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(x(N, s(M))) -> isNat#(N))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(x(N, s(M))) -> isNat#(M))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(x(N, s(M))) -> isNatKind#(N))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(x(N, s(M))) -> isNatKind#(M))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(x(N, 0())) -> isNat#(N))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(x(N, 0())) -> isNatKind#(N))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U71(tt(), M, N)) -> x#(N, M))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(and(tt(), X)) -> mark#(X))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNatKind(0())) -> mark#(tt()))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U12(X1, X2)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(isNat(X)) -> active#(isNat(X)))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(tt()) -> active#(tt()))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U13(X)) -> mark#(X))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U13(X)) -> active#(U13(mark(X))))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U13(X)) -> U13#(mark(X)))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U22(X)) -> mark#(X))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U22(X)) -> active#(U22(mark(X))))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U22(X)) -> U22#(mark(X)))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U21(X1, X2)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U32(X1, X2)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U33(X)) -> mark#(X))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U33(X)) -> active#(U33(mark(X))))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U33(X)) -> U33#(mark(X)))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U41(X1, X2)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(s(X)) -> mark#(X))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(s(X)) -> active#(s(mark(X))))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(s(X)) -> s#(mark(X)))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> mark#(X2))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(0()) -> active#(0()))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U61(X)) -> mark#(X))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U61(X)) -> active#(U61(mark(X))))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U61(X)) -> U61#(mark(X)))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(x(X1, X2)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(x(X1, X2)) -> mark#(X2))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(and(X1, X2)) -> mark#(X1))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (mark#(x(X1, X2)) -> mark#(X2), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U12(X1, X2)) -> mark#(X1))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(isNat(X)) -> active#(isNat(X)))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U13(X)) -> mark#(X))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U13(X)) -> active#(U13(mark(X))))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U13(X)) -> U13#(mark(X)))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U22(X)) -> mark#(X))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U22(X)) -> active#(U22(mark(X))))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U22(X)) -> U22#(mark(X)))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U21(X1, X2)) -> mark#(X1))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U32(X1, X2)) -> mark#(X1))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U33(X)) -> mark#(X))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U33(X)) -> active#(U33(mark(X))))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U33(X)) -> U33#(mark(X)))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U41(X1, X2)) -> mark#(X1))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(s(X)) -> mark#(X))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(s(X)) -> active#(s(mark(X))))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(s(X)) -> s#(mark(X)))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(plus(X1, X2)) -> mark#(X1))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(plus(X1, X2)) -> mark#(X2))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U61(X)) -> mark#(X))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U61(X)) -> active#(U61(mark(X))))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U61(X)) -> U61#(mark(X)))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(x(X1, X2)) -> mark#(X1))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(x(X1, X2)) -> mark#(X2))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(and(X1, X2)) -> mark#(X1))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U12(X1, X2)) -> mark#(X1))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(isNat(X)) -> active#(isNat(X)))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U13(X)) -> mark#(X))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U13(X)) -> active#(U13(mark(X))))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U13(X)) -> U13#(mark(X)))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U22(X)) -> mark#(X))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U22(X)) -> active#(U22(mark(X))))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U22(X)) -> U22#(mark(X)))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U21(X1, X2)) -> mark#(X1))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U32(X1, X2)) -> mark#(X1))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U33(X)) -> mark#(X))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U33(X)) -> active#(U33(mark(X))))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U33(X)) -> U33#(mark(X)))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U41(X1, X2)) -> mark#(X1))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(s(X)) -> mark#(X))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(s(X)) -> active#(s(mark(X))))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(s(X)) -> s#(mark(X)))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(plus(X1, X2)) -> mark#(X1))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(plus(X1, X2)) -> mark#(X2))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U61(X)) -> mark#(X))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U61(X)) -> active#(U61(mark(X))))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U61(X)) -> U61#(mark(X)))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(x(X1, X2)) -> mark#(X1))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(x(X1, X2)) -> mark#(X2))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(and(X1, X2)) -> mark#(X1))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U12(X1, X2)) -> mark#(X1))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X)))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U13(X)) -> mark#(X))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U13(X)) -> active#(U13(mark(X))))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U13(X)) -> U13#(mark(X)))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U22(X)) -> mark#(X))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U22(X)) -> active#(U22(mark(X))))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U22(X)) -> U22#(mark(X)))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U21(X1, X2)) -> mark#(X1))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U32(X1, X2)) -> mark#(X1))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U33(X)) -> mark#(X))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U33(X)) -> active#(U33(mark(X))))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U33(X)) -> U33#(mark(X)))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U41(X1, X2)) -> mark#(X1))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(s(X)) -> mark#(X))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(s(X)) -> active#(s(mark(X))))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(s(X)) -> s#(mark(X)))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(plus(X1, X2)) -> mark#(X1))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(plus(X1, X2)) -> mark#(X2))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U61(X)) -> mark#(X))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U61(X)) -> active#(U61(mark(X))))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U61(X)) -> U61#(mark(X)))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(x(X1, X2)) -> mark#(X1))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(x(X1, X2)) -> mark#(X2))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(and(X1, X2)) -> mark#(X1))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U12(tt(), V2)) -> isNat#(V2))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNat(s(V1))) -> isNatKind#(V1))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNat(0())) -> mark#(tt()))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U13(tt())) -> mark#(tt()))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U22(tt())) -> mark#(tt()))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U21(tt(), V1)) -> isNat#(V1))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U32(tt(), V2)) -> isNat#(V2))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U33(tt())) -> mark#(tt()))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U41(tt(), N)) -> mark#(N))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(plus(N, s(M))) -> isNat#(N))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(plus(N, s(M))) -> isNat#(M))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(plus(N, s(M))) -> isNatKind#(N))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(plus(N, s(M))) -> isNatKind#(M))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(plus(N, 0())) -> isNat#(N))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(plus(N, 0())) -> isNatKind#(N))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U51(tt(), M, N)) -> plus#(N, M))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U61(tt())) -> mark#(0()))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(x(N, s(M))) -> isNat#(N))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(x(N, s(M))) -> isNat#(M))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(x(N, s(M))) -> isNatKind#(N))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(x(N, s(M))) -> isNatKind#(M))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(x(N, 0())) -> isNat#(N))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(x(N, 0())) -> isNatKind#(N))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U71(tt(), M, N)) -> x#(N, M))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(and(tt(), X)) -> mark#(X))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNatKind(0())) -> mark#(tt()))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U12(tt(), V2)) -> isNat#(V2))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNat(s(V1))) -> isNatKind#(V1))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNat(0())) -> mark#(tt()))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U13(tt())) -> mark#(tt()))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U22(tt())) -> mark#(tt()))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U21(tt(), V1)) -> isNat#(V1))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U32(tt(), V2)) -> isNat#(V2))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U33(tt())) -> mark#(tt()))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U41(tt(), N)) -> mark#(N))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(plus(N, s(M))) -> isNat#(N))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(plus(N, s(M))) -> isNat#(M))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(plus(N, s(M))) -> isNatKind#(N))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(plus(N, s(M))) -> isNatKind#(M))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(plus(N, 0())) -> isNat#(N))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(plus(N, 0())) -> isNatKind#(N))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U51(tt(), M, N)) -> plus#(N, M))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U61(tt())) -> mark#(0()))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(x(N, s(M))) -> isNat#(N))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(x(N, s(M))) -> isNat#(M))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(x(N, s(M))) -> isNatKind#(N))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(x(N, s(M))) -> isNatKind#(M))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(x(N, 0())) -> isNat#(N))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(x(N, 0())) -> isNatKind#(N))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U71(tt(), M, N)) -> x#(N, M))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(and(tt(), X)) -> mark#(X))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNatKind(0())) -> mark#(tt()))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U12(tt(), V2)) -> isNat#(V2))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNat(s(V1))) -> isNatKind#(V1))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNat(0())) -> mark#(tt()))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U13(tt())) -> mark#(tt()))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U22(tt())) -> mark#(tt()))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U21(tt(), V1)) -> isNat#(V1))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U32(tt(), V2)) -> isNat#(V2))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U33(tt())) -> mark#(tt()))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U41(tt(), N)) -> mark#(N))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(plus(N, s(M))) -> isNat#(N))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(plus(N, s(M))) -> isNat#(M))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(plus(N, s(M))) -> isNatKind#(N))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(plus(N, s(M))) -> isNatKind#(M))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(plus(N, 0())) -> isNat#(N))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(plus(N, 0())) -> isNatKind#(N))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U51(tt(), M, N)) -> plus#(N, M))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U61(tt())) -> mark#(0()))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(x(N, s(M))) -> isNat#(N))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(x(N, s(M))) -> isNat#(M))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(x(N, s(M))) -> isNatKind#(N))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(x(N, s(M))) -> isNatKind#(M))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(x(N, 0())) -> isNat#(N))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(x(N, 0())) -> isNatKind#(N))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U71(tt(), M, N)) -> x#(N, M))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(and(tt(), X)) -> mark#(X))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNatKind(0())) -> mark#(tt()))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (active#(U51(tt(), M, N)) -> plus#(N, M), plus#(X1, mark(X2)) -> plus#(X1, X2))
    (active#(U51(tt(), M, N)) -> plus#(N, M), plus#(X1, active(X2)) -> plus#(X1, X2))
    (active#(U51(tt(), M, N)) -> plus#(N, M), plus#(mark(X1), X2) -> plus#(X1, X2))
    (active#(U51(tt(), M, N)) -> plus#(N, M), plus#(active(X1), X2) -> plus#(X1, X2))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U12(X1, X2)) -> mark#(X1))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(isNat(X)) -> active#(isNat(X)))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U13(X)) -> mark#(X))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U13(X)) -> active#(U13(mark(X))))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U13(X)) -> U13#(mark(X)))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U22(X)) -> mark#(X))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U22(X)) -> active#(U22(mark(X))))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U22(X)) -> U22#(mark(X)))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U21(X1, X2)) -> mark#(X1))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U32(X1, X2)) -> mark#(X1))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U33(X)) -> mark#(X))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U33(X)) -> active#(U33(mark(X))))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U33(X)) -> U33#(mark(X)))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U41(X1, X2)) -> mark#(X1))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(s(X)) -> mark#(X))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(s(X)) -> active#(s(mark(X))))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(s(X)) -> s#(mark(X)))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> mark#(X1))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> mark#(X2))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U61(X)) -> mark#(X))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U61(X)) -> active#(U61(mark(X))))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U61(X)) -> U61#(mark(X)))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(x(X1, X2)) -> mark#(X1))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(x(X1, X2)) -> mark#(X2))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(and(X1, X2)) -> mark#(X1))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U12(X1, X2)) -> mark#(X1))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U12(X1, X2)) -> U12#(mark(X1), X2))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(isNat(X)) -> active#(isNat(X)))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U11(X1, X2, X3)) -> mark#(X1))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U11(X1, X2, X3)) -> U11#(mark(X1), X2, X3))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U13(X)) -> mark#(X))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U13(X)) -> active#(U13(mark(X))))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U13(X)) -> U13#(mark(X)))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U22(X)) -> mark#(X))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U22(X)) -> active#(U22(mark(X))))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U22(X)) -> U22#(mark(X)))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U21(X1, X2)) -> mark#(X1))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U21(X1, X2)) -> U21#(mark(X1), X2))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U32(X1, X2)) -> mark#(X1))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U32(X1, X2)) -> U32#(mark(X1), X2))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U31(X1, X2, X3)) -> mark#(X1))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U31(X1, X2, X3)) -> U31#(mark(X1), X2, X3))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U33(X)) -> mark#(X))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U33(X)) -> active#(U33(mark(X))))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U33(X)) -> U33#(mark(X)))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U41(X1, X2)) -> mark#(X1))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U41(X1, X2)) -> U41#(mark(X1), X2))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(s(X)) -> mark#(X))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(s(X)) -> active#(s(mark(X))))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(s(X)) -> s#(mark(X)))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(plus(X1, X2)) -> mark#(X1))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(plus(X1, X2)) -> mark#(X2))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(plus(X1, X2)) -> plus#(mark(X1), mark(X2)))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U51(X1, X2, X3)) -> mark#(X1))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U51(X1, X2, X3)) -> U51#(mark(X1), X2, X3))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U61(X)) -> mark#(X))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U61(X)) -> active#(U61(mark(X))))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U61(X)) -> U61#(mark(X)))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(x(X1, X2)) -> mark#(X1))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(x(X1, X2)) -> mark#(X2))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(x(X1, X2)) -> x#(mark(X1), mark(X2)))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U71(X1, X2, X3)) -> mark#(X1))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U71(X1, X2, X3)) -> U71#(mark(X1), X2, X3))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(and(X1, X2)) -> mark#(X1))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(and(X1, X2)) -> and#(mark(X1), X2))
    (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(isNatKind(X)) -> active#(isNatKind(X)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U12(tt(), V2)) -> isNat#(V2))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNat(s(V1))) -> isNatKind#(V1))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNat(0())) -> mark#(tt()))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U13(tt())) -> mark#(tt()))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U22(tt())) -> mark#(tt()))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U21(tt(), V1)) -> isNat#(V1))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U32(tt(), V2)) -> isNat#(V2))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U33(tt())) -> mark#(tt()))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U41(tt(), N)) -> mark#(N))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(plus(N, s(M))) -> isNat#(N))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(plus(N, s(M))) -> isNat#(M))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(plus(N, s(M))) -> isNatKind#(N))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(plus(N, s(M))) -> isNatKind#(M))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(plus(N, 0())) -> isNat#(N))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(plus(N, 0())) -> isNatKind#(N))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U51(tt(), M, N)) -> plus#(N, M))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U61(tt())) -> mark#(0()))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(x(N, s(M))) -> isNat#(N))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(x(N, s(M))) -> isNat#(M))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(x(N, s(M))) -> isNatKind#(N))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(x(N, s(M))) -> isNatKind#(M))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(x(N, 0())) -> isNat#(N))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(x(N, 0())) -> isNatKind#(N))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(U71(tt(), M, N)) -> x#(N, M))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(and(tt(), X)) -> mark#(X))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNatKind(0())) -> mark#(tt()))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U61(X)) -> active#(U61(mark(X))), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U12(tt(), V2)) -> isNat#(V2))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNat(s(V1))) -> isNatKind#(V1))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNat(0())) -> mark#(tt()))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U13(tt())) -> mark#(tt()))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U22(tt())) -> mark#(tt()))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U21(tt(), V1)) -> isNat#(V1))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U32(tt(), V2)) -> isNat#(V2))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U33(tt())) -> mark#(tt()))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U41(tt(), N)) -> mark#(N))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(plus(N, s(M))) -> isNat#(N))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(plus(N, s(M))) -> isNat#(M))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(plus(N, s(M))) -> isNatKind#(N))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(plus(N, s(M))) -> isNatKind#(M))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(plus(N, 0())) -> isNat#(N))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(plus(N, 0())) -> isNatKind#(N))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U51(tt(), M, N)) -> plus#(N, M))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U61(tt())) -> mark#(0()))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(x(N, s(M))) -> isNat#(N))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(x(N, s(M))) -> isNat#(M))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(x(N, s(M))) -> isNatKind#(N))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(x(N, s(M))) -> isNatKind#(M))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(x(N, 0())) -> isNat#(N))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(x(N, 0())) -> isNatKind#(N))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(U71(tt(), M, N)) -> x#(N, M))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(and(tt(), X)) -> mark#(X))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNatKind(0())) -> mark#(tt()))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U33(X)) -> active#(U33(mark(X))), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U12(tt(), V2)) -> isNat#(V2))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U12(tt(), V2)) -> U13#(isNat(V2)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNat(s(V1))) -> U21#(isNatKind(V1), V1))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNat(s(V1))) -> isNatKind#(V1))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNat(plus(V1, V2))) -> U11#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNat(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNat(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNat(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNat(0())) -> mark#(tt()))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNat(x(V1, V2))) -> U31#(and(isNatKind(V1), isNatKind(V2)), V1, V2))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNat(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNat(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNat(x(V1, V2))) -> isNatKind#(V2))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U11(tt(), V1, V2)) -> U12#(isNat(V1), V2))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U11(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U13(tt())) -> mark#(tt()))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U22(tt())) -> mark#(tt()))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U21(tt(), V1)) -> isNat#(V1))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U21(tt(), V1)) -> U22#(isNat(V1)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U32(tt(), V2)) -> isNat#(V2))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U32(tt(), V2)) -> U33#(isNat(V2)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U31(tt(), V1, V2)) -> isNat#(V1))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U31(tt(), V1, V2)) -> U32#(isNat(V1), V2))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U33(tt())) -> mark#(tt()))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U41(tt(), N)) -> mark#(N))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(plus(N, s(M))) -> isNat#(N))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(plus(N, s(M))) -> isNat#(M))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(plus(N, s(M))) -> U51#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(plus(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(plus(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(plus(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(plus(N, s(M))) -> isNatKind#(N))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(plus(N, s(M))) -> isNatKind#(M))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(plus(N, 0())) -> isNat#(N))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(plus(N, 0())) -> U41#(and(isNat(N), isNatKind(N)), N))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(plus(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(plus(N, 0())) -> isNatKind#(N))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U51(tt(), M, N)) -> s#(plus(N, M)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U51(tt(), M, N)) -> plus#(N, M))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U61(tt())) -> mark#(0()))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(x(N, s(M))) -> isNat#(N))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(x(N, s(M))) -> isNat#(M))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(x(N, s(M))) -> U71#(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(x(N, s(M))) -> and#(isNat(N), isNatKind(N)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(x(N, s(M))) -> and#(isNat(M), isNatKind(M)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(x(N, s(M))) -> and#(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(x(N, s(M))) -> isNatKind#(N))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(x(N, s(M))) -> isNatKind#(M))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(x(N, 0())) -> isNat#(N))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(x(N, 0())) -> U61#(and(isNat(N), isNatKind(N))))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(x(N, 0())) -> and#(isNat(N), isNatKind(N)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(x(N, 0())) -> isNatKind#(N))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U71(tt(), M, N)) -> plus#(x(N, M), N))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(U71(tt(), M, N)) -> x#(N, M))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(and(tt(), X)) -> mark#(X))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNatKind(s(V1))) -> isNatKind#(V1))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNatKind(plus(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V1))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNatKind(plus(V1, V2))) -> isNatKind#(V2))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNatKind(0())) -> mark#(tt()))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNatKind(x(V1, V2))) -> and#(isNatKind(V1), isNatKind(V2)))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNatKind(x(V1, V2))) -> isNatKind#(V1))
    (mark#(U13(X)) -> active#(U13(mark(X))), active#(isNatKind(x(V1, V2))) -> isNatKind#(V2))
   }
   SCCS:
    Scc:
     {  isNatKind#(mark(X)) -> isNatKind#(X),
      isNatKind#(active(X)) -> isNatKind#(X)}
    Scc:
     {  and#(X1, mark(X2)) -> and#(X1, X2),
      and#(X1, active(X2)) -> and#(X1, X2),
        and#(mark(X1), X2) -> and#(X1, X2),
      and#(active(X1), X2) -> and#(X1, X2)}
    Scc:
     {  U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3),
      U71#(X1, X2, active(X3)) -> U71#(X1, X2, X3),
        U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3),
      U71#(X1, active(X2), X3) -> U71#(X1, X2, X3),
        U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3),
      U71#(active(X1), X2, X3) -> U71#(X1, X2, X3)}
    Scc:
     {  x#(X1, mark(X2)) -> x#(X1, X2),
      x#(X1, active(X2)) -> x#(X1, X2),
        x#(mark(X1), X2) -> x#(X1, X2),
      x#(active(X1), X2) -> x#(X1, X2)}
    Scc:
     {  U61#(mark(X)) -> U61#(X),
      U61#(active(X)) -> U61#(X)}
    Scc:
     {  U51#(X1, X2, mark(X3)) -> U51#(X1, X2, X3),
      U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3),
        U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3),
      U51#(X1, active(X2), X3) -> U51#(X1, X2, X3),
        U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3),
      U51#(active(X1), X2, X3) -> U51#(X1, X2, X3)}
    Scc:
     {  plus#(X1, mark(X2)) -> plus#(X1, X2),
      plus#(X1, active(X2)) -> plus#(X1, X2),
        plus#(mark(X1), X2) -> plus#(X1, X2),
      plus#(active(X1), X2) -> plus#(X1, X2)}
    Scc:
     {  s#(mark(X)) -> s#(X),
      s#(active(X)) -> s#(X)}
    Scc:
     {  U41#(X1, mark(X2)) -> U41#(X1, X2),
      U41#(X1, active(X2)) -> U41#(X1, X2),
        U41#(mark(X1), X2) -> U41#(X1, X2),
      U41#(active(X1), X2) -> U41#(X1, X2)}
    Scc:
     {  U33#(mark(X)) -> U33#(X),
      U33#(active(X)) -> U33#(X)}
    Scc:
     {  U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3),
      U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3),
        U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3),
      U31#(X1, active(X2), X3) -> U31#(X1, X2, X3),
        U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3),
      U31#(active(X1), X2, X3) -> U31#(X1, X2, X3)}
    Scc:
     {  U32#(X1, mark(X2)) -> U32#(X1, X2),
      U32#(X1, active(X2)) -> U32#(X1, X2),
        U32#(mark(X1), X2) -> U32#(X1, X2),
      U32#(active(X1), X2) -> U32#(X1, X2)}
    Scc:
     {  U21#(X1, mark(X2)) -> U21#(X1, X2),
      U21#(X1, active(X2)) -> U21#(X1, X2),
        U21#(mark(X1), X2) -> U21#(X1, X2),
      U21#(active(X1), X2) -> U21#(X1, X2)}
    Scc:
     {  U22#(mark(X)) -> U22#(X),
      U22#(active(X)) -> U22#(X)}
    Scc:
     {  U13#(mark(X)) -> U13#(X),
      U13#(active(X)) -> U13#(X)}
    Scc:
     {  U11#(X1, X2, mark(X3)) -> U11#(X1, X2, X3),
      U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3),
        U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3),
      U11#(X1, active(X2), X3) -> U11#(X1, X2, X3),
        U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3),
      U11#(active(X1), X2, X3) -> U11#(X1, X2, X3)}
    Scc:
     {  isNat#(mark(X)) -> isNat#(X),
      isNat#(active(X)) -> isNat#(X)}
    Scc:
     {  U12#(X1, mark(X2)) -> U12#(X1, X2),
      U12#(X1, active(X2)) -> U12#(X1, X2),
        U12#(mark(X1), X2) -> U12#(X1, X2),
      U12#(active(X1), X2) -> U12#(X1, X2)}
    Scc:
     {              mark#(U12(X1, X2)) -> mark#(X1),
                    mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)),
                       mark#(isNat(X)) -> active#(isNat(X)),
                mark#(U11(X1, X2, X3)) -> mark#(X1),
                mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)),
                         mark#(U13(X)) -> mark#(X),
                         mark#(U13(X)) -> active#(U13(mark(X))),
                         mark#(U22(X)) -> mark#(X),
                         mark#(U22(X)) -> active#(U22(mark(X))),
                    mark#(U21(X1, X2)) -> mark#(X1),
                    mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)),
                    mark#(U32(X1, X2)) -> mark#(X1),
                    mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)),
                mark#(U31(X1, X2, X3)) -> mark#(X1),
                mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)),
                         mark#(U33(X)) -> mark#(X),
                         mark#(U33(X)) -> active#(U33(mark(X))),
                    mark#(U41(X1, X2)) -> mark#(X1),
                    mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)),
                           mark#(s(X)) -> mark#(X),
                           mark#(s(X)) -> active#(s(mark(X))),
                   mark#(plus(X1, X2)) -> mark#(X1),
                   mark#(plus(X1, X2)) -> mark#(X2),
                   mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))),
                mark#(U51(X1, X2, X3)) -> mark#(X1),
                mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)),
                         mark#(U61(X)) -> mark#(X),
                         mark#(U61(X)) -> active#(U61(mark(X))),
                      mark#(x(X1, X2)) -> mark#(X1),
                      mark#(x(X1, X2)) -> mark#(X2),
                      mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))),
                mark#(U71(X1, X2, X3)) -> mark#(X1),
                mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)),
                    mark#(and(X1, X2)) -> mark#(X1),
                    mark#(and(X1, X2)) -> active#(and(mark(X1), X2)),
                   mark#(isNatKind(X)) -> active#(isNatKind(X)),
                active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))),
                 active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)),
          active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
             active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
            active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)),
                active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))),
                active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))),
            active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)),
                 active#(U41(tt(), N)) -> mark#(N),
                active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)),
              active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))),
                   active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                    active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))),
              active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)),
                 active#(and(tt(), X)) -> mark#(X),
             active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)),
      active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))),
         active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2)))}
    SCC:
     Strict:
      {  isNatKind#(mark(X)) -> isNatKind#(X),
       isNatKind#(active(X)) -> isNatKind#(X)}
     Weak:
     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                       mark(isNat(X)) -> active(isNat(X)),
                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                           mark(tt()) -> active(tt()),
                         mark(U13(X)) -> active(U13(mark(X))),
                         mark(U22(X)) -> active(U22(mark(X))),
                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                         mark(U33(X)) -> active(U33(mark(X))),
                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                           mark(s(X)) -> active(s(mark(X))),
                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                            mark(0()) -> active(0()),
                         mark(U61(X)) -> active(U61(mark(X))),
                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                   mark(isNatKind(X)) -> active(isNatKind(X)),
                    U12(X1, mark(X2)) -> U12(X1, X2),
                  U12(X1, active(X2)) -> U12(X1, X2),
                    U12(mark(X1), X2) -> U12(X1, X2),
                  U12(active(X1), X2) -> U12(X1, X2),
                       isNat(mark(X)) -> isNat(X),
                     isNat(active(X)) -> isNat(X),
                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                   active(isNat(0())) -> mark(tt()),
             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                    active(U13(tt())) -> mark(tt()),
                    active(U22(tt())) -> mark(tt()),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                    active(U33(tt())) -> mark(tt()),
                 active(U41(tt(), N)) -> mark(N),
                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                    active(U61(tt())) -> mark(0()),
                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                 active(and(tt(), X)) -> mark(X),
             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
               active(isNatKind(0())) -> mark(tt()),
         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                         U13(mark(X)) -> U13(X),
                       U13(active(X)) -> U13(X),
                         U22(mark(X)) -> U22(X),
                       U22(active(X)) -> U22(X),
                    U21(X1, mark(X2)) -> U21(X1, X2),
                  U21(X1, active(X2)) -> U21(X1, X2),
                    U21(mark(X1), X2) -> U21(X1, X2),
                  U21(active(X1), X2) -> U21(X1, X2),
                    U32(X1, mark(X2)) -> U32(X1, X2),
                  U32(X1, active(X2)) -> U32(X1, X2),
                    U32(mark(X1), X2) -> U32(X1, X2),
                  U32(active(X1), X2) -> U32(X1, X2),
                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                         U33(mark(X)) -> U33(X),
                       U33(active(X)) -> U33(X),
                    U41(X1, mark(X2)) -> U41(X1, X2),
                  U41(X1, active(X2)) -> U41(X1, X2),
                    U41(mark(X1), X2) -> U41(X1, X2),
                  U41(active(X1), X2) -> U41(X1, X2),
                           s(mark(X)) -> s(X),
                         s(active(X)) -> s(X),
                   plus(X1, mark(X2)) -> plus(X1, X2),
                 plus(X1, active(X2)) -> plus(X1, X2),
                   plus(mark(X1), X2) -> plus(X1, X2),
                 plus(active(X1), X2) -> plus(X1, X2),
                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                         U61(mark(X)) -> U61(X),
                       U61(active(X)) -> U61(X),
                      x(X1, mark(X2)) -> x(X1, X2),
                    x(X1, active(X2)) -> x(X1, X2),
                      x(mark(X1), X2) -> x(X1, X2),
                    x(active(X1), X2) -> x(X1, X2),
                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                    and(X1, mark(X2)) -> and(X1, X2),
                  and(X1, active(X2)) -> and(X1, X2),
                    and(mark(X1), X2) -> and(X1, X2),
                  and(active(X1), X2) -> and(X1, X2),
                   isNatKind(mark(X)) -> isNatKind(X),
                 isNatKind(active(X)) -> isNatKind(X)}
     SPSC:
      Simple Projection:
       pi(isNatKind#) = 0
      Strict:
       {isNatKind#(active(X)) -> isNatKind#(X)}
      EDG:
       {(isNatKind#(active(X)) -> isNatKind#(X), isNatKind#(active(X)) -> isNatKind#(X))}
       SCCS:
        Scc:
         {isNatKind#(active(X)) -> isNatKind#(X)}
        SCC:
         Strict:
          {isNatKind#(active(X)) -> isNatKind#(X)}
         Weak:
         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                           mark(isNat(X)) -> active(isNat(X)),
                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                               mark(tt()) -> active(tt()),
                             mark(U13(X)) -> active(U13(mark(X))),
                             mark(U22(X)) -> active(U22(mark(X))),
                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                             mark(U33(X)) -> active(U33(mark(X))),
                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                               mark(s(X)) -> active(s(mark(X))),
                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                mark(0()) -> active(0()),
                             mark(U61(X)) -> active(U61(mark(X))),
                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                       mark(isNatKind(X)) -> active(isNatKind(X)),
                        U12(X1, mark(X2)) -> U12(X1, X2),
                      U12(X1, active(X2)) -> U12(X1, X2),
                        U12(mark(X1), X2) -> U12(X1, X2),
                      U12(active(X1), X2) -> U12(X1, X2),
                           isNat(mark(X)) -> isNat(X),
                         isNat(active(X)) -> isNat(X),
                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                       active(isNat(0())) -> mark(tt()),
                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                        active(U13(tt())) -> mark(tt()),
                        active(U22(tt())) -> mark(tt()),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                        active(U33(tt())) -> mark(tt()),
                     active(U41(tt(), N)) -> mark(N),
                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                        active(U61(tt())) -> mark(0()),
                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                     active(and(tt(), X)) -> mark(X),
                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                   active(isNatKind(0())) -> mark(tt()),
             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                             U13(mark(X)) -> U13(X),
                           U13(active(X)) -> U13(X),
                             U22(mark(X)) -> U22(X),
                           U22(active(X)) -> U22(X),
                        U21(X1, mark(X2)) -> U21(X1, X2),
                      U21(X1, active(X2)) -> U21(X1, X2),
                        U21(mark(X1), X2) -> U21(X1, X2),
                      U21(active(X1), X2) -> U21(X1, X2),
                        U32(X1, mark(X2)) -> U32(X1, X2),
                      U32(X1, active(X2)) -> U32(X1, X2),
                        U32(mark(X1), X2) -> U32(X1, X2),
                      U32(active(X1), X2) -> U32(X1, X2),
                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                             U33(mark(X)) -> U33(X),
                           U33(active(X)) -> U33(X),
                        U41(X1, mark(X2)) -> U41(X1, X2),
                      U41(X1, active(X2)) -> U41(X1, X2),
                        U41(mark(X1), X2) -> U41(X1, X2),
                      U41(active(X1), X2) -> U41(X1, X2),
                               s(mark(X)) -> s(X),
                             s(active(X)) -> s(X),
                       plus(X1, mark(X2)) -> plus(X1, X2),
                     plus(X1, active(X2)) -> plus(X1, X2),
                       plus(mark(X1), X2) -> plus(X1, X2),
                     plus(active(X1), X2) -> plus(X1, X2),
                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                             U61(mark(X)) -> U61(X),
                           U61(active(X)) -> U61(X),
                          x(X1, mark(X2)) -> x(X1, X2),
                        x(X1, active(X2)) -> x(X1, X2),
                          x(mark(X1), X2) -> x(X1, X2),
                        x(active(X1), X2) -> x(X1, X2),
                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                        and(X1, mark(X2)) -> and(X1, X2),
                      and(X1, active(X2)) -> and(X1, X2),
                        and(mark(X1), X2) -> and(X1, X2),
                      and(active(X1), X2) -> and(X1, X2),
                       isNatKind(mark(X)) -> isNatKind(X),
                     isNatKind(active(X)) -> isNatKind(X)}
         SPSC:
          Simple Projection:
           pi(isNatKind#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {  and#(X1, mark(X2)) -> and#(X1, X2),
       and#(X1, active(X2)) -> and#(X1, X2),
         and#(mark(X1), X2) -> and#(X1, X2),
       and#(active(X1), X2) -> and#(X1, X2)}
     Weak:
     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                       mark(isNat(X)) -> active(isNat(X)),
                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                           mark(tt()) -> active(tt()),
                         mark(U13(X)) -> active(U13(mark(X))),
                         mark(U22(X)) -> active(U22(mark(X))),
                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                         mark(U33(X)) -> active(U33(mark(X))),
                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                           mark(s(X)) -> active(s(mark(X))),
                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                            mark(0()) -> active(0()),
                         mark(U61(X)) -> active(U61(mark(X))),
                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                   mark(isNatKind(X)) -> active(isNatKind(X)),
                    U12(X1, mark(X2)) -> U12(X1, X2),
                  U12(X1, active(X2)) -> U12(X1, X2),
                    U12(mark(X1), X2) -> U12(X1, X2),
                  U12(active(X1), X2) -> U12(X1, X2),
                       isNat(mark(X)) -> isNat(X),
                     isNat(active(X)) -> isNat(X),
                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                   active(isNat(0())) -> mark(tt()),
             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                    active(U13(tt())) -> mark(tt()),
                    active(U22(tt())) -> mark(tt()),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                    active(U33(tt())) -> mark(tt()),
                 active(U41(tt(), N)) -> mark(N),
                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                    active(U61(tt())) -> mark(0()),
                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                 active(and(tt(), X)) -> mark(X),
             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
               active(isNatKind(0())) -> mark(tt()),
         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                         U13(mark(X)) -> U13(X),
                       U13(active(X)) -> U13(X),
                         U22(mark(X)) -> U22(X),
                       U22(active(X)) -> U22(X),
                    U21(X1, mark(X2)) -> U21(X1, X2),
                  U21(X1, active(X2)) -> U21(X1, X2),
                    U21(mark(X1), X2) -> U21(X1, X2),
                  U21(active(X1), X2) -> U21(X1, X2),
                    U32(X1, mark(X2)) -> U32(X1, X2),
                  U32(X1, active(X2)) -> U32(X1, X2),
                    U32(mark(X1), X2) -> U32(X1, X2),
                  U32(active(X1), X2) -> U32(X1, X2),
                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                         U33(mark(X)) -> U33(X),
                       U33(active(X)) -> U33(X),
                    U41(X1, mark(X2)) -> U41(X1, X2),
                  U41(X1, active(X2)) -> U41(X1, X2),
                    U41(mark(X1), X2) -> U41(X1, X2),
                  U41(active(X1), X2) -> U41(X1, X2),
                           s(mark(X)) -> s(X),
                         s(active(X)) -> s(X),
                   plus(X1, mark(X2)) -> plus(X1, X2),
                 plus(X1, active(X2)) -> plus(X1, X2),
                   plus(mark(X1), X2) -> plus(X1, X2),
                 plus(active(X1), X2) -> plus(X1, X2),
                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                         U61(mark(X)) -> U61(X),
                       U61(active(X)) -> U61(X),
                      x(X1, mark(X2)) -> x(X1, X2),
                    x(X1, active(X2)) -> x(X1, X2),
                      x(mark(X1), X2) -> x(X1, X2),
                    x(active(X1), X2) -> x(X1, X2),
                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                    and(X1, mark(X2)) -> and(X1, X2),
                  and(X1, active(X2)) -> and(X1, X2),
                    and(mark(X1), X2) -> and(X1, X2),
                  and(active(X1), X2) -> and(X1, X2),
                   isNatKind(mark(X)) -> isNatKind(X),
                 isNatKind(active(X)) -> isNatKind(X)}
     SPSC:
      Simple Projection:
       pi(and#) = 0
      Strict:
       {  and#(X1, mark(X2)) -> and#(X1, X2),
        and#(X1, active(X2)) -> and#(X1, X2),
          and#(mark(X1), X2) -> and#(X1, X2)}
      EDG:
       {(and#(X1, active(X2)) -> and#(X1, X2), and#(mark(X1), X2) -> and#(X1, X2))
        (and#(X1, active(X2)) -> and#(X1, X2), and#(X1, active(X2)) -> and#(X1, X2))
        (and#(X1, active(X2)) -> and#(X1, X2), and#(X1, mark(X2)) -> and#(X1, X2))
        (and#(mark(X1), X2) -> and#(X1, X2), and#(X1, mark(X2)) -> and#(X1, X2))
        (and#(mark(X1), X2) -> and#(X1, X2), and#(X1, active(X2)) -> and#(X1, X2))
        (and#(mark(X1), X2) -> and#(X1, X2), and#(mark(X1), X2) -> and#(X1, X2))
        (and#(X1, mark(X2)) -> and#(X1, X2), and#(X1, mark(X2)) -> and#(X1, X2))
        (and#(X1, mark(X2)) -> and#(X1, X2), and#(X1, active(X2)) -> and#(X1, X2))
        (and#(X1, mark(X2)) -> and#(X1, X2), and#(mark(X1), X2) -> and#(X1, X2))}
       SCCS:
        Scc:
         {  and#(X1, mark(X2)) -> and#(X1, X2),
          and#(X1, active(X2)) -> and#(X1, X2),
            and#(mark(X1), X2) -> and#(X1, X2)}
        SCC:
         Strict:
          {  and#(X1, mark(X2)) -> and#(X1, X2),
           and#(X1, active(X2)) -> and#(X1, X2),
             and#(mark(X1), X2) -> and#(X1, X2)}
         Weak:
         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                           mark(isNat(X)) -> active(isNat(X)),
                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                               mark(tt()) -> active(tt()),
                             mark(U13(X)) -> active(U13(mark(X))),
                             mark(U22(X)) -> active(U22(mark(X))),
                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                             mark(U33(X)) -> active(U33(mark(X))),
                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                               mark(s(X)) -> active(s(mark(X))),
                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                mark(0()) -> active(0()),
                             mark(U61(X)) -> active(U61(mark(X))),
                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                       mark(isNatKind(X)) -> active(isNatKind(X)),
                        U12(X1, mark(X2)) -> U12(X1, X2),
                      U12(X1, active(X2)) -> U12(X1, X2),
                        U12(mark(X1), X2) -> U12(X1, X2),
                      U12(active(X1), X2) -> U12(X1, X2),
                           isNat(mark(X)) -> isNat(X),
                         isNat(active(X)) -> isNat(X),
                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                       active(isNat(0())) -> mark(tt()),
                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                        active(U13(tt())) -> mark(tt()),
                        active(U22(tt())) -> mark(tt()),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                        active(U33(tt())) -> mark(tt()),
                     active(U41(tt(), N)) -> mark(N),
                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                        active(U61(tt())) -> mark(0()),
                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                     active(and(tt(), X)) -> mark(X),
                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                   active(isNatKind(0())) -> mark(tt()),
             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                             U13(mark(X)) -> U13(X),
                           U13(active(X)) -> U13(X),
                             U22(mark(X)) -> U22(X),
                           U22(active(X)) -> U22(X),
                        U21(X1, mark(X2)) -> U21(X1, X2),
                      U21(X1, active(X2)) -> U21(X1, X2),
                        U21(mark(X1), X2) -> U21(X1, X2),
                      U21(active(X1), X2) -> U21(X1, X2),
                        U32(X1, mark(X2)) -> U32(X1, X2),
                      U32(X1, active(X2)) -> U32(X1, X2),
                        U32(mark(X1), X2) -> U32(X1, X2),
                      U32(active(X1), X2) -> U32(X1, X2),
                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                             U33(mark(X)) -> U33(X),
                           U33(active(X)) -> U33(X),
                        U41(X1, mark(X2)) -> U41(X1, X2),
                      U41(X1, active(X2)) -> U41(X1, X2),
                        U41(mark(X1), X2) -> U41(X1, X2),
                      U41(active(X1), X2) -> U41(X1, X2),
                               s(mark(X)) -> s(X),
                             s(active(X)) -> s(X),
                       plus(X1, mark(X2)) -> plus(X1, X2),
                     plus(X1, active(X2)) -> plus(X1, X2),
                       plus(mark(X1), X2) -> plus(X1, X2),
                     plus(active(X1), X2) -> plus(X1, X2),
                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                             U61(mark(X)) -> U61(X),
                           U61(active(X)) -> U61(X),
                          x(X1, mark(X2)) -> x(X1, X2),
                        x(X1, active(X2)) -> x(X1, X2),
                          x(mark(X1), X2) -> x(X1, X2),
                        x(active(X1), X2) -> x(X1, X2),
                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                        and(X1, mark(X2)) -> and(X1, X2),
                      and(X1, active(X2)) -> and(X1, X2),
                        and(mark(X1), X2) -> and(X1, X2),
                      and(active(X1), X2) -> and(X1, X2),
                       isNatKind(mark(X)) -> isNatKind(X),
                     isNatKind(active(X)) -> isNatKind(X)}
         SPSC:
          Simple Projection:
           pi(and#) = 0
          Strict:
           {  and#(X1, mark(X2)) -> and#(X1, X2),
            and#(X1, active(X2)) -> and#(X1, X2)}
          EDG:
           {(and#(X1, active(X2)) -> and#(X1, X2), and#(X1, active(X2)) -> and#(X1, X2))
            (and#(X1, active(X2)) -> and#(X1, X2), and#(X1, mark(X2)) -> and#(X1, X2))
            (and#(X1, mark(X2)) -> and#(X1, X2), and#(X1, mark(X2)) -> and#(X1, X2))
            (and#(X1, mark(X2)) -> and#(X1, X2), and#(X1, active(X2)) -> and#(X1, X2))}
           SCCS:
            Scc:
             {  and#(X1, mark(X2)) -> and#(X1, X2),
              and#(X1, active(X2)) -> and#(X1, X2)}
            SCC:
             Strict:
              {  and#(X1, mark(X2)) -> and#(X1, X2),
               and#(X1, active(X2)) -> and#(X1, X2)}
             Weak:
             {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                               mark(isNat(X)) -> active(isNat(X)),
                        mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                   mark(tt()) -> active(tt()),
                                 mark(U13(X)) -> active(U13(mark(X))),
                                 mark(U22(X)) -> active(U22(mark(X))),
                            mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                            mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                        mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                 mark(U33(X)) -> active(U33(mark(X))),
                            mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                   mark(s(X)) -> active(s(mark(X))),
                           mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                        mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                    mark(0()) -> active(0()),
                                 mark(U61(X)) -> active(U61(mark(X))),
                              mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                        mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                            mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                           mark(isNatKind(X)) -> active(isNatKind(X)),
                            U12(X1, mark(X2)) -> U12(X1, X2),
                          U12(X1, active(X2)) -> U12(X1, X2),
                            U12(mark(X1), X2) -> U12(X1, X2),
                          U12(active(X1), X2) -> U12(X1, X2),
                               isNat(mark(X)) -> isNat(X),
                             isNat(active(X)) -> isNat(X),
                        active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                         active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                  active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                           active(isNat(0())) -> mark(tt()),
                     active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                            active(U13(tt())) -> mark(tt()),
                            active(U22(tt())) -> mark(tt()),
                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                            active(U33(tt())) -> mark(tt()),
                         active(U41(tt(), N)) -> mark(N),
                        active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                         active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                            active(U61(tt())) -> mark(0()),
                           active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                            active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                         active(and(tt(), X)) -> mark(X),
                     active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
              active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                       active(isNatKind(0())) -> mark(tt()),
                 active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                        U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                      U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                        U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                      U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                        U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                      U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                 U13(mark(X)) -> U13(X),
                               U13(active(X)) -> U13(X),
                                 U22(mark(X)) -> U22(X),
                               U22(active(X)) -> U22(X),
                            U21(X1, mark(X2)) -> U21(X1, X2),
                          U21(X1, active(X2)) -> U21(X1, X2),
                            U21(mark(X1), X2) -> U21(X1, X2),
                          U21(active(X1), X2) -> U21(X1, X2),
                            U32(X1, mark(X2)) -> U32(X1, X2),
                          U32(X1, active(X2)) -> U32(X1, X2),
                            U32(mark(X1), X2) -> U32(X1, X2),
                          U32(active(X1), X2) -> U32(X1, X2),
                        U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                      U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                        U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                      U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                        U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                      U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                 U33(mark(X)) -> U33(X),
                               U33(active(X)) -> U33(X),
                            U41(X1, mark(X2)) -> U41(X1, X2),
                          U41(X1, active(X2)) -> U41(X1, X2),
                            U41(mark(X1), X2) -> U41(X1, X2),
                          U41(active(X1), X2) -> U41(X1, X2),
                                   s(mark(X)) -> s(X),
                                 s(active(X)) -> s(X),
                           plus(X1, mark(X2)) -> plus(X1, X2),
                         plus(X1, active(X2)) -> plus(X1, X2),
                           plus(mark(X1), X2) -> plus(X1, X2),
                         plus(active(X1), X2) -> plus(X1, X2),
                        U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                      U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                        U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                      U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                        U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                      U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                 U61(mark(X)) -> U61(X),
                               U61(active(X)) -> U61(X),
                              x(X1, mark(X2)) -> x(X1, X2),
                            x(X1, active(X2)) -> x(X1, X2),
                              x(mark(X1), X2) -> x(X1, X2),
                            x(active(X1), X2) -> x(X1, X2),
                        U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                      U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                        U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                      U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                        U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                      U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                            and(X1, mark(X2)) -> and(X1, X2),
                          and(X1, active(X2)) -> and(X1, X2),
                            and(mark(X1), X2) -> and(X1, X2),
                          and(active(X1), X2) -> and(X1, X2),
                           isNatKind(mark(X)) -> isNatKind(X),
                         isNatKind(active(X)) -> isNatKind(X)}
             SPSC:
              Simple Projection:
               pi(and#) = 1
              Strict:
               {and#(X1, active(X2)) -> and#(X1, X2)}
              EDG:
               {(and#(X1, active(X2)) -> and#(X1, X2), and#(X1, active(X2)) -> and#(X1, X2))}
               SCCS:
                Scc:
                 {and#(X1, active(X2)) -> and#(X1, X2)}
                SCC:
                 Strict:
                  {and#(X1, active(X2)) -> and#(X1, X2)}
                 Weak:
                 {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                                   mark(isNat(X)) -> active(isNat(X)),
                            mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                       mark(tt()) -> active(tt()),
                                     mark(U13(X)) -> active(U13(mark(X))),
                                     mark(U22(X)) -> active(U22(mark(X))),
                                mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                                mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                            mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                     mark(U33(X)) -> active(U33(mark(X))),
                                mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                       mark(s(X)) -> active(s(mark(X))),
                               mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                            mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                        mark(0()) -> active(0()),
                                     mark(U61(X)) -> active(U61(mark(X))),
                                  mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                            mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                                mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                               mark(isNatKind(X)) -> active(isNatKind(X)),
                                U12(X1, mark(X2)) -> U12(X1, X2),
                              U12(X1, active(X2)) -> U12(X1, X2),
                                U12(mark(X1), X2) -> U12(X1, X2),
                              U12(active(X1), X2) -> U12(X1, X2),
                                   isNat(mark(X)) -> isNat(X),
                                 isNat(active(X)) -> isNat(X),
                            active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                             active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                      active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                               active(isNat(0())) -> mark(tt()),
                         active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                active(U13(tt())) -> mark(tt()),
                                active(U22(tt())) -> mark(tt()),
                            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                active(U33(tt())) -> mark(tt()),
                             active(U41(tt(), N)) -> mark(N),
                            active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                             active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                active(U61(tt())) -> mark(0()),
                               active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                             active(and(tt(), X)) -> mark(X),
                         active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
                  active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                           active(isNatKind(0())) -> mark(tt()),
                     active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                            U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                          U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                            U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                          U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                            U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                          U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                     U13(mark(X)) -> U13(X),
                                   U13(active(X)) -> U13(X),
                                     U22(mark(X)) -> U22(X),
                                   U22(active(X)) -> U22(X),
                                U21(X1, mark(X2)) -> U21(X1, X2),
                              U21(X1, active(X2)) -> U21(X1, X2),
                                U21(mark(X1), X2) -> U21(X1, X2),
                              U21(active(X1), X2) -> U21(X1, X2),
                                U32(X1, mark(X2)) -> U32(X1, X2),
                              U32(X1, active(X2)) -> U32(X1, X2),
                                U32(mark(X1), X2) -> U32(X1, X2),
                              U32(active(X1), X2) -> U32(X1, X2),
                            U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                          U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                            U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                          U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                            U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                          U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                     U33(mark(X)) -> U33(X),
                                   U33(active(X)) -> U33(X),
                                U41(X1, mark(X2)) -> U41(X1, X2),
                              U41(X1, active(X2)) -> U41(X1, X2),
                                U41(mark(X1), X2) -> U41(X1, X2),
                              U41(active(X1), X2) -> U41(X1, X2),
                                       s(mark(X)) -> s(X),
                                     s(active(X)) -> s(X),
                               plus(X1, mark(X2)) -> plus(X1, X2),
                             plus(X1, active(X2)) -> plus(X1, X2),
                               plus(mark(X1), X2) -> plus(X1, X2),
                             plus(active(X1), X2) -> plus(X1, X2),
                            U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                          U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                            U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                          U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                            U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                          U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                     U61(mark(X)) -> U61(X),
                                   U61(active(X)) -> U61(X),
                                  x(X1, mark(X2)) -> x(X1, X2),
                                x(X1, active(X2)) -> x(X1, X2),
                                  x(mark(X1), X2) -> x(X1, X2),
                                x(active(X1), X2) -> x(X1, X2),
                            U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                          U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                            U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                          U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                            U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                          U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                                and(X1, mark(X2)) -> and(X1, X2),
                              and(X1, active(X2)) -> and(X1, X2),
                                and(mark(X1), X2) -> and(X1, X2),
                              and(active(X1), X2) -> and(X1, X2),
                               isNatKind(mark(X)) -> isNatKind(X),
                             isNatKind(active(X)) -> isNatKind(X)}
                 SPSC:
                  Simple Projection:
                   pi(and#) = 1
                  Strict:
                   {}
                  Qed
    SCC:
     Strict:
      {  U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3),
       U71#(X1, X2, active(X3)) -> U71#(X1, X2, X3),
         U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3),
       U71#(X1, active(X2), X3) -> U71#(X1, X2, X3),
         U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3),
       U71#(active(X1), X2, X3) -> U71#(X1, X2, X3)}
     Weak:
     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                       mark(isNat(X)) -> active(isNat(X)),
                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                           mark(tt()) -> active(tt()),
                         mark(U13(X)) -> active(U13(mark(X))),
                         mark(U22(X)) -> active(U22(mark(X))),
                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                         mark(U33(X)) -> active(U33(mark(X))),
                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                           mark(s(X)) -> active(s(mark(X))),
                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                            mark(0()) -> active(0()),
                         mark(U61(X)) -> active(U61(mark(X))),
                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                   mark(isNatKind(X)) -> active(isNatKind(X)),
                    U12(X1, mark(X2)) -> U12(X1, X2),
                  U12(X1, active(X2)) -> U12(X1, X2),
                    U12(mark(X1), X2) -> U12(X1, X2),
                  U12(active(X1), X2) -> U12(X1, X2),
                       isNat(mark(X)) -> isNat(X),
                     isNat(active(X)) -> isNat(X),
                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                   active(isNat(0())) -> mark(tt()),
             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                    active(U13(tt())) -> mark(tt()),
                    active(U22(tt())) -> mark(tt()),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                    active(U33(tt())) -> mark(tt()),
                 active(U41(tt(), N)) -> mark(N),
                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                    active(U61(tt())) -> mark(0()),
                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                 active(and(tt(), X)) -> mark(X),
             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
               active(isNatKind(0())) -> mark(tt()),
         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                         U13(mark(X)) -> U13(X),
                       U13(active(X)) -> U13(X),
                         U22(mark(X)) -> U22(X),
                       U22(active(X)) -> U22(X),
                    U21(X1, mark(X2)) -> U21(X1, X2),
                  U21(X1, active(X2)) -> U21(X1, X2),
                    U21(mark(X1), X2) -> U21(X1, X2),
                  U21(active(X1), X2) -> U21(X1, X2),
                    U32(X1, mark(X2)) -> U32(X1, X2),
                  U32(X1, active(X2)) -> U32(X1, X2),
                    U32(mark(X1), X2) -> U32(X1, X2),
                  U32(active(X1), X2) -> U32(X1, X2),
                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                         U33(mark(X)) -> U33(X),
                       U33(active(X)) -> U33(X),
                    U41(X1, mark(X2)) -> U41(X1, X2),
                  U41(X1, active(X2)) -> U41(X1, X2),
                    U41(mark(X1), X2) -> U41(X1, X2),
                  U41(active(X1), X2) -> U41(X1, X2),
                           s(mark(X)) -> s(X),
                         s(active(X)) -> s(X),
                   plus(X1, mark(X2)) -> plus(X1, X2),
                 plus(X1, active(X2)) -> plus(X1, X2),
                   plus(mark(X1), X2) -> plus(X1, X2),
                 plus(active(X1), X2) -> plus(X1, X2),
                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                         U61(mark(X)) -> U61(X),
                       U61(active(X)) -> U61(X),
                      x(X1, mark(X2)) -> x(X1, X2),
                    x(X1, active(X2)) -> x(X1, X2),
                      x(mark(X1), X2) -> x(X1, X2),
                    x(active(X1), X2) -> x(X1, X2),
                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                    and(X1, mark(X2)) -> and(X1, X2),
                  and(X1, active(X2)) -> and(X1, X2),
                    and(mark(X1), X2) -> and(X1, X2),
                  and(active(X1), X2) -> and(X1, X2),
                   isNatKind(mark(X)) -> isNatKind(X),
                 isNatKind(active(X)) -> isNatKind(X)}
     SPSC:
      Simple Projection:
       pi(U71#) = 2
      Strict:
       {  U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3),
          U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3),
        U71#(X1, active(X2), X3) -> U71#(X1, X2, X3),
          U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3),
        U71#(active(X1), X2, X3) -> U71#(X1, X2, X3)}
      EDG:
       {(U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3), U71#(active(X1), X2, X3) -> U71#(X1, X2, X3))
        (U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
        (U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
        (U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
        (U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3), U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3))
        (U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(active(X1), X2, X3) -> U71#(X1, X2, X3))
        (U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
        (U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
        (U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
        (U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3))
        (U71#(active(X1), X2, X3) -> U71#(X1, X2, X3), U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3))
        (U71#(active(X1), X2, X3) -> U71#(X1, X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
        (U71#(active(X1), X2, X3) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
        (U71#(active(X1), X2, X3) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
        (U71#(active(X1), X2, X3) -> U71#(X1, X2, X3), U71#(active(X1), X2, X3) -> U71#(X1, X2, X3))
        (U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3))
        (U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
        (U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
        (U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
        (U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(active(X1), X2, X3) -> U71#(X1, X2, X3))
        (U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3), U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3))
        (U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
        (U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
        (U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
        (U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3), U71#(active(X1), X2, X3) -> U71#(X1, X2, X3))}
       SCCS:
        Scc:
         {  U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3),
            U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3),
          U71#(X1, active(X2), X3) -> U71#(X1, X2, X3),
            U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3),
          U71#(active(X1), X2, X3) -> U71#(X1, X2, X3)}
        SCC:
         Strict:
          {  U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3),
             U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3),
           U71#(X1, active(X2), X3) -> U71#(X1, X2, X3),
             U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3),
           U71#(active(X1), X2, X3) -> U71#(X1, X2, X3)}
         Weak:
         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                           mark(isNat(X)) -> active(isNat(X)),
                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                               mark(tt()) -> active(tt()),
                             mark(U13(X)) -> active(U13(mark(X))),
                             mark(U22(X)) -> active(U22(mark(X))),
                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                             mark(U33(X)) -> active(U33(mark(X))),
                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                               mark(s(X)) -> active(s(mark(X))),
                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                mark(0()) -> active(0()),
                             mark(U61(X)) -> active(U61(mark(X))),
                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                       mark(isNatKind(X)) -> active(isNatKind(X)),
                        U12(X1, mark(X2)) -> U12(X1, X2),
                      U12(X1, active(X2)) -> U12(X1, X2),
                        U12(mark(X1), X2) -> U12(X1, X2),
                      U12(active(X1), X2) -> U12(X1, X2),
                           isNat(mark(X)) -> isNat(X),
                         isNat(active(X)) -> isNat(X),
                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                       active(isNat(0())) -> mark(tt()),
                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                        active(U13(tt())) -> mark(tt()),
                        active(U22(tt())) -> mark(tt()),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                        active(U33(tt())) -> mark(tt()),
                     active(U41(tt(), N)) -> mark(N),
                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                        active(U61(tt())) -> mark(0()),
                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                     active(and(tt(), X)) -> mark(X),
                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                   active(isNatKind(0())) -> mark(tt()),
             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                             U13(mark(X)) -> U13(X),
                           U13(active(X)) -> U13(X),
                             U22(mark(X)) -> U22(X),
                           U22(active(X)) -> U22(X),
                        U21(X1, mark(X2)) -> U21(X1, X2),
                      U21(X1, active(X2)) -> U21(X1, X2),
                        U21(mark(X1), X2) -> U21(X1, X2),
                      U21(active(X1), X2) -> U21(X1, X2),
                        U32(X1, mark(X2)) -> U32(X1, X2),
                      U32(X1, active(X2)) -> U32(X1, X2),
                        U32(mark(X1), X2) -> U32(X1, X2),
                      U32(active(X1), X2) -> U32(X1, X2),
                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                             U33(mark(X)) -> U33(X),
                           U33(active(X)) -> U33(X),
                        U41(X1, mark(X2)) -> U41(X1, X2),
                      U41(X1, active(X2)) -> U41(X1, X2),
                        U41(mark(X1), X2) -> U41(X1, X2),
                      U41(active(X1), X2) -> U41(X1, X2),
                               s(mark(X)) -> s(X),
                             s(active(X)) -> s(X),
                       plus(X1, mark(X2)) -> plus(X1, X2),
                     plus(X1, active(X2)) -> plus(X1, X2),
                       plus(mark(X1), X2) -> plus(X1, X2),
                     plus(active(X1), X2) -> plus(X1, X2),
                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                             U61(mark(X)) -> U61(X),
                           U61(active(X)) -> U61(X),
                          x(X1, mark(X2)) -> x(X1, X2),
                        x(X1, active(X2)) -> x(X1, X2),
                          x(mark(X1), X2) -> x(X1, X2),
                        x(active(X1), X2) -> x(X1, X2),
                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                        and(X1, mark(X2)) -> and(X1, X2),
                      and(X1, active(X2)) -> and(X1, X2),
                        and(mark(X1), X2) -> and(X1, X2),
                      and(active(X1), X2) -> and(X1, X2),
                       isNatKind(mark(X)) -> isNatKind(X),
                     isNatKind(active(X)) -> isNatKind(X)}
         SPSC:
          Simple Projection:
           pi(U71#) = 0
          Strict:
           {  U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3),
              U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3),
            U71#(X1, active(X2), X3) -> U71#(X1, X2, X3),
              U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3)}
          EDG:
           {(U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
            (U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
            (U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
            (U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3), U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3))
            (U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
            (U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
            (U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
            (U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3))
            (U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3))
            (U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
            (U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
            (U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
            (U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3), U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3))
            (U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
            (U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
            (U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))}
           SCCS:
            Scc:
             {  U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3),
                U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3),
              U71#(X1, active(X2), X3) -> U71#(X1, X2, X3),
                U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3)}
            SCC:
             Strict:
              {  U71#(X1, X2, mark(X3)) -> U71#(X1, X2, X3),
                 U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3),
               U71#(X1, active(X2), X3) -> U71#(X1, X2, X3),
                 U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3)}
             Weak:
             {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                               mark(isNat(X)) -> active(isNat(X)),
                        mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                   mark(tt()) -> active(tt()),
                                 mark(U13(X)) -> active(U13(mark(X))),
                                 mark(U22(X)) -> active(U22(mark(X))),
                            mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                            mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                        mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                 mark(U33(X)) -> active(U33(mark(X))),
                            mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                   mark(s(X)) -> active(s(mark(X))),
                           mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                        mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                    mark(0()) -> active(0()),
                                 mark(U61(X)) -> active(U61(mark(X))),
                              mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                        mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                            mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                           mark(isNatKind(X)) -> active(isNatKind(X)),
                            U12(X1, mark(X2)) -> U12(X1, X2),
                          U12(X1, active(X2)) -> U12(X1, X2),
                            U12(mark(X1), X2) -> U12(X1, X2),
                          U12(active(X1), X2) -> U12(X1, X2),
                               isNat(mark(X)) -> isNat(X),
                             isNat(active(X)) -> isNat(X),
                        active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                         active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                  active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                           active(isNat(0())) -> mark(tt()),
                     active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                            active(U13(tt())) -> mark(tt()),
                            active(U22(tt())) -> mark(tt()),
                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                            active(U33(tt())) -> mark(tt()),
                         active(U41(tt(), N)) -> mark(N),
                        active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                         active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                            active(U61(tt())) -> mark(0()),
                           active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                            active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                         active(and(tt(), X)) -> mark(X),
                     active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
              active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                       active(isNatKind(0())) -> mark(tt()),
                 active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                        U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                      U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                        U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                      U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                        U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                      U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                 U13(mark(X)) -> U13(X),
                               U13(active(X)) -> U13(X),
                                 U22(mark(X)) -> U22(X),
                               U22(active(X)) -> U22(X),
                            U21(X1, mark(X2)) -> U21(X1, X2),
                          U21(X1, active(X2)) -> U21(X1, X2),
                            U21(mark(X1), X2) -> U21(X1, X2),
                          U21(active(X1), X2) -> U21(X1, X2),
                            U32(X1, mark(X2)) -> U32(X1, X2),
                          U32(X1, active(X2)) -> U32(X1, X2),
                            U32(mark(X1), X2) -> U32(X1, X2),
                          U32(active(X1), X2) -> U32(X1, X2),
                        U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                      U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                        U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                      U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                        U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                      U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                 U33(mark(X)) -> U33(X),
                               U33(active(X)) -> U33(X),
                            U41(X1, mark(X2)) -> U41(X1, X2),
                          U41(X1, active(X2)) -> U41(X1, X2),
                            U41(mark(X1), X2) -> U41(X1, X2),
                          U41(active(X1), X2) -> U41(X1, X2),
                                   s(mark(X)) -> s(X),
                                 s(active(X)) -> s(X),
                           plus(X1, mark(X2)) -> plus(X1, X2),
                         plus(X1, active(X2)) -> plus(X1, X2),
                           plus(mark(X1), X2) -> plus(X1, X2),
                         plus(active(X1), X2) -> plus(X1, X2),
                        U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                      U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                        U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                      U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                        U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                      U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                 U61(mark(X)) -> U61(X),
                               U61(active(X)) -> U61(X),
                              x(X1, mark(X2)) -> x(X1, X2),
                            x(X1, active(X2)) -> x(X1, X2),
                              x(mark(X1), X2) -> x(X1, X2),
                            x(active(X1), X2) -> x(X1, X2),
                        U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                      U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                        U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                      U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                        U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                      U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                            and(X1, mark(X2)) -> and(X1, X2),
                          and(X1, active(X2)) -> and(X1, X2),
                            and(mark(X1), X2) -> and(X1, X2),
                          and(active(X1), X2) -> and(X1, X2),
                           isNatKind(mark(X)) -> isNatKind(X),
                         isNatKind(active(X)) -> isNatKind(X)}
             SPSC:
              Simple Projection:
               pi(U71#) = 2
              Strict:
               {  U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3),
                U71#(X1, active(X2), X3) -> U71#(X1, X2, X3),
                  U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3)}
              EDG:
               {(U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
                (U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
                (U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
                (U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
                (U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
                (U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))
                (U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
                (U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
                (U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3), U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3))}
               SCCS:
                Scc:
                 {  U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3),
                  U71#(X1, active(X2), X3) -> U71#(X1, X2, X3),
                    U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3)}
                SCC:
                 Strict:
                  {  U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3),
                   U71#(X1, active(X2), X3) -> U71#(X1, X2, X3),
                     U71#(mark(X1), X2, X3) -> U71#(X1, X2, X3)}
                 Weak:
                 {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                                   mark(isNat(X)) -> active(isNat(X)),
                            mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                       mark(tt()) -> active(tt()),
                                     mark(U13(X)) -> active(U13(mark(X))),
                                     mark(U22(X)) -> active(U22(mark(X))),
                                mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                                mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                            mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                     mark(U33(X)) -> active(U33(mark(X))),
                                mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                       mark(s(X)) -> active(s(mark(X))),
                               mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                            mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                        mark(0()) -> active(0()),
                                     mark(U61(X)) -> active(U61(mark(X))),
                                  mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                            mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                                mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                               mark(isNatKind(X)) -> active(isNatKind(X)),
                                U12(X1, mark(X2)) -> U12(X1, X2),
                              U12(X1, active(X2)) -> U12(X1, X2),
                                U12(mark(X1), X2) -> U12(X1, X2),
                              U12(active(X1), X2) -> U12(X1, X2),
                                   isNat(mark(X)) -> isNat(X),
                                 isNat(active(X)) -> isNat(X),
                            active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                             active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                      active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                               active(isNat(0())) -> mark(tt()),
                         active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                active(U13(tt())) -> mark(tt()),
                                active(U22(tt())) -> mark(tt()),
                            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                active(U33(tt())) -> mark(tt()),
                             active(U41(tt(), N)) -> mark(N),
                            active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                             active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                active(U61(tt())) -> mark(0()),
                               active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                             active(and(tt(), X)) -> mark(X),
                         active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
                  active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                           active(isNatKind(0())) -> mark(tt()),
                     active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                            U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                          U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                            U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                          U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                            U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                          U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                     U13(mark(X)) -> U13(X),
                                   U13(active(X)) -> U13(X),
                                     U22(mark(X)) -> U22(X),
                                   U22(active(X)) -> U22(X),
                                U21(X1, mark(X2)) -> U21(X1, X2),
                              U21(X1, active(X2)) -> U21(X1, X2),
                                U21(mark(X1), X2) -> U21(X1, X2),
                              U21(active(X1), X2) -> U21(X1, X2),
                                U32(X1, mark(X2)) -> U32(X1, X2),
                              U32(X1, active(X2)) -> U32(X1, X2),
                                U32(mark(X1), X2) -> U32(X1, X2),
                              U32(active(X1), X2) -> U32(X1, X2),
                            U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                          U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                            U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                          U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                            U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                          U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                     U33(mark(X)) -> U33(X),
                                   U33(active(X)) -> U33(X),
                                U41(X1, mark(X2)) -> U41(X1, X2),
                              U41(X1, active(X2)) -> U41(X1, X2),
                                U41(mark(X1), X2) -> U41(X1, X2),
                              U41(active(X1), X2) -> U41(X1, X2),
                                       s(mark(X)) -> s(X),
                                     s(active(X)) -> s(X),
                               plus(X1, mark(X2)) -> plus(X1, X2),
                             plus(X1, active(X2)) -> plus(X1, X2),
                               plus(mark(X1), X2) -> plus(X1, X2),
                             plus(active(X1), X2) -> plus(X1, X2),
                            U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                          U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                            U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                          U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                            U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                          U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                     U61(mark(X)) -> U61(X),
                                   U61(active(X)) -> U61(X),
                                  x(X1, mark(X2)) -> x(X1, X2),
                                x(X1, active(X2)) -> x(X1, X2),
                                  x(mark(X1), X2) -> x(X1, X2),
                                x(active(X1), X2) -> x(X1, X2),
                            U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                          U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                            U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                          U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                            U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                          U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                                and(X1, mark(X2)) -> and(X1, X2),
                              and(X1, active(X2)) -> and(X1, X2),
                                and(mark(X1), X2) -> and(X1, X2),
                              and(active(X1), X2) -> and(X1, X2),
                               isNatKind(mark(X)) -> isNatKind(X),
                             isNatKind(active(X)) -> isNatKind(X)}
                 SPSC:
                  Simple Projection:
                   pi(U71#) = 0
                  Strict:
                   {  U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3),
                    U71#(X1, active(X2), X3) -> U71#(X1, X2, X3)}
                  EDG:
                   {(U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))
                    (U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
                    (U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3), U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3))
                    (U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))}
                   SCCS:
                    Scc:
                     {  U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3),
                      U71#(X1, active(X2), X3) -> U71#(X1, X2, X3)}
                    SCC:
                     Strict:
                      {  U71#(X1, mark(X2), X3) -> U71#(X1, X2, X3),
                       U71#(X1, active(X2), X3) -> U71#(X1, X2, X3)}
                     Weak:
                     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                                       mark(isNat(X)) -> active(isNat(X)),
                                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                           mark(tt()) -> active(tt()),
                                         mark(U13(X)) -> active(U13(mark(X))),
                                         mark(U22(X)) -> active(U22(mark(X))),
                                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                         mark(U33(X)) -> active(U33(mark(X))),
                                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                           mark(s(X)) -> active(s(mark(X))),
                                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                            mark(0()) -> active(0()),
                                         mark(U61(X)) -> active(U61(mark(X))),
                                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                                   mark(isNatKind(X)) -> active(isNatKind(X)),
                                    U12(X1, mark(X2)) -> U12(X1, X2),
                                  U12(X1, active(X2)) -> U12(X1, X2),
                                    U12(mark(X1), X2) -> U12(X1, X2),
                                  U12(active(X1), X2) -> U12(X1, X2),
                                       isNat(mark(X)) -> isNat(X),
                                     isNat(active(X)) -> isNat(X),
                                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                                   active(isNat(0())) -> mark(tt()),
                             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                    active(U13(tt())) -> mark(tt()),
                                    active(U22(tt())) -> mark(tt()),
                                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                    active(U33(tt())) -> mark(tt()),
                                 active(U41(tt(), N)) -> mark(N),
                                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                    active(U61(tt())) -> mark(0()),
                                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                 active(and(tt(), X)) -> mark(X),
                             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
                      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                               active(isNatKind(0())) -> mark(tt()),
                         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                         U13(mark(X)) -> U13(X),
                                       U13(active(X)) -> U13(X),
                                         U22(mark(X)) -> U22(X),
                                       U22(active(X)) -> U22(X),
                                    U21(X1, mark(X2)) -> U21(X1, X2),
                                  U21(X1, active(X2)) -> U21(X1, X2),
                                    U21(mark(X1), X2) -> U21(X1, X2),
                                  U21(active(X1), X2) -> U21(X1, X2),
                                    U32(X1, mark(X2)) -> U32(X1, X2),
                                  U32(X1, active(X2)) -> U32(X1, X2),
                                    U32(mark(X1), X2) -> U32(X1, X2),
                                  U32(active(X1), X2) -> U32(X1, X2),
                                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                         U33(mark(X)) -> U33(X),
                                       U33(active(X)) -> U33(X),
                                    U41(X1, mark(X2)) -> U41(X1, X2),
                                  U41(X1, active(X2)) -> U41(X1, X2),
                                    U41(mark(X1), X2) -> U41(X1, X2),
                                  U41(active(X1), X2) -> U41(X1, X2),
                                           s(mark(X)) -> s(X),
                                         s(active(X)) -> s(X),
                                   plus(X1, mark(X2)) -> plus(X1, X2),
                                 plus(X1, active(X2)) -> plus(X1, X2),
                                   plus(mark(X1), X2) -> plus(X1, X2),
                                 plus(active(X1), X2) -> plus(X1, X2),
                                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                         U61(mark(X)) -> U61(X),
                                       U61(active(X)) -> U61(X),
                                      x(X1, mark(X2)) -> x(X1, X2),
                                    x(X1, active(X2)) -> x(X1, X2),
                                      x(mark(X1), X2) -> x(X1, X2),
                                    x(active(X1), X2) -> x(X1, X2),
                                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                                    and(X1, mark(X2)) -> and(X1, X2),
                                  and(X1, active(X2)) -> and(X1, X2),
                                    and(mark(X1), X2) -> and(X1, X2),
                                  and(active(X1), X2) -> and(X1, X2),
                                   isNatKind(mark(X)) -> isNatKind(X),
                                 isNatKind(active(X)) -> isNatKind(X)}
                     SPSC:
                      Simple Projection:
                       pi(U71#) = 1
                      Strict:
                       {U71#(X1, active(X2), X3) -> U71#(X1, X2, X3)}
                      EDG:
                       {(U71#(X1, active(X2), X3) -> U71#(X1, X2, X3), U71#(X1, active(X2), X3) -> U71#(X1, X2, X3))}
                       SCCS:
                        Scc:
                         {U71#(X1, active(X2), X3) -> U71#(X1, X2, X3)}
                        SCC:
                         Strict:
                          {U71#(X1, active(X2), X3) -> U71#(X1, X2, X3)}
                         Weak:
                         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                                           mark(isNat(X)) -> active(isNat(X)),
                                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                               mark(tt()) -> active(tt()),
                                             mark(U13(X)) -> active(U13(mark(X))),
                                             mark(U22(X)) -> active(U22(mark(X))),
                                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                             mark(U33(X)) -> active(U33(mark(X))),
                                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                               mark(s(X)) -> active(s(mark(X))),
                                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                                mark(0()) -> active(0()),
                                             mark(U61(X)) -> active(U61(mark(X))),
                                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                                       mark(isNatKind(X)) -> active(isNatKind(X)),
                                        U12(X1, mark(X2)) -> U12(X1, X2),
                                      U12(X1, active(X2)) -> U12(X1, X2),
                                        U12(mark(X1), X2) -> U12(X1, X2),
                                      U12(active(X1), X2) -> U12(X1, X2),
                                           isNat(mark(X)) -> isNat(X),
                                         isNat(active(X)) -> isNat(X),
                                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                                       active(isNat(0())) -> mark(tt()),
                                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                        active(U13(tt())) -> mark(tt()),
                                        active(U22(tt())) -> mark(tt()),
                                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                        active(U33(tt())) -> mark(tt()),
                                     active(U41(tt(), N)) -> mark(N),
                                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                        active(U61(tt())) -> mark(0()),
                                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                     active(and(tt(), X)) -> mark(X),
                                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
                          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                                   active(isNatKind(0())) -> mark(tt()),
                             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                             U13(mark(X)) -> U13(X),
                                           U13(active(X)) -> U13(X),
                                             U22(mark(X)) -> U22(X),
                                           U22(active(X)) -> U22(X),
                                        U21(X1, mark(X2)) -> U21(X1, X2),
                                      U21(X1, active(X2)) -> U21(X1, X2),
                                        U21(mark(X1), X2) -> U21(X1, X2),
                                      U21(active(X1), X2) -> U21(X1, X2),
                                        U32(X1, mark(X2)) -> U32(X1, X2),
                                      U32(X1, active(X2)) -> U32(X1, X2),
                                        U32(mark(X1), X2) -> U32(X1, X2),
                                      U32(active(X1), X2) -> U32(X1, X2),
                                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                             U33(mark(X)) -> U33(X),
                                           U33(active(X)) -> U33(X),
                                        U41(X1, mark(X2)) -> U41(X1, X2),
                                      U41(X1, active(X2)) -> U41(X1, X2),
                                        U41(mark(X1), X2) -> U41(X1, X2),
                                      U41(active(X1), X2) -> U41(X1, X2),
                                               s(mark(X)) -> s(X),
                                             s(active(X)) -> s(X),
                                       plus(X1, mark(X2)) -> plus(X1, X2),
                                     plus(X1, active(X2)) -> plus(X1, X2),
                                       plus(mark(X1), X2) -> plus(X1, X2),
                                     plus(active(X1), X2) -> plus(X1, X2),
                                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                             U61(mark(X)) -> U61(X),
                                           U61(active(X)) -> U61(X),
                                          x(X1, mark(X2)) -> x(X1, X2),
                                        x(X1, active(X2)) -> x(X1, X2),
                                          x(mark(X1), X2) -> x(X1, X2),
                                        x(active(X1), X2) -> x(X1, X2),
                                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                                        and(X1, mark(X2)) -> and(X1, X2),
                                      and(X1, active(X2)) -> and(X1, X2),
                                        and(mark(X1), X2) -> and(X1, X2),
                                      and(active(X1), X2) -> and(X1, X2),
                                       isNatKind(mark(X)) -> isNatKind(X),
                                     isNatKind(active(X)) -> isNatKind(X)}
                         SPSC:
                          Simple Projection:
                           pi(U71#) = 1
                          Strict:
                           {}
                          Qed
    SCC:
     Strict:
      {  x#(X1, mark(X2)) -> x#(X1, X2),
       x#(X1, active(X2)) -> x#(X1, X2),
         x#(mark(X1), X2) -> x#(X1, X2),
       x#(active(X1), X2) -> x#(X1, X2)}
     Weak:
     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                       mark(isNat(X)) -> active(isNat(X)),
                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                           mark(tt()) -> active(tt()),
                         mark(U13(X)) -> active(U13(mark(X))),
                         mark(U22(X)) -> active(U22(mark(X))),
                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                         mark(U33(X)) -> active(U33(mark(X))),
                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                           mark(s(X)) -> active(s(mark(X))),
                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                            mark(0()) -> active(0()),
                         mark(U61(X)) -> active(U61(mark(X))),
                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                   mark(isNatKind(X)) -> active(isNatKind(X)),
                    U12(X1, mark(X2)) -> U12(X1, X2),
                  U12(X1, active(X2)) -> U12(X1, X2),
                    U12(mark(X1), X2) -> U12(X1, X2),
                  U12(active(X1), X2) -> U12(X1, X2),
                       isNat(mark(X)) -> isNat(X),
                     isNat(active(X)) -> isNat(X),
                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                   active(isNat(0())) -> mark(tt()),
             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                    active(U13(tt())) -> mark(tt()),
                    active(U22(tt())) -> mark(tt()),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                    active(U33(tt())) -> mark(tt()),
                 active(U41(tt(), N)) -> mark(N),
                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                    active(U61(tt())) -> mark(0()),
                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                 active(and(tt(), X)) -> mark(X),
             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
               active(isNatKind(0())) -> mark(tt()),
         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                         U13(mark(X)) -> U13(X),
                       U13(active(X)) -> U13(X),
                         U22(mark(X)) -> U22(X),
                       U22(active(X)) -> U22(X),
                    U21(X1, mark(X2)) -> U21(X1, X2),
                  U21(X1, active(X2)) -> U21(X1, X2),
                    U21(mark(X1), X2) -> U21(X1, X2),
                  U21(active(X1), X2) -> U21(X1, X2),
                    U32(X1, mark(X2)) -> U32(X1, X2),
                  U32(X1, active(X2)) -> U32(X1, X2),
                    U32(mark(X1), X2) -> U32(X1, X2),
                  U32(active(X1), X2) -> U32(X1, X2),
                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                         U33(mark(X)) -> U33(X),
                       U33(active(X)) -> U33(X),
                    U41(X1, mark(X2)) -> U41(X1, X2),
                  U41(X1, active(X2)) -> U41(X1, X2),
                    U41(mark(X1), X2) -> U41(X1, X2),
                  U41(active(X1), X2) -> U41(X1, X2),
                           s(mark(X)) -> s(X),
                         s(active(X)) -> s(X),
                   plus(X1, mark(X2)) -> plus(X1, X2),
                 plus(X1, active(X2)) -> plus(X1, X2),
                   plus(mark(X1), X2) -> plus(X1, X2),
                 plus(active(X1), X2) -> plus(X1, X2),
                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                         U61(mark(X)) -> U61(X),
                       U61(active(X)) -> U61(X),
                      x(X1, mark(X2)) -> x(X1, X2),
                    x(X1, active(X2)) -> x(X1, X2),
                      x(mark(X1), X2) -> x(X1, X2),
                    x(active(X1), X2) -> x(X1, X2),
                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                    and(X1, mark(X2)) -> and(X1, X2),
                  and(X1, active(X2)) -> and(X1, X2),
                    and(mark(X1), X2) -> and(X1, X2),
                  and(active(X1), X2) -> and(X1, X2),
                   isNatKind(mark(X)) -> isNatKind(X),
                 isNatKind(active(X)) -> isNatKind(X)}
     SPSC:
      Simple Projection:
       pi(x#) = 0
      Strict:
       {  x#(X1, mark(X2)) -> x#(X1, X2),
        x#(X1, active(X2)) -> x#(X1, X2),
          x#(mark(X1), X2) -> x#(X1, X2)}
      EDG:
       {(x#(X1, active(X2)) -> x#(X1, X2), x#(mark(X1), X2) -> x#(X1, X2))
        (x#(X1, active(X2)) -> x#(X1, X2), x#(X1, active(X2)) -> x#(X1, X2))
        (x#(X1, active(X2)) -> x#(X1, X2), x#(X1, mark(X2)) -> x#(X1, X2))
        (x#(mark(X1), X2) -> x#(X1, X2), x#(X1, mark(X2)) -> x#(X1, X2))
        (x#(mark(X1), X2) -> x#(X1, X2), x#(X1, active(X2)) -> x#(X1, X2))
        (x#(mark(X1), X2) -> x#(X1, X2), x#(mark(X1), X2) -> x#(X1, X2))
        (x#(X1, mark(X2)) -> x#(X1, X2), x#(X1, mark(X2)) -> x#(X1, X2))
        (x#(X1, mark(X2)) -> x#(X1, X2), x#(X1, active(X2)) -> x#(X1, X2))
        (x#(X1, mark(X2)) -> x#(X1, X2), x#(mark(X1), X2) -> x#(X1, X2))}
       SCCS:
        Scc:
         {  x#(X1, mark(X2)) -> x#(X1, X2),
          x#(X1, active(X2)) -> x#(X1, X2),
            x#(mark(X1), X2) -> x#(X1, X2)}
        SCC:
         Strict:
          {  x#(X1, mark(X2)) -> x#(X1, X2),
           x#(X1, active(X2)) -> x#(X1, X2),
             x#(mark(X1), X2) -> x#(X1, X2)}
         Weak:
         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                           mark(isNat(X)) -> active(isNat(X)),
                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                               mark(tt()) -> active(tt()),
                             mark(U13(X)) -> active(U13(mark(X))),
                             mark(U22(X)) -> active(U22(mark(X))),
                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                             mark(U33(X)) -> active(U33(mark(X))),
                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                               mark(s(X)) -> active(s(mark(X))),
                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                mark(0()) -> active(0()),
                             mark(U61(X)) -> active(U61(mark(X))),
                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                       mark(isNatKind(X)) -> active(isNatKind(X)),
                        U12(X1, mark(X2)) -> U12(X1, X2),
                      U12(X1, active(X2)) -> U12(X1, X2),
                        U12(mark(X1), X2) -> U12(X1, X2),
                      U12(active(X1), X2) -> U12(X1, X2),
                           isNat(mark(X)) -> isNat(X),
                         isNat(active(X)) -> isNat(X),
                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                       active(isNat(0())) -> mark(tt()),
                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                        active(U13(tt())) -> mark(tt()),
                        active(U22(tt())) -> mark(tt()),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                        active(U33(tt())) -> mark(tt()),
                     active(U41(tt(), N)) -> mark(N),
                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                        active(U61(tt())) -> mark(0()),
                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                     active(and(tt(), X)) -> mark(X),
                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                   active(isNatKind(0())) -> mark(tt()),
             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                             U13(mark(X)) -> U13(X),
                           U13(active(X)) -> U13(X),
                             U22(mark(X)) -> U22(X),
                           U22(active(X)) -> U22(X),
                        U21(X1, mark(X2)) -> U21(X1, X2),
                      U21(X1, active(X2)) -> U21(X1, X2),
                        U21(mark(X1), X2) -> U21(X1, X2),
                      U21(active(X1), X2) -> U21(X1, X2),
                        U32(X1, mark(X2)) -> U32(X1, X2),
                      U32(X1, active(X2)) -> U32(X1, X2),
                        U32(mark(X1), X2) -> U32(X1, X2),
                      U32(active(X1), X2) -> U32(X1, X2),
                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                             U33(mark(X)) -> U33(X),
                           U33(active(X)) -> U33(X),
                        U41(X1, mark(X2)) -> U41(X1, X2),
                      U41(X1, active(X2)) -> U41(X1, X2),
                        U41(mark(X1), X2) -> U41(X1, X2),
                      U41(active(X1), X2) -> U41(X1, X2),
                               s(mark(X)) -> s(X),
                             s(active(X)) -> s(X),
                       plus(X1, mark(X2)) -> plus(X1, X2),
                     plus(X1, active(X2)) -> plus(X1, X2),
                       plus(mark(X1), X2) -> plus(X1, X2),
                     plus(active(X1), X2) -> plus(X1, X2),
                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                             U61(mark(X)) -> U61(X),
                           U61(active(X)) -> U61(X),
                          x(X1, mark(X2)) -> x(X1, X2),
                        x(X1, active(X2)) -> x(X1, X2),
                          x(mark(X1), X2) -> x(X1, X2),
                        x(active(X1), X2) -> x(X1, X2),
                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                        and(X1, mark(X2)) -> and(X1, X2),
                      and(X1, active(X2)) -> and(X1, X2),
                        and(mark(X1), X2) -> and(X1, X2),
                      and(active(X1), X2) -> and(X1, X2),
                       isNatKind(mark(X)) -> isNatKind(X),
                     isNatKind(active(X)) -> isNatKind(X)}
         SPSC:
          Simple Projection:
           pi(x#) = 1
          Strict:
           {x#(X1, mark(X2)) -> x#(X1, X2),
            x#(mark(X1), X2) -> x#(X1, X2)}
          EDG:
           {(x#(mark(X1), X2) -> x#(X1, X2), x#(mark(X1), X2) -> x#(X1, X2))
            (x#(mark(X1), X2) -> x#(X1, X2), x#(X1, mark(X2)) -> x#(X1, X2))
            (x#(X1, mark(X2)) -> x#(X1, X2), x#(X1, mark(X2)) -> x#(X1, X2))
            (x#(X1, mark(X2)) -> x#(X1, X2), x#(mark(X1), X2) -> x#(X1, X2))}
           SCCS:
            Scc:
             {x#(X1, mark(X2)) -> x#(X1, X2),
              x#(mark(X1), X2) -> x#(X1, X2)}
            SCC:
             Strict:
              {x#(X1, mark(X2)) -> x#(X1, X2),
               x#(mark(X1), X2) -> x#(X1, X2)}
             Weak:
             {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                               mark(isNat(X)) -> active(isNat(X)),
                        mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                   mark(tt()) -> active(tt()),
                                 mark(U13(X)) -> active(U13(mark(X))),
                                 mark(U22(X)) -> active(U22(mark(X))),
                            mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                            mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                        mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                 mark(U33(X)) -> active(U33(mark(X))),
                            mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                   mark(s(X)) -> active(s(mark(X))),
                           mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                        mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                    mark(0()) -> active(0()),
                                 mark(U61(X)) -> active(U61(mark(X))),
                              mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                        mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                            mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                           mark(isNatKind(X)) -> active(isNatKind(X)),
                            U12(X1, mark(X2)) -> U12(X1, X2),
                          U12(X1, active(X2)) -> U12(X1, X2),
                            U12(mark(X1), X2) -> U12(X1, X2),
                          U12(active(X1), X2) -> U12(X1, X2),
                               isNat(mark(X)) -> isNat(X),
                             isNat(active(X)) -> isNat(X),
                        active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                         active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                  active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                           active(isNat(0())) -> mark(tt()),
                     active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                            active(U13(tt())) -> mark(tt()),
                            active(U22(tt())) -> mark(tt()),
                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                            active(U33(tt())) -> mark(tt()),
                         active(U41(tt(), N)) -> mark(N),
                        active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                         active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                            active(U61(tt())) -> mark(0()),
                           active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                            active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                         active(and(tt(), X)) -> mark(X),
                     active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
              active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                       active(isNatKind(0())) -> mark(tt()),
                 active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                        U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                      U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                        U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                      U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                        U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                      U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                 U13(mark(X)) -> U13(X),
                               U13(active(X)) -> U13(X),
                                 U22(mark(X)) -> U22(X),
                               U22(active(X)) -> U22(X),
                            U21(X1, mark(X2)) -> U21(X1, X2),
                          U21(X1, active(X2)) -> U21(X1, X2),
                            U21(mark(X1), X2) -> U21(X1, X2),
                          U21(active(X1), X2) -> U21(X1, X2),
                            U32(X1, mark(X2)) -> U32(X1, X2),
                          U32(X1, active(X2)) -> U32(X1, X2),
                            U32(mark(X1), X2) -> U32(X1, X2),
                          U32(active(X1), X2) -> U32(X1, X2),
                        U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                      U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                        U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                      U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                        U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                      U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                 U33(mark(X)) -> U33(X),
                               U33(active(X)) -> U33(X),
                            U41(X1, mark(X2)) -> U41(X1, X2),
                          U41(X1, active(X2)) -> U41(X1, X2),
                            U41(mark(X1), X2) -> U41(X1, X2),
                          U41(active(X1), X2) -> U41(X1, X2),
                                   s(mark(X)) -> s(X),
                                 s(active(X)) -> s(X),
                           plus(X1, mark(X2)) -> plus(X1, X2),
                         plus(X1, active(X2)) -> plus(X1, X2),
                           plus(mark(X1), X2) -> plus(X1, X2),
                         plus(active(X1), X2) -> plus(X1, X2),
                        U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                      U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                        U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                      U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                        U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                      U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                 U61(mark(X)) -> U61(X),
                               U61(active(X)) -> U61(X),
                              x(X1, mark(X2)) -> x(X1, X2),
                            x(X1, active(X2)) -> x(X1, X2),
                              x(mark(X1), X2) -> x(X1, X2),
                            x(active(X1), X2) -> x(X1, X2),
                        U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                      U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                        U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                      U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                        U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                      U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                            and(X1, mark(X2)) -> and(X1, X2),
                          and(X1, active(X2)) -> and(X1, X2),
                            and(mark(X1), X2) -> and(X1, X2),
                          and(active(X1), X2) -> and(X1, X2),
                           isNatKind(mark(X)) -> isNatKind(X),
                         isNatKind(active(X)) -> isNatKind(X)}
             SPSC:
              Simple Projection:
               pi(x#) = 0
              Strict:
               {x#(X1, mark(X2)) -> x#(X1, X2)}
              EDG:
               {(x#(X1, mark(X2)) -> x#(X1, X2), x#(X1, mark(X2)) -> x#(X1, X2))}
               SCCS:
                Scc:
                 {x#(X1, mark(X2)) -> x#(X1, X2)}
                SCC:
                 Strict:
                  {x#(X1, mark(X2)) -> x#(X1, X2)}
                 Weak:
                 {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                                   mark(isNat(X)) -> active(isNat(X)),
                            mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                       mark(tt()) -> active(tt()),
                                     mark(U13(X)) -> active(U13(mark(X))),
                                     mark(U22(X)) -> active(U22(mark(X))),
                                mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                                mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                            mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                     mark(U33(X)) -> active(U33(mark(X))),
                                mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                       mark(s(X)) -> active(s(mark(X))),
                               mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                            mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                        mark(0()) -> active(0()),
                                     mark(U61(X)) -> active(U61(mark(X))),
                                  mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                            mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                                mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                               mark(isNatKind(X)) -> active(isNatKind(X)),
                                U12(X1, mark(X2)) -> U12(X1, X2),
                              U12(X1, active(X2)) -> U12(X1, X2),
                                U12(mark(X1), X2) -> U12(X1, X2),
                              U12(active(X1), X2) -> U12(X1, X2),
                                   isNat(mark(X)) -> isNat(X),
                                 isNat(active(X)) -> isNat(X),
                            active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                             active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                      active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                               active(isNat(0())) -> mark(tt()),
                         active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                active(U13(tt())) -> mark(tt()),
                                active(U22(tt())) -> mark(tt()),
                            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                active(U33(tt())) -> mark(tt()),
                             active(U41(tt(), N)) -> mark(N),
                            active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                             active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                active(U61(tt())) -> mark(0()),
                               active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                             active(and(tt(), X)) -> mark(X),
                         active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
                  active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                           active(isNatKind(0())) -> mark(tt()),
                     active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                            U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                          U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                            U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                          U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                            U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                          U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                     U13(mark(X)) -> U13(X),
                                   U13(active(X)) -> U13(X),
                                     U22(mark(X)) -> U22(X),
                                   U22(active(X)) -> U22(X),
                                U21(X1, mark(X2)) -> U21(X1, X2),
                              U21(X1, active(X2)) -> U21(X1, X2),
                                U21(mark(X1), X2) -> U21(X1, X2),
                              U21(active(X1), X2) -> U21(X1, X2),
                                U32(X1, mark(X2)) -> U32(X1, X2),
                              U32(X1, active(X2)) -> U32(X1, X2),
                                U32(mark(X1), X2) -> U32(X1, X2),
                              U32(active(X1), X2) -> U32(X1, X2),
                            U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                          U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                            U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                          U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                            U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                          U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                     U33(mark(X)) -> U33(X),
                                   U33(active(X)) -> U33(X),
                                U41(X1, mark(X2)) -> U41(X1, X2),
                              U41(X1, active(X2)) -> U41(X1, X2),
                                U41(mark(X1), X2) -> U41(X1, X2),
                              U41(active(X1), X2) -> U41(X1, X2),
                                       s(mark(X)) -> s(X),
                                     s(active(X)) -> s(X),
                               plus(X1, mark(X2)) -> plus(X1, X2),
                             plus(X1, active(X2)) -> plus(X1, X2),
                               plus(mark(X1), X2) -> plus(X1, X2),
                             plus(active(X1), X2) -> plus(X1, X2),
                            U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                          U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                            U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                          U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                            U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                          U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                     U61(mark(X)) -> U61(X),
                                   U61(active(X)) -> U61(X),
                                  x(X1, mark(X2)) -> x(X1, X2),
                                x(X1, active(X2)) -> x(X1, X2),
                                  x(mark(X1), X2) -> x(X1, X2),
                                x(active(X1), X2) -> x(X1, X2),
                            U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                          U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                            U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                          U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                            U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                          U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                                and(X1, mark(X2)) -> and(X1, X2),
                              and(X1, active(X2)) -> and(X1, X2),
                                and(mark(X1), X2) -> and(X1, X2),
                              and(active(X1), X2) -> and(X1, X2),
                               isNatKind(mark(X)) -> isNatKind(X),
                             isNatKind(active(X)) -> isNatKind(X)}
                 SPSC:
                  Simple Projection:
                   pi(x#) = 1
                  Strict:
                   {}
                  Qed
    SCC:
     Strict:
      {  U61#(mark(X)) -> U61#(X),
       U61#(active(X)) -> U61#(X)}
     Weak:
     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                       mark(isNat(X)) -> active(isNat(X)),
                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                           mark(tt()) -> active(tt()),
                         mark(U13(X)) -> active(U13(mark(X))),
                         mark(U22(X)) -> active(U22(mark(X))),
                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                         mark(U33(X)) -> active(U33(mark(X))),
                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                           mark(s(X)) -> active(s(mark(X))),
                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                            mark(0()) -> active(0()),
                         mark(U61(X)) -> active(U61(mark(X))),
                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                   mark(isNatKind(X)) -> active(isNatKind(X)),
                    U12(X1, mark(X2)) -> U12(X1, X2),
                  U12(X1, active(X2)) -> U12(X1, X2),
                    U12(mark(X1), X2) -> U12(X1, X2),
                  U12(active(X1), X2) -> U12(X1, X2),
                       isNat(mark(X)) -> isNat(X),
                     isNat(active(X)) -> isNat(X),
                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                   active(isNat(0())) -> mark(tt()),
             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                    active(U13(tt())) -> mark(tt()),
                    active(U22(tt())) -> mark(tt()),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                    active(U33(tt())) -> mark(tt()),
                 active(U41(tt(), N)) -> mark(N),
                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                    active(U61(tt())) -> mark(0()),
                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                 active(and(tt(), X)) -> mark(X),
             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
               active(isNatKind(0())) -> mark(tt()),
         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                         U13(mark(X)) -> U13(X),
                       U13(active(X)) -> U13(X),
                         U22(mark(X)) -> U22(X),
                       U22(active(X)) -> U22(X),
                    U21(X1, mark(X2)) -> U21(X1, X2),
                  U21(X1, active(X2)) -> U21(X1, X2),
                    U21(mark(X1), X2) -> U21(X1, X2),
                  U21(active(X1), X2) -> U21(X1, X2),
                    U32(X1, mark(X2)) -> U32(X1, X2),
                  U32(X1, active(X2)) -> U32(X1, X2),
                    U32(mark(X1), X2) -> U32(X1, X2),
                  U32(active(X1), X2) -> U32(X1, X2),
                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                         U33(mark(X)) -> U33(X),
                       U33(active(X)) -> U33(X),
                    U41(X1, mark(X2)) -> U41(X1, X2),
                  U41(X1, active(X2)) -> U41(X1, X2),
                    U41(mark(X1), X2) -> U41(X1, X2),
                  U41(active(X1), X2) -> U41(X1, X2),
                           s(mark(X)) -> s(X),
                         s(active(X)) -> s(X),
                   plus(X1, mark(X2)) -> plus(X1, X2),
                 plus(X1, active(X2)) -> plus(X1, X2),
                   plus(mark(X1), X2) -> plus(X1, X2),
                 plus(active(X1), X2) -> plus(X1, X2),
                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                         U61(mark(X)) -> U61(X),
                       U61(active(X)) -> U61(X),
                      x(X1, mark(X2)) -> x(X1, X2),
                    x(X1, active(X2)) -> x(X1, X2),
                      x(mark(X1), X2) -> x(X1, X2),
                    x(active(X1), X2) -> x(X1, X2),
                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                    and(X1, mark(X2)) -> and(X1, X2),
                  and(X1, active(X2)) -> and(X1, X2),
                    and(mark(X1), X2) -> and(X1, X2),
                  and(active(X1), X2) -> and(X1, X2),
                   isNatKind(mark(X)) -> isNatKind(X),
                 isNatKind(active(X)) -> isNatKind(X)}
     SPSC:
      Simple Projection:
       pi(U61#) = 0
      Strict:
       {U61#(active(X)) -> U61#(X)}
      EDG:
       {(U61#(active(X)) -> U61#(X), U61#(active(X)) -> U61#(X))}
       SCCS:
        Scc:
         {U61#(active(X)) -> U61#(X)}
        SCC:
         Strict:
          {U61#(active(X)) -> U61#(X)}
         Weak:
         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                           mark(isNat(X)) -> active(isNat(X)),
                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                               mark(tt()) -> active(tt()),
                             mark(U13(X)) -> active(U13(mark(X))),
                             mark(U22(X)) -> active(U22(mark(X))),
                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                             mark(U33(X)) -> active(U33(mark(X))),
                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                               mark(s(X)) -> active(s(mark(X))),
                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                mark(0()) -> active(0()),
                             mark(U61(X)) -> active(U61(mark(X))),
                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                       mark(isNatKind(X)) -> active(isNatKind(X)),
                        U12(X1, mark(X2)) -> U12(X1, X2),
                      U12(X1, active(X2)) -> U12(X1, X2),
                        U12(mark(X1), X2) -> U12(X1, X2),
                      U12(active(X1), X2) -> U12(X1, X2),
                           isNat(mark(X)) -> isNat(X),
                         isNat(active(X)) -> isNat(X),
                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                       active(isNat(0())) -> mark(tt()),
                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                        active(U13(tt())) -> mark(tt()),
                        active(U22(tt())) -> mark(tt()),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                        active(U33(tt())) -> mark(tt()),
                     active(U41(tt(), N)) -> mark(N),
                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                        active(U61(tt())) -> mark(0()),
                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                     active(and(tt(), X)) -> mark(X),
                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                   active(isNatKind(0())) -> mark(tt()),
             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                             U13(mark(X)) -> U13(X),
                           U13(active(X)) -> U13(X),
                             U22(mark(X)) -> U22(X),
                           U22(active(X)) -> U22(X),
                        U21(X1, mark(X2)) -> U21(X1, X2),
                      U21(X1, active(X2)) -> U21(X1, X2),
                        U21(mark(X1), X2) -> U21(X1, X2),
                      U21(active(X1), X2) -> U21(X1, X2),
                        U32(X1, mark(X2)) -> U32(X1, X2),
                      U32(X1, active(X2)) -> U32(X1, X2),
                        U32(mark(X1), X2) -> U32(X1, X2),
                      U32(active(X1), X2) -> U32(X1, X2),
                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                             U33(mark(X)) -> U33(X),
                           U33(active(X)) -> U33(X),
                        U41(X1, mark(X2)) -> U41(X1, X2),
                      U41(X1, active(X2)) -> U41(X1, X2),
                        U41(mark(X1), X2) -> U41(X1, X2),
                      U41(active(X1), X2) -> U41(X1, X2),
                               s(mark(X)) -> s(X),
                             s(active(X)) -> s(X),
                       plus(X1, mark(X2)) -> plus(X1, X2),
                     plus(X1, active(X2)) -> plus(X1, X2),
                       plus(mark(X1), X2) -> plus(X1, X2),
                     plus(active(X1), X2) -> plus(X1, X2),
                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                             U61(mark(X)) -> U61(X),
                           U61(active(X)) -> U61(X),
                          x(X1, mark(X2)) -> x(X1, X2),
                        x(X1, active(X2)) -> x(X1, X2),
                          x(mark(X1), X2) -> x(X1, X2),
                        x(active(X1), X2) -> x(X1, X2),
                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                        and(X1, mark(X2)) -> and(X1, X2),
                      and(X1, active(X2)) -> and(X1, X2),
                        and(mark(X1), X2) -> and(X1, X2),
                      and(active(X1), X2) -> and(X1, X2),
                       isNatKind(mark(X)) -> isNatKind(X),
                     isNatKind(active(X)) -> isNatKind(X)}
         SPSC:
          Simple Projection:
           pi(U61#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {  U51#(X1, X2, mark(X3)) -> U51#(X1, X2, X3),
       U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3),
         U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3),
       U51#(X1, active(X2), X3) -> U51#(X1, X2, X3),
         U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3),
       U51#(active(X1), X2, X3) -> U51#(X1, X2, X3)}
     Weak:
     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                       mark(isNat(X)) -> active(isNat(X)),
                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                           mark(tt()) -> active(tt()),
                         mark(U13(X)) -> active(U13(mark(X))),
                         mark(U22(X)) -> active(U22(mark(X))),
                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                         mark(U33(X)) -> active(U33(mark(X))),
                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                           mark(s(X)) -> active(s(mark(X))),
                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                            mark(0()) -> active(0()),
                         mark(U61(X)) -> active(U61(mark(X))),
                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                   mark(isNatKind(X)) -> active(isNatKind(X)),
                    U12(X1, mark(X2)) -> U12(X1, X2),
                  U12(X1, active(X2)) -> U12(X1, X2),
                    U12(mark(X1), X2) -> U12(X1, X2),
                  U12(active(X1), X2) -> U12(X1, X2),
                       isNat(mark(X)) -> isNat(X),
                     isNat(active(X)) -> isNat(X),
                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                   active(isNat(0())) -> mark(tt()),
             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                    active(U13(tt())) -> mark(tt()),
                    active(U22(tt())) -> mark(tt()),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                    active(U33(tt())) -> mark(tt()),
                 active(U41(tt(), N)) -> mark(N),
                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                    active(U61(tt())) -> mark(0()),
                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                 active(and(tt(), X)) -> mark(X),
             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
               active(isNatKind(0())) -> mark(tt()),
         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                         U13(mark(X)) -> U13(X),
                       U13(active(X)) -> U13(X),
                         U22(mark(X)) -> U22(X),
                       U22(active(X)) -> U22(X),
                    U21(X1, mark(X2)) -> U21(X1, X2),
                  U21(X1, active(X2)) -> U21(X1, X2),
                    U21(mark(X1), X2) -> U21(X1, X2),
                  U21(active(X1), X2) -> U21(X1, X2),
                    U32(X1, mark(X2)) -> U32(X1, X2),
                  U32(X1, active(X2)) -> U32(X1, X2),
                    U32(mark(X1), X2) -> U32(X1, X2),
                  U32(active(X1), X2) -> U32(X1, X2),
                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                         U33(mark(X)) -> U33(X),
                       U33(active(X)) -> U33(X),
                    U41(X1, mark(X2)) -> U41(X1, X2),
                  U41(X1, active(X2)) -> U41(X1, X2),
                    U41(mark(X1), X2) -> U41(X1, X2),
                  U41(active(X1), X2) -> U41(X1, X2),
                           s(mark(X)) -> s(X),
                         s(active(X)) -> s(X),
                   plus(X1, mark(X2)) -> plus(X1, X2),
                 plus(X1, active(X2)) -> plus(X1, X2),
                   plus(mark(X1), X2) -> plus(X1, X2),
                 plus(active(X1), X2) -> plus(X1, X2),
                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                         U61(mark(X)) -> U61(X),
                       U61(active(X)) -> U61(X),
                      x(X1, mark(X2)) -> x(X1, X2),
                    x(X1, active(X2)) -> x(X1, X2),
                      x(mark(X1), X2) -> x(X1, X2),
                    x(active(X1), X2) -> x(X1, X2),
                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                    and(X1, mark(X2)) -> and(X1, X2),
                  and(X1, active(X2)) -> and(X1, X2),
                    and(mark(X1), X2) -> and(X1, X2),
                  and(active(X1), X2) -> and(X1, X2),
                   isNatKind(mark(X)) -> isNatKind(X),
                 isNatKind(active(X)) -> isNatKind(X)}
     SPSC:
      Simple Projection:
       pi(U51#) = 2
      Strict:
       {U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3),
          U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3),
        U51#(X1, active(X2), X3) -> U51#(X1, X2, X3),
          U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3),
        U51#(active(X1), X2, X3) -> U51#(X1, X2, X3)}
      EDG:
       {(U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3), U51#(active(X1), X2, X3) -> U51#(X1, X2, X3))
        (U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
        (U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
        (U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
        (U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3), U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3))
        (U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(active(X1), X2, X3) -> U51#(X1, X2, X3))
        (U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
        (U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
        (U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
        (U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3))
        (U51#(active(X1), X2, X3) -> U51#(X1, X2, X3), U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3))
        (U51#(active(X1), X2, X3) -> U51#(X1, X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
        (U51#(active(X1), X2, X3) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
        (U51#(active(X1), X2, X3) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
        (U51#(active(X1), X2, X3) -> U51#(X1, X2, X3), U51#(active(X1), X2, X3) -> U51#(X1, X2, X3))
        (U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3))
        (U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
        (U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
        (U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
        (U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(active(X1), X2, X3) -> U51#(X1, X2, X3))
        (U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3), U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3))
        (U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
        (U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
        (U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
        (U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3), U51#(active(X1), X2, X3) -> U51#(X1, X2, X3))}
       SCCS:
        Scc:
         {U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3),
            U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3),
          U51#(X1, active(X2), X3) -> U51#(X1, X2, X3),
            U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3),
          U51#(active(X1), X2, X3) -> U51#(X1, X2, X3)}
        SCC:
         Strict:
          {U51#(X1, X2, active(X3)) -> U51#(X1, X2, X3),
             U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3),
           U51#(X1, active(X2), X3) -> U51#(X1, X2, X3),
             U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3),
           U51#(active(X1), X2, X3) -> U51#(X1, X2, X3)}
         Weak:
         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                           mark(isNat(X)) -> active(isNat(X)),
                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                               mark(tt()) -> active(tt()),
                             mark(U13(X)) -> active(U13(mark(X))),
                             mark(U22(X)) -> active(U22(mark(X))),
                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                             mark(U33(X)) -> active(U33(mark(X))),
                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                               mark(s(X)) -> active(s(mark(X))),
                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                mark(0()) -> active(0()),
                             mark(U61(X)) -> active(U61(mark(X))),
                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                       mark(isNatKind(X)) -> active(isNatKind(X)),
                        U12(X1, mark(X2)) -> U12(X1, X2),
                      U12(X1, active(X2)) -> U12(X1, X2),
                        U12(mark(X1), X2) -> U12(X1, X2),
                      U12(active(X1), X2) -> U12(X1, X2),
                           isNat(mark(X)) -> isNat(X),
                         isNat(active(X)) -> isNat(X),
                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                       active(isNat(0())) -> mark(tt()),
                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                        active(U13(tt())) -> mark(tt()),
                        active(U22(tt())) -> mark(tt()),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                        active(U33(tt())) -> mark(tt()),
                     active(U41(tt(), N)) -> mark(N),
                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                        active(U61(tt())) -> mark(0()),
                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                     active(and(tt(), X)) -> mark(X),
                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                   active(isNatKind(0())) -> mark(tt()),
             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                             U13(mark(X)) -> U13(X),
                           U13(active(X)) -> U13(X),
                             U22(mark(X)) -> U22(X),
                           U22(active(X)) -> U22(X),
                        U21(X1, mark(X2)) -> U21(X1, X2),
                      U21(X1, active(X2)) -> U21(X1, X2),
                        U21(mark(X1), X2) -> U21(X1, X2),
                      U21(active(X1), X2) -> U21(X1, X2),
                        U32(X1, mark(X2)) -> U32(X1, X2),
                      U32(X1, active(X2)) -> U32(X1, X2),
                        U32(mark(X1), X2) -> U32(X1, X2),
                      U32(active(X1), X2) -> U32(X1, X2),
                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                             U33(mark(X)) -> U33(X),
                           U33(active(X)) -> U33(X),
                        U41(X1, mark(X2)) -> U41(X1, X2),
                      U41(X1, active(X2)) -> U41(X1, X2),
                        U41(mark(X1), X2) -> U41(X1, X2),
                      U41(active(X1), X2) -> U41(X1, X2),
                               s(mark(X)) -> s(X),
                             s(active(X)) -> s(X),
                       plus(X1, mark(X2)) -> plus(X1, X2),
                     plus(X1, active(X2)) -> plus(X1, X2),
                       plus(mark(X1), X2) -> plus(X1, X2),
                     plus(active(X1), X2) -> plus(X1, X2),
                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                             U61(mark(X)) -> U61(X),
                           U61(active(X)) -> U61(X),
                          x(X1, mark(X2)) -> x(X1, X2),
                        x(X1, active(X2)) -> x(X1, X2),
                          x(mark(X1), X2) -> x(X1, X2),
                        x(active(X1), X2) -> x(X1, X2),
                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                        and(X1, mark(X2)) -> and(X1, X2),
                      and(X1, active(X2)) -> and(X1, X2),
                        and(mark(X1), X2) -> and(X1, X2),
                      and(active(X1), X2) -> and(X1, X2),
                       isNatKind(mark(X)) -> isNatKind(X),
                     isNatKind(active(X)) -> isNatKind(X)}
         SPSC:
          Simple Projection:
           pi(U51#) = 2
          Strict:
           {  U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3),
            U51#(X1, active(X2), X3) -> U51#(X1, X2, X3),
              U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3),
            U51#(active(X1), X2, X3) -> U51#(X1, X2, X3)}
          EDG:
           {(U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(active(X1), X2, X3) -> U51#(X1, X2, X3))
            (U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
            (U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
            (U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
            (U51#(active(X1), X2, X3) -> U51#(X1, X2, X3), U51#(active(X1), X2, X3) -> U51#(X1, X2, X3))
            (U51#(active(X1), X2, X3) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
            (U51#(active(X1), X2, X3) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
            (U51#(active(X1), X2, X3) -> U51#(X1, X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
            (U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
            (U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
            (U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
            (U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(active(X1), X2, X3) -> U51#(X1, X2, X3))
            (U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
            (U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
            (U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
            (U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3), U51#(active(X1), X2, X3) -> U51#(X1, X2, X3))}
           SCCS:
            Scc:
             {  U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3),
              U51#(X1, active(X2), X3) -> U51#(X1, X2, X3),
                U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3),
              U51#(active(X1), X2, X3) -> U51#(X1, X2, X3)}
            SCC:
             Strict:
              {  U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3),
               U51#(X1, active(X2), X3) -> U51#(X1, X2, X3),
                 U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3),
               U51#(active(X1), X2, X3) -> U51#(X1, X2, X3)}
             Weak:
             {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                               mark(isNat(X)) -> active(isNat(X)),
                        mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                   mark(tt()) -> active(tt()),
                                 mark(U13(X)) -> active(U13(mark(X))),
                                 mark(U22(X)) -> active(U22(mark(X))),
                            mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                            mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                        mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                 mark(U33(X)) -> active(U33(mark(X))),
                            mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                   mark(s(X)) -> active(s(mark(X))),
                           mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                        mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                    mark(0()) -> active(0()),
                                 mark(U61(X)) -> active(U61(mark(X))),
                              mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                        mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                            mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                           mark(isNatKind(X)) -> active(isNatKind(X)),
                            U12(X1, mark(X2)) -> U12(X1, X2),
                          U12(X1, active(X2)) -> U12(X1, X2),
                            U12(mark(X1), X2) -> U12(X1, X2),
                          U12(active(X1), X2) -> U12(X1, X2),
                               isNat(mark(X)) -> isNat(X),
                             isNat(active(X)) -> isNat(X),
                        active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                         active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                  active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                           active(isNat(0())) -> mark(tt()),
                     active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                            active(U13(tt())) -> mark(tt()),
                            active(U22(tt())) -> mark(tt()),
                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                            active(U33(tt())) -> mark(tt()),
                         active(U41(tt(), N)) -> mark(N),
                        active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                         active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                            active(U61(tt())) -> mark(0()),
                           active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                            active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                         active(and(tt(), X)) -> mark(X),
                     active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
              active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                       active(isNatKind(0())) -> mark(tt()),
                 active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                        U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                      U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                        U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                      U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                        U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                      U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                 U13(mark(X)) -> U13(X),
                               U13(active(X)) -> U13(X),
                                 U22(mark(X)) -> U22(X),
                               U22(active(X)) -> U22(X),
                            U21(X1, mark(X2)) -> U21(X1, X2),
                          U21(X1, active(X2)) -> U21(X1, X2),
                            U21(mark(X1), X2) -> U21(X1, X2),
                          U21(active(X1), X2) -> U21(X1, X2),
                            U32(X1, mark(X2)) -> U32(X1, X2),
                          U32(X1, active(X2)) -> U32(X1, X2),
                            U32(mark(X1), X2) -> U32(X1, X2),
                          U32(active(X1), X2) -> U32(X1, X2),
                        U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                      U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                        U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                      U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                        U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                      U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                 U33(mark(X)) -> U33(X),
                               U33(active(X)) -> U33(X),
                            U41(X1, mark(X2)) -> U41(X1, X2),
                          U41(X1, active(X2)) -> U41(X1, X2),
                            U41(mark(X1), X2) -> U41(X1, X2),
                          U41(active(X1), X2) -> U41(X1, X2),
                                   s(mark(X)) -> s(X),
                                 s(active(X)) -> s(X),
                           plus(X1, mark(X2)) -> plus(X1, X2),
                         plus(X1, active(X2)) -> plus(X1, X2),
                           plus(mark(X1), X2) -> plus(X1, X2),
                         plus(active(X1), X2) -> plus(X1, X2),
                        U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                      U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                        U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                      U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                        U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                      U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                 U61(mark(X)) -> U61(X),
                               U61(active(X)) -> U61(X),
                              x(X1, mark(X2)) -> x(X1, X2),
                            x(X1, active(X2)) -> x(X1, X2),
                              x(mark(X1), X2) -> x(X1, X2),
                            x(active(X1), X2) -> x(X1, X2),
                        U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                      U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                        U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                      U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                        U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                      U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                            and(X1, mark(X2)) -> and(X1, X2),
                          and(X1, active(X2)) -> and(X1, X2),
                            and(mark(X1), X2) -> and(X1, X2),
                          and(active(X1), X2) -> and(X1, X2),
                           isNatKind(mark(X)) -> isNatKind(X),
                         isNatKind(active(X)) -> isNatKind(X)}
             SPSC:
              Simple Projection:
               pi(U51#) = 0
              Strict:
               {  U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3),
                U51#(X1, active(X2), X3) -> U51#(X1, X2, X3),
                  U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3)}
              EDG:
               {(U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
                (U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
                (U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
                (U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
                (U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
                (U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))
                (U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
                (U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
                (U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3), U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3))}
               SCCS:
                Scc:
                 {  U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3),
                  U51#(X1, active(X2), X3) -> U51#(X1, X2, X3),
                    U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3)}
                SCC:
                 Strict:
                  {  U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3),
                   U51#(X1, active(X2), X3) -> U51#(X1, X2, X3),
                     U51#(mark(X1), X2, X3) -> U51#(X1, X2, X3)}
                 Weak:
                 {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                                   mark(isNat(X)) -> active(isNat(X)),
                            mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                       mark(tt()) -> active(tt()),
                                     mark(U13(X)) -> active(U13(mark(X))),
                                     mark(U22(X)) -> active(U22(mark(X))),
                                mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                                mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                            mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                     mark(U33(X)) -> active(U33(mark(X))),
                                mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                       mark(s(X)) -> active(s(mark(X))),
                               mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                            mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                        mark(0()) -> active(0()),
                                     mark(U61(X)) -> active(U61(mark(X))),
                                  mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                            mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                                mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                               mark(isNatKind(X)) -> active(isNatKind(X)),
                                U12(X1, mark(X2)) -> U12(X1, X2),
                              U12(X1, active(X2)) -> U12(X1, X2),
                                U12(mark(X1), X2) -> U12(X1, X2),
                              U12(active(X1), X2) -> U12(X1, X2),
                                   isNat(mark(X)) -> isNat(X),
                                 isNat(active(X)) -> isNat(X),
                            active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                             active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                      active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                               active(isNat(0())) -> mark(tt()),
                         active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                active(U13(tt())) -> mark(tt()),
                                active(U22(tt())) -> mark(tt()),
                            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                active(U33(tt())) -> mark(tt()),
                             active(U41(tt(), N)) -> mark(N),
                            active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                             active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                active(U61(tt())) -> mark(0()),
                               active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                             active(and(tt(), X)) -> mark(X),
                         active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
                  active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                           active(isNatKind(0())) -> mark(tt()),
                     active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                            U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                          U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                            U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                          U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                            U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                          U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                     U13(mark(X)) -> U13(X),
                                   U13(active(X)) -> U13(X),
                                     U22(mark(X)) -> U22(X),
                                   U22(active(X)) -> U22(X),
                                U21(X1, mark(X2)) -> U21(X1, X2),
                              U21(X1, active(X2)) -> U21(X1, X2),
                                U21(mark(X1), X2) -> U21(X1, X2),
                              U21(active(X1), X2) -> U21(X1, X2),
                                U32(X1, mark(X2)) -> U32(X1, X2),
                              U32(X1, active(X2)) -> U32(X1, X2),
                                U32(mark(X1), X2) -> U32(X1, X2),
                              U32(active(X1), X2) -> U32(X1, X2),
                            U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                          U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                            U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                          U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                            U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                          U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                     U33(mark(X)) -> U33(X),
                                   U33(active(X)) -> U33(X),
                                U41(X1, mark(X2)) -> U41(X1, X2),
                              U41(X1, active(X2)) -> U41(X1, X2),
                                U41(mark(X1), X2) -> U41(X1, X2),
                              U41(active(X1), X2) -> U41(X1, X2),
                                       s(mark(X)) -> s(X),
                                     s(active(X)) -> s(X),
                               plus(X1, mark(X2)) -> plus(X1, X2),
                             plus(X1, active(X2)) -> plus(X1, X2),
                               plus(mark(X1), X2) -> plus(X1, X2),
                             plus(active(X1), X2) -> plus(X1, X2),
                            U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                          U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                            U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                          U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                            U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                          U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                     U61(mark(X)) -> U61(X),
                                   U61(active(X)) -> U61(X),
                                  x(X1, mark(X2)) -> x(X1, X2),
                                x(X1, active(X2)) -> x(X1, X2),
                                  x(mark(X1), X2) -> x(X1, X2),
                                x(active(X1), X2) -> x(X1, X2),
                            U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                          U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                            U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                          U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                            U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                          U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                                and(X1, mark(X2)) -> and(X1, X2),
                              and(X1, active(X2)) -> and(X1, X2),
                                and(mark(X1), X2) -> and(X1, X2),
                              and(active(X1), X2) -> and(X1, X2),
                               isNatKind(mark(X)) -> isNatKind(X),
                             isNatKind(active(X)) -> isNatKind(X)}
                 SPSC:
                  Simple Projection:
                   pi(U51#) = 0
                  Strict:
                   {  U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3),
                    U51#(X1, active(X2), X3) -> U51#(X1, X2, X3)}
                  EDG:
                   {(U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))
                    (U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
                    (U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3), U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3))
                    (U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))}
                   SCCS:
                    Scc:
                     {  U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3),
                      U51#(X1, active(X2), X3) -> U51#(X1, X2, X3)}
                    SCC:
                     Strict:
                      {  U51#(X1, mark(X2), X3) -> U51#(X1, X2, X3),
                       U51#(X1, active(X2), X3) -> U51#(X1, X2, X3)}
                     Weak:
                     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                                       mark(isNat(X)) -> active(isNat(X)),
                                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                           mark(tt()) -> active(tt()),
                                         mark(U13(X)) -> active(U13(mark(X))),
                                         mark(U22(X)) -> active(U22(mark(X))),
                                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                         mark(U33(X)) -> active(U33(mark(X))),
                                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                           mark(s(X)) -> active(s(mark(X))),
                                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                            mark(0()) -> active(0()),
                                         mark(U61(X)) -> active(U61(mark(X))),
                                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                                   mark(isNatKind(X)) -> active(isNatKind(X)),
                                    U12(X1, mark(X2)) -> U12(X1, X2),
                                  U12(X1, active(X2)) -> U12(X1, X2),
                                    U12(mark(X1), X2) -> U12(X1, X2),
                                  U12(active(X1), X2) -> U12(X1, X2),
                                       isNat(mark(X)) -> isNat(X),
                                     isNat(active(X)) -> isNat(X),
                                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                                   active(isNat(0())) -> mark(tt()),
                             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                    active(U13(tt())) -> mark(tt()),
                                    active(U22(tt())) -> mark(tt()),
                                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                    active(U33(tt())) -> mark(tt()),
                                 active(U41(tt(), N)) -> mark(N),
                                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                    active(U61(tt())) -> mark(0()),
                                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                 active(and(tt(), X)) -> mark(X),
                             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
                      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                               active(isNatKind(0())) -> mark(tt()),
                         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                         U13(mark(X)) -> U13(X),
                                       U13(active(X)) -> U13(X),
                                         U22(mark(X)) -> U22(X),
                                       U22(active(X)) -> U22(X),
                                    U21(X1, mark(X2)) -> U21(X1, X2),
                                  U21(X1, active(X2)) -> U21(X1, X2),
                                    U21(mark(X1), X2) -> U21(X1, X2),
                                  U21(active(X1), X2) -> U21(X1, X2),
                                    U32(X1, mark(X2)) -> U32(X1, X2),
                                  U32(X1, active(X2)) -> U32(X1, X2),
                                    U32(mark(X1), X2) -> U32(X1, X2),
                                  U32(active(X1), X2) -> U32(X1, X2),
                                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                         U33(mark(X)) -> U33(X),
                                       U33(active(X)) -> U33(X),
                                    U41(X1, mark(X2)) -> U41(X1, X2),
                                  U41(X1, active(X2)) -> U41(X1, X2),
                                    U41(mark(X1), X2) -> U41(X1, X2),
                                  U41(active(X1), X2) -> U41(X1, X2),
                                           s(mark(X)) -> s(X),
                                         s(active(X)) -> s(X),
                                   plus(X1, mark(X2)) -> plus(X1, X2),
                                 plus(X1, active(X2)) -> plus(X1, X2),
                                   plus(mark(X1), X2) -> plus(X1, X2),
                                 plus(active(X1), X2) -> plus(X1, X2),
                                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                         U61(mark(X)) -> U61(X),
                                       U61(active(X)) -> U61(X),
                                      x(X1, mark(X2)) -> x(X1, X2),
                                    x(X1, active(X2)) -> x(X1, X2),
                                      x(mark(X1), X2) -> x(X1, X2),
                                    x(active(X1), X2) -> x(X1, X2),
                                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                                    and(X1, mark(X2)) -> and(X1, X2),
                                  and(X1, active(X2)) -> and(X1, X2),
                                    and(mark(X1), X2) -> and(X1, X2),
                                  and(active(X1), X2) -> and(X1, X2),
                                   isNatKind(mark(X)) -> isNatKind(X),
                                 isNatKind(active(X)) -> isNatKind(X)}
                     SPSC:
                      Simple Projection:
                       pi(U51#) = 1
                      Strict:
                       {U51#(X1, active(X2), X3) -> U51#(X1, X2, X3)}
                      EDG:
                       {(U51#(X1, active(X2), X3) -> U51#(X1, X2, X3), U51#(X1, active(X2), X3) -> U51#(X1, X2, X3))}
                       SCCS:
                        Scc:
                         {U51#(X1, active(X2), X3) -> U51#(X1, X2, X3)}
                        SCC:
                         Strict:
                          {U51#(X1, active(X2), X3) -> U51#(X1, X2, X3)}
                         Weak:
                         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                                           mark(isNat(X)) -> active(isNat(X)),
                                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                               mark(tt()) -> active(tt()),
                                             mark(U13(X)) -> active(U13(mark(X))),
                                             mark(U22(X)) -> active(U22(mark(X))),
                                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                             mark(U33(X)) -> active(U33(mark(X))),
                                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                               mark(s(X)) -> active(s(mark(X))),
                                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                                mark(0()) -> active(0()),
                                             mark(U61(X)) -> active(U61(mark(X))),
                                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                                       mark(isNatKind(X)) -> active(isNatKind(X)),
                                        U12(X1, mark(X2)) -> U12(X1, X2),
                                      U12(X1, active(X2)) -> U12(X1, X2),
                                        U12(mark(X1), X2) -> U12(X1, X2),
                                      U12(active(X1), X2) -> U12(X1, X2),
                                           isNat(mark(X)) -> isNat(X),
                                         isNat(active(X)) -> isNat(X),
                                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                                       active(isNat(0())) -> mark(tt()),
                                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                        active(U13(tt())) -> mark(tt()),
                                        active(U22(tt())) -> mark(tt()),
                                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                        active(U33(tt())) -> mark(tt()),
                                     active(U41(tt(), N)) -> mark(N),
                                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                        active(U61(tt())) -> mark(0()),
                                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                     active(and(tt(), X)) -> mark(X),
                                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
                          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                                   active(isNatKind(0())) -> mark(tt()),
                             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                             U13(mark(X)) -> U13(X),
                                           U13(active(X)) -> U13(X),
                                             U22(mark(X)) -> U22(X),
                                           U22(active(X)) -> U22(X),
                                        U21(X1, mark(X2)) -> U21(X1, X2),
                                      U21(X1, active(X2)) -> U21(X1, X2),
                                        U21(mark(X1), X2) -> U21(X1, X2),
                                      U21(active(X1), X2) -> U21(X1, X2),
                                        U32(X1, mark(X2)) -> U32(X1, X2),
                                      U32(X1, active(X2)) -> U32(X1, X2),
                                        U32(mark(X1), X2) -> U32(X1, X2),
                                      U32(active(X1), X2) -> U32(X1, X2),
                                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                             U33(mark(X)) -> U33(X),
                                           U33(active(X)) -> U33(X),
                                        U41(X1, mark(X2)) -> U41(X1, X2),
                                      U41(X1, active(X2)) -> U41(X1, X2),
                                        U41(mark(X1), X2) -> U41(X1, X2),
                                      U41(active(X1), X2) -> U41(X1, X2),
                                               s(mark(X)) -> s(X),
                                             s(active(X)) -> s(X),
                                       plus(X1, mark(X2)) -> plus(X1, X2),
                                     plus(X1, active(X2)) -> plus(X1, X2),
                                       plus(mark(X1), X2) -> plus(X1, X2),
                                     plus(active(X1), X2) -> plus(X1, X2),
                                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                             U61(mark(X)) -> U61(X),
                                           U61(active(X)) -> U61(X),
                                          x(X1, mark(X2)) -> x(X1, X2),
                                        x(X1, active(X2)) -> x(X1, X2),
                                          x(mark(X1), X2) -> x(X1, X2),
                                        x(active(X1), X2) -> x(X1, X2),
                                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                                        and(X1, mark(X2)) -> and(X1, X2),
                                      and(X1, active(X2)) -> and(X1, X2),
                                        and(mark(X1), X2) -> and(X1, X2),
                                      and(active(X1), X2) -> and(X1, X2),
                                       isNatKind(mark(X)) -> isNatKind(X),
                                     isNatKind(active(X)) -> isNatKind(X)}
                         SPSC:
                          Simple Projection:
                           pi(U51#) = 1
                          Strict:
                           {}
                          Qed
    SCC:
     Strict:
      {  plus#(X1, mark(X2)) -> plus#(X1, X2),
       plus#(X1, active(X2)) -> plus#(X1, X2),
         plus#(mark(X1), X2) -> plus#(X1, X2),
       plus#(active(X1), X2) -> plus#(X1, X2)}
     Weak:
     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                       mark(isNat(X)) -> active(isNat(X)),
                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                           mark(tt()) -> active(tt()),
                         mark(U13(X)) -> active(U13(mark(X))),
                         mark(U22(X)) -> active(U22(mark(X))),
                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                         mark(U33(X)) -> active(U33(mark(X))),
                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                           mark(s(X)) -> active(s(mark(X))),
                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                            mark(0()) -> active(0()),
                         mark(U61(X)) -> active(U61(mark(X))),
                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                   mark(isNatKind(X)) -> active(isNatKind(X)),
                    U12(X1, mark(X2)) -> U12(X1, X2),
                  U12(X1, active(X2)) -> U12(X1, X2),
                    U12(mark(X1), X2) -> U12(X1, X2),
                  U12(active(X1), X2) -> U12(X1, X2),
                       isNat(mark(X)) -> isNat(X),
                     isNat(active(X)) -> isNat(X),
                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                   active(isNat(0())) -> mark(tt()),
             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                    active(U13(tt())) -> mark(tt()),
                    active(U22(tt())) -> mark(tt()),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                    active(U33(tt())) -> mark(tt()),
                 active(U41(tt(), N)) -> mark(N),
                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                    active(U61(tt())) -> mark(0()),
                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                 active(and(tt(), X)) -> mark(X),
             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
               active(isNatKind(0())) -> mark(tt()),
         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                         U13(mark(X)) -> U13(X),
                       U13(active(X)) -> U13(X),
                         U22(mark(X)) -> U22(X),
                       U22(active(X)) -> U22(X),
                    U21(X1, mark(X2)) -> U21(X1, X2),
                  U21(X1, active(X2)) -> U21(X1, X2),
                    U21(mark(X1), X2) -> U21(X1, X2),
                  U21(active(X1), X2) -> U21(X1, X2),
                    U32(X1, mark(X2)) -> U32(X1, X2),
                  U32(X1, active(X2)) -> U32(X1, X2),
                    U32(mark(X1), X2) -> U32(X1, X2),
                  U32(active(X1), X2) -> U32(X1, X2),
                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                         U33(mark(X)) -> U33(X),
                       U33(active(X)) -> U33(X),
                    U41(X1, mark(X2)) -> U41(X1, X2),
                  U41(X1, active(X2)) -> U41(X1, X2),
                    U41(mark(X1), X2) -> U41(X1, X2),
                  U41(active(X1), X2) -> U41(X1, X2),
                           s(mark(X)) -> s(X),
                         s(active(X)) -> s(X),
                   plus(X1, mark(X2)) -> plus(X1, X2),
                 plus(X1, active(X2)) -> plus(X1, X2),
                   plus(mark(X1), X2) -> plus(X1, X2),
                 plus(active(X1), X2) -> plus(X1, X2),
                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                         U61(mark(X)) -> U61(X),
                       U61(active(X)) -> U61(X),
                      x(X1, mark(X2)) -> x(X1, X2),
                    x(X1, active(X2)) -> x(X1, X2),
                      x(mark(X1), X2) -> x(X1, X2),
                    x(active(X1), X2) -> x(X1, X2),
                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                    and(X1, mark(X2)) -> and(X1, X2),
                  and(X1, active(X2)) -> and(X1, X2),
                    and(mark(X1), X2) -> and(X1, X2),
                  and(active(X1), X2) -> and(X1, X2),
                   isNatKind(mark(X)) -> isNatKind(X),
                 isNatKind(active(X)) -> isNatKind(X)}
     SPSC:
      Simple Projection:
       pi(plus#) = 0
      Strict:
       {  plus#(X1, mark(X2)) -> plus#(X1, X2),
        plus#(X1, active(X2)) -> plus#(X1, X2),
          plus#(mark(X1), X2) -> plus#(X1, X2)}
      EDG:
       {(plus#(X1, active(X2)) -> plus#(X1, X2), plus#(mark(X1), X2) -> plus#(X1, X2))
        (plus#(X1, active(X2)) -> plus#(X1, X2), plus#(X1, active(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#(mark(X1), X2) -> plus#(X1, X2), plus#(X1, active(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#(X1, mark(X2)) -> plus#(X1, X2))
        (plus#(X1, mark(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))}
       SCCS:
        Scc:
         {  plus#(X1, mark(X2)) -> plus#(X1, X2),
          plus#(X1, active(X2)) -> plus#(X1, X2),
            plus#(mark(X1), X2) -> plus#(X1, X2)}
        SCC:
         Strict:
          {  plus#(X1, mark(X2)) -> plus#(X1, X2),
           plus#(X1, active(X2)) -> plus#(X1, X2),
             plus#(mark(X1), X2) -> plus#(X1, X2)}
         Weak:
         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                           mark(isNat(X)) -> active(isNat(X)),
                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                               mark(tt()) -> active(tt()),
                             mark(U13(X)) -> active(U13(mark(X))),
                             mark(U22(X)) -> active(U22(mark(X))),
                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                             mark(U33(X)) -> active(U33(mark(X))),
                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                               mark(s(X)) -> active(s(mark(X))),
                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                mark(0()) -> active(0()),
                             mark(U61(X)) -> active(U61(mark(X))),
                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                       mark(isNatKind(X)) -> active(isNatKind(X)),
                        U12(X1, mark(X2)) -> U12(X1, X2),
                      U12(X1, active(X2)) -> U12(X1, X2),
                        U12(mark(X1), X2) -> U12(X1, X2),
                      U12(active(X1), X2) -> U12(X1, X2),
                           isNat(mark(X)) -> isNat(X),
                         isNat(active(X)) -> isNat(X),
                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                       active(isNat(0())) -> mark(tt()),
                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                        active(U13(tt())) -> mark(tt()),
                        active(U22(tt())) -> mark(tt()),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                        active(U33(tt())) -> mark(tt()),
                     active(U41(tt(), N)) -> mark(N),
                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                        active(U61(tt())) -> mark(0()),
                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                     active(and(tt(), X)) -> mark(X),
                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                   active(isNatKind(0())) -> mark(tt()),
             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                             U13(mark(X)) -> U13(X),
                           U13(active(X)) -> U13(X),
                             U22(mark(X)) -> U22(X),
                           U22(active(X)) -> U22(X),
                        U21(X1, mark(X2)) -> U21(X1, X2),
                      U21(X1, active(X2)) -> U21(X1, X2),
                        U21(mark(X1), X2) -> U21(X1, X2),
                      U21(active(X1), X2) -> U21(X1, X2),
                        U32(X1, mark(X2)) -> U32(X1, X2),
                      U32(X1, active(X2)) -> U32(X1, X2),
                        U32(mark(X1), X2) -> U32(X1, X2),
                      U32(active(X1), X2) -> U32(X1, X2),
                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                             U33(mark(X)) -> U33(X),
                           U33(active(X)) -> U33(X),
                        U41(X1, mark(X2)) -> U41(X1, X2),
                      U41(X1, active(X2)) -> U41(X1, X2),
                        U41(mark(X1), X2) -> U41(X1, X2),
                      U41(active(X1), X2) -> U41(X1, X2),
                               s(mark(X)) -> s(X),
                             s(active(X)) -> s(X),
                       plus(X1, mark(X2)) -> plus(X1, X2),
                     plus(X1, active(X2)) -> plus(X1, X2),
                       plus(mark(X1), X2) -> plus(X1, X2),
                     plus(active(X1), X2) -> plus(X1, X2),
                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                             U61(mark(X)) -> U61(X),
                           U61(active(X)) -> U61(X),
                          x(X1, mark(X2)) -> x(X1, X2),
                        x(X1, active(X2)) -> x(X1, X2),
                          x(mark(X1), X2) -> x(X1, X2),
                        x(active(X1), X2) -> x(X1, X2),
                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                        and(X1, mark(X2)) -> and(X1, X2),
                      and(X1, active(X2)) -> and(X1, X2),
                        and(mark(X1), X2) -> and(X1, X2),
                      and(active(X1), X2) -> and(X1, X2),
                       isNatKind(mark(X)) -> isNatKind(X),
                     isNatKind(active(X)) -> isNatKind(X)}
         SPSC:
          Simple Projection:
           pi(plus#) = 0
          Strict:
           {  plus#(X1, mark(X2)) -> plus#(X1, X2),
            plus#(X1, active(X2)) -> plus#(X1, X2)}
          EDG:
           {(plus#(X1, active(X2)) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2))
            (plus#(X1, active(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#(X1, mark(X2)) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2))}
           SCCS:
            Scc:
             {  plus#(X1, mark(X2)) -> plus#(X1, X2),
              plus#(X1, active(X2)) -> plus#(X1, X2)}
            SCC:
             Strict:
              {  plus#(X1, mark(X2)) -> plus#(X1, X2),
               plus#(X1, active(X2)) -> plus#(X1, X2)}
             Weak:
             {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                               mark(isNat(X)) -> active(isNat(X)),
                        mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                   mark(tt()) -> active(tt()),
                                 mark(U13(X)) -> active(U13(mark(X))),
                                 mark(U22(X)) -> active(U22(mark(X))),
                            mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                            mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                        mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                 mark(U33(X)) -> active(U33(mark(X))),
                            mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                   mark(s(X)) -> active(s(mark(X))),
                           mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                        mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                    mark(0()) -> active(0()),
                                 mark(U61(X)) -> active(U61(mark(X))),
                              mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                        mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                            mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                           mark(isNatKind(X)) -> active(isNatKind(X)),
                            U12(X1, mark(X2)) -> U12(X1, X2),
                          U12(X1, active(X2)) -> U12(X1, X2),
                            U12(mark(X1), X2) -> U12(X1, X2),
                          U12(active(X1), X2) -> U12(X1, X2),
                               isNat(mark(X)) -> isNat(X),
                             isNat(active(X)) -> isNat(X),
                        active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                         active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                  active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                           active(isNat(0())) -> mark(tt()),
                     active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                            active(U13(tt())) -> mark(tt()),
                            active(U22(tt())) -> mark(tt()),
                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                            active(U33(tt())) -> mark(tt()),
                         active(U41(tt(), N)) -> mark(N),
                        active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                         active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                            active(U61(tt())) -> mark(0()),
                           active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                            active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                         active(and(tt(), X)) -> mark(X),
                     active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
              active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                       active(isNatKind(0())) -> mark(tt()),
                 active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                        U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                      U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                        U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                      U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                        U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                      U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                 U13(mark(X)) -> U13(X),
                               U13(active(X)) -> U13(X),
                                 U22(mark(X)) -> U22(X),
                               U22(active(X)) -> U22(X),
                            U21(X1, mark(X2)) -> U21(X1, X2),
                          U21(X1, active(X2)) -> U21(X1, X2),
                            U21(mark(X1), X2) -> U21(X1, X2),
                          U21(active(X1), X2) -> U21(X1, X2),
                            U32(X1, mark(X2)) -> U32(X1, X2),
                          U32(X1, active(X2)) -> U32(X1, X2),
                            U32(mark(X1), X2) -> U32(X1, X2),
                          U32(active(X1), X2) -> U32(X1, X2),
                        U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                      U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                        U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                      U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                        U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                      U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                 U33(mark(X)) -> U33(X),
                               U33(active(X)) -> U33(X),
                            U41(X1, mark(X2)) -> U41(X1, X2),
                          U41(X1, active(X2)) -> U41(X1, X2),
                            U41(mark(X1), X2) -> U41(X1, X2),
                          U41(active(X1), X2) -> U41(X1, X2),
                                   s(mark(X)) -> s(X),
                                 s(active(X)) -> s(X),
                           plus(X1, mark(X2)) -> plus(X1, X2),
                         plus(X1, active(X2)) -> plus(X1, X2),
                           plus(mark(X1), X2) -> plus(X1, X2),
                         plus(active(X1), X2) -> plus(X1, X2),
                        U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                      U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                        U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                      U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                        U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                      U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                 U61(mark(X)) -> U61(X),
                               U61(active(X)) -> U61(X),
                              x(X1, mark(X2)) -> x(X1, X2),
                            x(X1, active(X2)) -> x(X1, X2),
                              x(mark(X1), X2) -> x(X1, X2),
                            x(active(X1), X2) -> x(X1, X2),
                        U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                      U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                        U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                      U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                        U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                      U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                            and(X1, mark(X2)) -> and(X1, X2),
                          and(X1, active(X2)) -> and(X1, X2),
                            and(mark(X1), X2) -> and(X1, X2),
                          and(active(X1), X2) -> and(X1, X2),
                           isNatKind(mark(X)) -> isNatKind(X),
                         isNatKind(active(X)) -> isNatKind(X)}
             SPSC:
              Simple Projection:
               pi(plus#) = 1
              Strict:
               {plus#(X1, active(X2)) -> plus#(X1, X2)}
              EDG:
               {(plus#(X1, active(X2)) -> plus#(X1, X2), plus#(X1, active(X2)) -> plus#(X1, X2))}
               SCCS:
                Scc:
                 {plus#(X1, active(X2)) -> plus#(X1, X2)}
                SCC:
                 Strict:
                  {plus#(X1, active(X2)) -> plus#(X1, X2)}
                 Weak:
                 {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                                   mark(isNat(X)) -> active(isNat(X)),
                            mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                       mark(tt()) -> active(tt()),
                                     mark(U13(X)) -> active(U13(mark(X))),
                                     mark(U22(X)) -> active(U22(mark(X))),
                                mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                                mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                            mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                     mark(U33(X)) -> active(U33(mark(X))),
                                mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                       mark(s(X)) -> active(s(mark(X))),
                               mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                            mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                        mark(0()) -> active(0()),
                                     mark(U61(X)) -> active(U61(mark(X))),
                                  mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                            mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                                mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                               mark(isNatKind(X)) -> active(isNatKind(X)),
                                U12(X1, mark(X2)) -> U12(X1, X2),
                              U12(X1, active(X2)) -> U12(X1, X2),
                                U12(mark(X1), X2) -> U12(X1, X2),
                              U12(active(X1), X2) -> U12(X1, X2),
                                   isNat(mark(X)) -> isNat(X),
                                 isNat(active(X)) -> isNat(X),
                            active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                             active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                      active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                               active(isNat(0())) -> mark(tt()),
                         active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                active(U13(tt())) -> mark(tt()),
                                active(U22(tt())) -> mark(tt()),
                            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                active(U33(tt())) -> mark(tt()),
                             active(U41(tt(), N)) -> mark(N),
                            active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                             active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                active(U61(tt())) -> mark(0()),
                               active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                             active(and(tt(), X)) -> mark(X),
                         active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
                  active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                           active(isNatKind(0())) -> mark(tt()),
                     active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                            U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                          U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                            U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                          U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                            U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                          U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                     U13(mark(X)) -> U13(X),
                                   U13(active(X)) -> U13(X),
                                     U22(mark(X)) -> U22(X),
                                   U22(active(X)) -> U22(X),
                                U21(X1, mark(X2)) -> U21(X1, X2),
                              U21(X1, active(X2)) -> U21(X1, X2),
                                U21(mark(X1), X2) -> U21(X1, X2),
                              U21(active(X1), X2) -> U21(X1, X2),
                                U32(X1, mark(X2)) -> U32(X1, X2),
                              U32(X1, active(X2)) -> U32(X1, X2),
                                U32(mark(X1), X2) -> U32(X1, X2),
                              U32(active(X1), X2) -> U32(X1, X2),
                            U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                          U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                            U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                          U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                            U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                          U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                     U33(mark(X)) -> U33(X),
                                   U33(active(X)) -> U33(X),
                                U41(X1, mark(X2)) -> U41(X1, X2),
                              U41(X1, active(X2)) -> U41(X1, X2),
                                U41(mark(X1), X2) -> U41(X1, X2),
                              U41(active(X1), X2) -> U41(X1, X2),
                                       s(mark(X)) -> s(X),
                                     s(active(X)) -> s(X),
                               plus(X1, mark(X2)) -> plus(X1, X2),
                             plus(X1, active(X2)) -> plus(X1, X2),
                               plus(mark(X1), X2) -> plus(X1, X2),
                             plus(active(X1), X2) -> plus(X1, X2),
                            U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                          U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                            U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                          U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                            U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                          U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                     U61(mark(X)) -> U61(X),
                                   U61(active(X)) -> U61(X),
                                  x(X1, mark(X2)) -> x(X1, X2),
                                x(X1, active(X2)) -> x(X1, X2),
                                  x(mark(X1), X2) -> x(X1, X2),
                                x(active(X1), X2) -> x(X1, X2),
                            U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                          U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                            U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                          U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                            U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                          U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                                and(X1, mark(X2)) -> and(X1, X2),
                              and(X1, active(X2)) -> and(X1, X2),
                                and(mark(X1), X2) -> and(X1, X2),
                              and(active(X1), X2) -> and(X1, X2),
                               isNatKind(mark(X)) -> isNatKind(X),
                             isNatKind(active(X)) -> isNatKind(X)}
                 SPSC:
                  Simple Projection:
                   pi(plus#) = 1
                  Strict:
                   {}
                  Qed
    SCC:
     Strict:
      {  s#(mark(X)) -> s#(X),
       s#(active(X)) -> s#(X)}
     Weak:
     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                       mark(isNat(X)) -> active(isNat(X)),
                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                           mark(tt()) -> active(tt()),
                         mark(U13(X)) -> active(U13(mark(X))),
                         mark(U22(X)) -> active(U22(mark(X))),
                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                         mark(U33(X)) -> active(U33(mark(X))),
                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                           mark(s(X)) -> active(s(mark(X))),
                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                            mark(0()) -> active(0()),
                         mark(U61(X)) -> active(U61(mark(X))),
                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                   mark(isNatKind(X)) -> active(isNatKind(X)),
                    U12(X1, mark(X2)) -> U12(X1, X2),
                  U12(X1, active(X2)) -> U12(X1, X2),
                    U12(mark(X1), X2) -> U12(X1, X2),
                  U12(active(X1), X2) -> U12(X1, X2),
                       isNat(mark(X)) -> isNat(X),
                     isNat(active(X)) -> isNat(X),
                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                   active(isNat(0())) -> mark(tt()),
             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                    active(U13(tt())) -> mark(tt()),
                    active(U22(tt())) -> mark(tt()),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                    active(U33(tt())) -> mark(tt()),
                 active(U41(tt(), N)) -> mark(N),
                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                    active(U61(tt())) -> mark(0()),
                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                 active(and(tt(), X)) -> mark(X),
             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
               active(isNatKind(0())) -> mark(tt()),
         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                         U13(mark(X)) -> U13(X),
                       U13(active(X)) -> U13(X),
                         U22(mark(X)) -> U22(X),
                       U22(active(X)) -> U22(X),
                    U21(X1, mark(X2)) -> U21(X1, X2),
                  U21(X1, active(X2)) -> U21(X1, X2),
                    U21(mark(X1), X2) -> U21(X1, X2),
                  U21(active(X1), X2) -> U21(X1, X2),
                    U32(X1, mark(X2)) -> U32(X1, X2),
                  U32(X1, active(X2)) -> U32(X1, X2),
                    U32(mark(X1), X2) -> U32(X1, X2),
                  U32(active(X1), X2) -> U32(X1, X2),
                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                         U33(mark(X)) -> U33(X),
                       U33(active(X)) -> U33(X),
                    U41(X1, mark(X2)) -> U41(X1, X2),
                  U41(X1, active(X2)) -> U41(X1, X2),
                    U41(mark(X1), X2) -> U41(X1, X2),
                  U41(active(X1), X2) -> U41(X1, X2),
                           s(mark(X)) -> s(X),
                         s(active(X)) -> s(X),
                   plus(X1, mark(X2)) -> plus(X1, X2),
                 plus(X1, active(X2)) -> plus(X1, X2),
                   plus(mark(X1), X2) -> plus(X1, X2),
                 plus(active(X1), X2) -> plus(X1, X2),
                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                         U61(mark(X)) -> U61(X),
                       U61(active(X)) -> U61(X),
                      x(X1, mark(X2)) -> x(X1, X2),
                    x(X1, active(X2)) -> x(X1, X2),
                      x(mark(X1), X2) -> x(X1, X2),
                    x(active(X1), X2) -> x(X1, X2),
                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                    and(X1, mark(X2)) -> and(X1, X2),
                  and(X1, active(X2)) -> and(X1, X2),
                    and(mark(X1), X2) -> and(X1, X2),
                  and(active(X1), X2) -> and(X1, X2),
                   isNatKind(mark(X)) -> isNatKind(X),
                 isNatKind(active(X)) -> isNatKind(X)}
     SPSC:
      Simple Projection:
       pi(s#) = 0
      Strict:
       {s#(active(X)) -> s#(X)}
      EDG:
       {(s#(active(X)) -> s#(X), s#(active(X)) -> s#(X))}
       SCCS:
        Scc:
         {s#(active(X)) -> s#(X)}
        SCC:
         Strict:
          {s#(active(X)) -> s#(X)}
         Weak:
         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                           mark(isNat(X)) -> active(isNat(X)),
                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                               mark(tt()) -> active(tt()),
                             mark(U13(X)) -> active(U13(mark(X))),
                             mark(U22(X)) -> active(U22(mark(X))),
                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                             mark(U33(X)) -> active(U33(mark(X))),
                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                               mark(s(X)) -> active(s(mark(X))),
                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                mark(0()) -> active(0()),
                             mark(U61(X)) -> active(U61(mark(X))),
                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                       mark(isNatKind(X)) -> active(isNatKind(X)),
                        U12(X1, mark(X2)) -> U12(X1, X2),
                      U12(X1, active(X2)) -> U12(X1, X2),
                        U12(mark(X1), X2) -> U12(X1, X2),
                      U12(active(X1), X2) -> U12(X1, X2),
                           isNat(mark(X)) -> isNat(X),
                         isNat(active(X)) -> isNat(X),
                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                       active(isNat(0())) -> mark(tt()),
                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                        active(U13(tt())) -> mark(tt()),
                        active(U22(tt())) -> mark(tt()),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                        active(U33(tt())) -> mark(tt()),
                     active(U41(tt(), N)) -> mark(N),
                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                        active(U61(tt())) -> mark(0()),
                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                     active(and(tt(), X)) -> mark(X),
                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                   active(isNatKind(0())) -> mark(tt()),
             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                             U13(mark(X)) -> U13(X),
                           U13(active(X)) -> U13(X),
                             U22(mark(X)) -> U22(X),
                           U22(active(X)) -> U22(X),
                        U21(X1, mark(X2)) -> U21(X1, X2),
                      U21(X1, active(X2)) -> U21(X1, X2),
                        U21(mark(X1), X2) -> U21(X1, X2),
                      U21(active(X1), X2) -> U21(X1, X2),
                        U32(X1, mark(X2)) -> U32(X1, X2),
                      U32(X1, active(X2)) -> U32(X1, X2),
                        U32(mark(X1), X2) -> U32(X1, X2),
                      U32(active(X1), X2) -> U32(X1, X2),
                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                             U33(mark(X)) -> U33(X),
                           U33(active(X)) -> U33(X),
                        U41(X1, mark(X2)) -> U41(X1, X2),
                      U41(X1, active(X2)) -> U41(X1, X2),
                        U41(mark(X1), X2) -> U41(X1, X2),
                      U41(active(X1), X2) -> U41(X1, X2),
                               s(mark(X)) -> s(X),
                             s(active(X)) -> s(X),
                       plus(X1, mark(X2)) -> plus(X1, X2),
                     plus(X1, active(X2)) -> plus(X1, X2),
                       plus(mark(X1), X2) -> plus(X1, X2),
                     plus(active(X1), X2) -> plus(X1, X2),
                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                             U61(mark(X)) -> U61(X),
                           U61(active(X)) -> U61(X),
                          x(X1, mark(X2)) -> x(X1, X2),
                        x(X1, active(X2)) -> x(X1, X2),
                          x(mark(X1), X2) -> x(X1, X2),
                        x(active(X1), X2) -> x(X1, X2),
                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                        and(X1, mark(X2)) -> and(X1, X2),
                      and(X1, active(X2)) -> and(X1, X2),
                        and(mark(X1), X2) -> and(X1, X2),
                      and(active(X1), X2) -> and(X1, X2),
                       isNatKind(mark(X)) -> isNatKind(X),
                     isNatKind(active(X)) -> isNatKind(X)}
         SPSC:
          Simple Projection:
           pi(s#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {  U41#(X1, mark(X2)) -> U41#(X1, X2),
       U41#(X1, active(X2)) -> U41#(X1, X2),
         U41#(mark(X1), X2) -> U41#(X1, X2),
       U41#(active(X1), X2) -> U41#(X1, X2)}
     Weak:
     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                       mark(isNat(X)) -> active(isNat(X)),
                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                           mark(tt()) -> active(tt()),
                         mark(U13(X)) -> active(U13(mark(X))),
                         mark(U22(X)) -> active(U22(mark(X))),
                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                         mark(U33(X)) -> active(U33(mark(X))),
                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                           mark(s(X)) -> active(s(mark(X))),
                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                            mark(0()) -> active(0()),
                         mark(U61(X)) -> active(U61(mark(X))),
                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                   mark(isNatKind(X)) -> active(isNatKind(X)),
                    U12(X1, mark(X2)) -> U12(X1, X2),
                  U12(X1, active(X2)) -> U12(X1, X2),
                    U12(mark(X1), X2) -> U12(X1, X2),
                  U12(active(X1), X2) -> U12(X1, X2),
                       isNat(mark(X)) -> isNat(X),
                     isNat(active(X)) -> isNat(X),
                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                   active(isNat(0())) -> mark(tt()),
             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                    active(U13(tt())) -> mark(tt()),
                    active(U22(tt())) -> mark(tt()),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                    active(U33(tt())) -> mark(tt()),
                 active(U41(tt(), N)) -> mark(N),
                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                    active(U61(tt())) -> mark(0()),
                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                 active(and(tt(), X)) -> mark(X),
             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
               active(isNatKind(0())) -> mark(tt()),
         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                         U13(mark(X)) -> U13(X),
                       U13(active(X)) -> U13(X),
                         U22(mark(X)) -> U22(X),
                       U22(active(X)) -> U22(X),
                    U21(X1, mark(X2)) -> U21(X1, X2),
                  U21(X1, active(X2)) -> U21(X1, X2),
                    U21(mark(X1), X2) -> U21(X1, X2),
                  U21(active(X1), X2) -> U21(X1, X2),
                    U32(X1, mark(X2)) -> U32(X1, X2),
                  U32(X1, active(X2)) -> U32(X1, X2),
                    U32(mark(X1), X2) -> U32(X1, X2),
                  U32(active(X1), X2) -> U32(X1, X2),
                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                         U33(mark(X)) -> U33(X),
                       U33(active(X)) -> U33(X),
                    U41(X1, mark(X2)) -> U41(X1, X2),
                  U41(X1, active(X2)) -> U41(X1, X2),
                    U41(mark(X1), X2) -> U41(X1, X2),
                  U41(active(X1), X2) -> U41(X1, X2),
                           s(mark(X)) -> s(X),
                         s(active(X)) -> s(X),
                   plus(X1, mark(X2)) -> plus(X1, X2),
                 plus(X1, active(X2)) -> plus(X1, X2),
                   plus(mark(X1), X2) -> plus(X1, X2),
                 plus(active(X1), X2) -> plus(X1, X2),
                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                         U61(mark(X)) -> U61(X),
                       U61(active(X)) -> U61(X),
                      x(X1, mark(X2)) -> x(X1, X2),
                    x(X1, active(X2)) -> x(X1, X2),
                      x(mark(X1), X2) -> x(X1, X2),
                    x(active(X1), X2) -> x(X1, X2),
                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                    and(X1, mark(X2)) -> and(X1, X2),
                  and(X1, active(X2)) -> and(X1, X2),
                    and(mark(X1), X2) -> and(X1, X2),
                  and(active(X1), X2) -> and(X1, X2),
                   isNatKind(mark(X)) -> isNatKind(X),
                 isNatKind(active(X)) -> isNatKind(X)}
     SPSC:
      Simple Projection:
       pi(U41#) = 1
      Strict:
       {U41#(X1, active(X2)) -> U41#(X1, X2),
          U41#(mark(X1), X2) -> U41#(X1, X2),
        U41#(active(X1), X2) -> U41#(X1, X2)}
      EDG:
       {(U41#(mark(X1), X2) -> U41#(X1, X2), U41#(active(X1), X2) -> U41#(X1, X2))
        (U41#(mark(X1), X2) -> U41#(X1, X2), U41#(mark(X1), X2) -> U41#(X1, X2))
        (U41#(mark(X1), X2) -> U41#(X1, X2), U41#(X1, active(X2)) -> U41#(X1, X2))
        (U41#(active(X1), X2) -> U41#(X1, X2), U41#(X1, active(X2)) -> U41#(X1, X2))
        (U41#(active(X1), X2) -> U41#(X1, X2), U41#(mark(X1), X2) -> U41#(X1, X2))
        (U41#(active(X1), X2) -> U41#(X1, X2), U41#(active(X1), X2) -> U41#(X1, X2))
        (U41#(X1, active(X2)) -> U41#(X1, X2), U41#(X1, active(X2)) -> U41#(X1, X2))
        (U41#(X1, active(X2)) -> U41#(X1, X2), U41#(mark(X1), X2) -> U41#(X1, X2))
        (U41#(X1, active(X2)) -> U41#(X1, X2), U41#(active(X1), X2) -> U41#(X1, X2))}
       SCCS:
        Scc:
         {U41#(X1, active(X2)) -> U41#(X1, X2),
            U41#(mark(X1), X2) -> U41#(X1, X2),
          U41#(active(X1), X2) -> U41#(X1, X2)}
        SCC:
         Strict:
          {U41#(X1, active(X2)) -> U41#(X1, X2),
             U41#(mark(X1), X2) -> U41#(X1, X2),
           U41#(active(X1), X2) -> U41#(X1, X2)}
         Weak:
         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                           mark(isNat(X)) -> active(isNat(X)),
                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                               mark(tt()) -> active(tt()),
                             mark(U13(X)) -> active(U13(mark(X))),
                             mark(U22(X)) -> active(U22(mark(X))),
                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                             mark(U33(X)) -> active(U33(mark(X))),
                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                               mark(s(X)) -> active(s(mark(X))),
                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                mark(0()) -> active(0()),
                             mark(U61(X)) -> active(U61(mark(X))),
                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                       mark(isNatKind(X)) -> active(isNatKind(X)),
                        U12(X1, mark(X2)) -> U12(X1, X2),
                      U12(X1, active(X2)) -> U12(X1, X2),
                        U12(mark(X1), X2) -> U12(X1, X2),
                      U12(active(X1), X2) -> U12(X1, X2),
                           isNat(mark(X)) -> isNat(X),
                         isNat(active(X)) -> isNat(X),
                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                       active(isNat(0())) -> mark(tt()),
                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                        active(U13(tt())) -> mark(tt()),
                        active(U22(tt())) -> mark(tt()),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                        active(U33(tt())) -> mark(tt()),
                     active(U41(tt(), N)) -> mark(N),
                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                        active(U61(tt())) -> mark(0()),
                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                     active(and(tt(), X)) -> mark(X),
                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                   active(isNatKind(0())) -> mark(tt()),
             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                             U13(mark(X)) -> U13(X),
                           U13(active(X)) -> U13(X),
                             U22(mark(X)) -> U22(X),
                           U22(active(X)) -> U22(X),
                        U21(X1, mark(X2)) -> U21(X1, X2),
                      U21(X1, active(X2)) -> U21(X1, X2),
                        U21(mark(X1), X2) -> U21(X1, X2),
                      U21(active(X1), X2) -> U21(X1, X2),
                        U32(X1, mark(X2)) -> U32(X1, X2),
                      U32(X1, active(X2)) -> U32(X1, X2),
                        U32(mark(X1), X2) -> U32(X1, X2),
                      U32(active(X1), X2) -> U32(X1, X2),
                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                             U33(mark(X)) -> U33(X),
                           U33(active(X)) -> U33(X),
                        U41(X1, mark(X2)) -> U41(X1, X2),
                      U41(X1, active(X2)) -> U41(X1, X2),
                        U41(mark(X1), X2) -> U41(X1, X2),
                      U41(active(X1), X2) -> U41(X1, X2),
                               s(mark(X)) -> s(X),
                             s(active(X)) -> s(X),
                       plus(X1, mark(X2)) -> plus(X1, X2),
                     plus(X1, active(X2)) -> plus(X1, X2),
                       plus(mark(X1), X2) -> plus(X1, X2),
                     plus(active(X1), X2) -> plus(X1, X2),
                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                             U61(mark(X)) -> U61(X),
                           U61(active(X)) -> U61(X),
                          x(X1, mark(X2)) -> x(X1, X2),
                        x(X1, active(X2)) -> x(X1, X2),
                          x(mark(X1), X2) -> x(X1, X2),
                        x(active(X1), X2) -> x(X1, X2),
                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                        and(X1, mark(X2)) -> and(X1, X2),
                      and(X1, active(X2)) -> and(X1, X2),
                        and(mark(X1), X2) -> and(X1, X2),
                      and(active(X1), X2) -> and(X1, X2),
                       isNatKind(mark(X)) -> isNatKind(X),
                     isNatKind(active(X)) -> isNatKind(X)}
         SPSC:
          Simple Projection:
           pi(U41#) = 0
          Strict:
           {U41#(X1, active(X2)) -> U41#(X1, X2),
              U41#(mark(X1), X2) -> U41#(X1, X2)}
          EDG:
           {(U41#(mark(X1), X2) -> U41#(X1, X2), U41#(mark(X1), X2) -> U41#(X1, X2))
            (U41#(mark(X1), X2) -> U41#(X1, X2), U41#(X1, active(X2)) -> U41#(X1, X2))
            (U41#(X1, active(X2)) -> U41#(X1, X2), U41#(X1, active(X2)) -> U41#(X1, X2))
            (U41#(X1, active(X2)) -> U41#(X1, X2), U41#(mark(X1), X2) -> U41#(X1, X2))}
           SCCS:
            Scc:
             {U41#(X1, active(X2)) -> U41#(X1, X2),
                U41#(mark(X1), X2) -> U41#(X1, X2)}
            SCC:
             Strict:
              {U41#(X1, active(X2)) -> U41#(X1, X2),
                 U41#(mark(X1), X2) -> U41#(X1, X2)}
             Weak:
             {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                               mark(isNat(X)) -> active(isNat(X)),
                        mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                   mark(tt()) -> active(tt()),
                                 mark(U13(X)) -> active(U13(mark(X))),
                                 mark(U22(X)) -> active(U22(mark(X))),
                            mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                            mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                        mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                 mark(U33(X)) -> active(U33(mark(X))),
                            mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                   mark(s(X)) -> active(s(mark(X))),
                           mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                        mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                    mark(0()) -> active(0()),
                                 mark(U61(X)) -> active(U61(mark(X))),
                              mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                        mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                            mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                           mark(isNatKind(X)) -> active(isNatKind(X)),
                            U12(X1, mark(X2)) -> U12(X1, X2),
                          U12(X1, active(X2)) -> U12(X1, X2),
                            U12(mark(X1), X2) -> U12(X1, X2),
                          U12(active(X1), X2) -> U12(X1, X2),
                               isNat(mark(X)) -> isNat(X),
                             isNat(active(X)) -> isNat(X),
                        active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                         active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                  active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                           active(isNat(0())) -> mark(tt()),
                     active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                            active(U13(tt())) -> mark(tt()),
                            active(U22(tt())) -> mark(tt()),
                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                            active(U33(tt())) -> mark(tt()),
                         active(U41(tt(), N)) -> mark(N),
                        active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                         active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                            active(U61(tt())) -> mark(0()),
                           active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                            active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                         active(and(tt(), X)) -> mark(X),
                     active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
              active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                       active(isNatKind(0())) -> mark(tt()),
                 active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                        U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                      U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                        U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                      U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                        U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                      U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                 U13(mark(X)) -> U13(X),
                               U13(active(X)) -> U13(X),
                                 U22(mark(X)) -> U22(X),
                               U22(active(X)) -> U22(X),
                            U21(X1, mark(X2)) -> U21(X1, X2),
                          U21(X1, active(X2)) -> U21(X1, X2),
                            U21(mark(X1), X2) -> U21(X1, X2),
                          U21(active(X1), X2) -> U21(X1, X2),
                            U32(X1, mark(X2)) -> U32(X1, X2),
                          U32(X1, active(X2)) -> U32(X1, X2),
                            U32(mark(X1), X2) -> U32(X1, X2),
                          U32(active(X1), X2) -> U32(X1, X2),
                        U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                      U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                        U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                      U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                        U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                      U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                 U33(mark(X)) -> U33(X),
                               U33(active(X)) -> U33(X),
                            U41(X1, mark(X2)) -> U41(X1, X2),
                          U41(X1, active(X2)) -> U41(X1, X2),
                            U41(mark(X1), X2) -> U41(X1, X2),
                          U41(active(X1), X2) -> U41(X1, X2),
                                   s(mark(X)) -> s(X),
                                 s(active(X)) -> s(X),
                           plus(X1, mark(X2)) -> plus(X1, X2),
                         plus(X1, active(X2)) -> plus(X1, X2),
                           plus(mark(X1), X2) -> plus(X1, X2),
                         plus(active(X1), X2) -> plus(X1, X2),
                        U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                      U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                        U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                      U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                        U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                      U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                 U61(mark(X)) -> U61(X),
                               U61(active(X)) -> U61(X),
                              x(X1, mark(X2)) -> x(X1, X2),
                            x(X1, active(X2)) -> x(X1, X2),
                              x(mark(X1), X2) -> x(X1, X2),
                            x(active(X1), X2) -> x(X1, X2),
                        U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                      U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                        U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                      U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                        U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                      U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                            and(X1, mark(X2)) -> and(X1, X2),
                          and(X1, active(X2)) -> and(X1, X2),
                            and(mark(X1), X2) -> and(X1, X2),
                          and(active(X1), X2) -> and(X1, X2),
                           isNatKind(mark(X)) -> isNatKind(X),
                         isNatKind(active(X)) -> isNatKind(X)}
             SPSC:
              Simple Projection:
               pi(U41#) = 0
              Strict:
               {U41#(X1, active(X2)) -> U41#(X1, X2)}
              EDG:
               {(U41#(X1, active(X2)) -> U41#(X1, X2), U41#(X1, active(X2)) -> U41#(X1, X2))}
               SCCS:
                Scc:
                 {U41#(X1, active(X2)) -> U41#(X1, X2)}
                SCC:
                 Strict:
                  {U41#(X1, active(X2)) -> U41#(X1, X2)}
                 Weak:
                 {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                                   mark(isNat(X)) -> active(isNat(X)),
                            mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                       mark(tt()) -> active(tt()),
                                     mark(U13(X)) -> active(U13(mark(X))),
                                     mark(U22(X)) -> active(U22(mark(X))),
                                mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                                mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                            mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                     mark(U33(X)) -> active(U33(mark(X))),
                                mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                       mark(s(X)) -> active(s(mark(X))),
                               mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                            mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                        mark(0()) -> active(0()),
                                     mark(U61(X)) -> active(U61(mark(X))),
                                  mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                            mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                                mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                               mark(isNatKind(X)) -> active(isNatKind(X)),
                                U12(X1, mark(X2)) -> U12(X1, X2),
                              U12(X1, active(X2)) -> U12(X1, X2),
                                U12(mark(X1), X2) -> U12(X1, X2),
                              U12(active(X1), X2) -> U12(X1, X2),
                                   isNat(mark(X)) -> isNat(X),
                                 isNat(active(X)) -> isNat(X),
                            active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                             active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                      active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                               active(isNat(0())) -> mark(tt()),
                         active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                active(U13(tt())) -> mark(tt()),
                                active(U22(tt())) -> mark(tt()),
                            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                active(U33(tt())) -> mark(tt()),
                             active(U41(tt(), N)) -> mark(N),
                            active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                             active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                active(U61(tt())) -> mark(0()),
                               active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                             active(and(tt(), X)) -> mark(X),
                         active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
                  active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                           active(isNatKind(0())) -> mark(tt()),
                     active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                            U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                          U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                            U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                          U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                            U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                          U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                     U13(mark(X)) -> U13(X),
                                   U13(active(X)) -> U13(X),
                                     U22(mark(X)) -> U22(X),
                                   U22(active(X)) -> U22(X),
                                U21(X1, mark(X2)) -> U21(X1, X2),
                              U21(X1, active(X2)) -> U21(X1, X2),
                                U21(mark(X1), X2) -> U21(X1, X2),
                              U21(active(X1), X2) -> U21(X1, X2),
                                U32(X1, mark(X2)) -> U32(X1, X2),
                              U32(X1, active(X2)) -> U32(X1, X2),
                                U32(mark(X1), X2) -> U32(X1, X2),
                              U32(active(X1), X2) -> U32(X1, X2),
                            U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                          U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                            U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                          U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                            U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                          U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                     U33(mark(X)) -> U33(X),
                                   U33(active(X)) -> U33(X),
                                U41(X1, mark(X2)) -> U41(X1, X2),
                              U41(X1, active(X2)) -> U41(X1, X2),
                                U41(mark(X1), X2) -> U41(X1, X2),
                              U41(active(X1), X2) -> U41(X1, X2),
                                       s(mark(X)) -> s(X),
                                     s(active(X)) -> s(X),
                               plus(X1, mark(X2)) -> plus(X1, X2),
                             plus(X1, active(X2)) -> plus(X1, X2),
                               plus(mark(X1), X2) -> plus(X1, X2),
                             plus(active(X1), X2) -> plus(X1, X2),
                            U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                          U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                            U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                          U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                            U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                          U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                     U61(mark(X)) -> U61(X),
                                   U61(active(X)) -> U61(X),
                                  x(X1, mark(X2)) -> x(X1, X2),
                                x(X1, active(X2)) -> x(X1, X2),
                                  x(mark(X1), X2) -> x(X1, X2),
                                x(active(X1), X2) -> x(X1, X2),
                            U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                          U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                            U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                          U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                            U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                          U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                                and(X1, mark(X2)) -> and(X1, X2),
                              and(X1, active(X2)) -> and(X1, X2),
                                and(mark(X1), X2) -> and(X1, X2),
                              and(active(X1), X2) -> and(X1, X2),
                               isNatKind(mark(X)) -> isNatKind(X),
                             isNatKind(active(X)) -> isNatKind(X)}
                 SPSC:
                  Simple Projection:
                   pi(U41#) = 1
                  Strict:
                   {}
                  Qed
    SCC:
     Strict:
      {  U33#(mark(X)) -> U33#(X),
       U33#(active(X)) -> U33#(X)}
     Weak:
     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                       mark(isNat(X)) -> active(isNat(X)),
                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                           mark(tt()) -> active(tt()),
                         mark(U13(X)) -> active(U13(mark(X))),
                         mark(U22(X)) -> active(U22(mark(X))),
                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                         mark(U33(X)) -> active(U33(mark(X))),
                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                           mark(s(X)) -> active(s(mark(X))),
                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                            mark(0()) -> active(0()),
                         mark(U61(X)) -> active(U61(mark(X))),
                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                   mark(isNatKind(X)) -> active(isNatKind(X)),
                    U12(X1, mark(X2)) -> U12(X1, X2),
                  U12(X1, active(X2)) -> U12(X1, X2),
                    U12(mark(X1), X2) -> U12(X1, X2),
                  U12(active(X1), X2) -> U12(X1, X2),
                       isNat(mark(X)) -> isNat(X),
                     isNat(active(X)) -> isNat(X),
                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                   active(isNat(0())) -> mark(tt()),
             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                    active(U13(tt())) -> mark(tt()),
                    active(U22(tt())) -> mark(tt()),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                    active(U33(tt())) -> mark(tt()),
                 active(U41(tt(), N)) -> mark(N),
                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                    active(U61(tt())) -> mark(0()),
                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                 active(and(tt(), X)) -> mark(X),
             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
               active(isNatKind(0())) -> mark(tt()),
         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                         U13(mark(X)) -> U13(X),
                       U13(active(X)) -> U13(X),
                         U22(mark(X)) -> U22(X),
                       U22(active(X)) -> U22(X),
                    U21(X1, mark(X2)) -> U21(X1, X2),
                  U21(X1, active(X2)) -> U21(X1, X2),
                    U21(mark(X1), X2) -> U21(X1, X2),
                  U21(active(X1), X2) -> U21(X1, X2),
                    U32(X1, mark(X2)) -> U32(X1, X2),
                  U32(X1, active(X2)) -> U32(X1, X2),
                    U32(mark(X1), X2) -> U32(X1, X2),
                  U32(active(X1), X2) -> U32(X1, X2),
                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                         U33(mark(X)) -> U33(X),
                       U33(active(X)) -> U33(X),
                    U41(X1, mark(X2)) -> U41(X1, X2),
                  U41(X1, active(X2)) -> U41(X1, X2),
                    U41(mark(X1), X2) -> U41(X1, X2),
                  U41(active(X1), X2) -> U41(X1, X2),
                           s(mark(X)) -> s(X),
                         s(active(X)) -> s(X),
                   plus(X1, mark(X2)) -> plus(X1, X2),
                 plus(X1, active(X2)) -> plus(X1, X2),
                   plus(mark(X1), X2) -> plus(X1, X2),
                 plus(active(X1), X2) -> plus(X1, X2),
                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                         U61(mark(X)) -> U61(X),
                       U61(active(X)) -> U61(X),
                      x(X1, mark(X2)) -> x(X1, X2),
                    x(X1, active(X2)) -> x(X1, X2),
                      x(mark(X1), X2) -> x(X1, X2),
                    x(active(X1), X2) -> x(X1, X2),
                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                    and(X1, mark(X2)) -> and(X1, X2),
                  and(X1, active(X2)) -> and(X1, X2),
                    and(mark(X1), X2) -> and(X1, X2),
                  and(active(X1), X2) -> and(X1, X2),
                   isNatKind(mark(X)) -> isNatKind(X),
                 isNatKind(active(X)) -> isNatKind(X)}
     SPSC:
      Simple Projection:
       pi(U33#) = 0
      Strict:
       {U33#(active(X)) -> U33#(X)}
      EDG:
       {(U33#(active(X)) -> U33#(X), U33#(active(X)) -> U33#(X))}
       SCCS:
        Scc:
         {U33#(active(X)) -> U33#(X)}
        SCC:
         Strict:
          {U33#(active(X)) -> U33#(X)}
         Weak:
         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                           mark(isNat(X)) -> active(isNat(X)),
                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                               mark(tt()) -> active(tt()),
                             mark(U13(X)) -> active(U13(mark(X))),
                             mark(U22(X)) -> active(U22(mark(X))),
                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                             mark(U33(X)) -> active(U33(mark(X))),
                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                               mark(s(X)) -> active(s(mark(X))),
                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                mark(0()) -> active(0()),
                             mark(U61(X)) -> active(U61(mark(X))),
                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                       mark(isNatKind(X)) -> active(isNatKind(X)),
                        U12(X1, mark(X2)) -> U12(X1, X2),
                      U12(X1, active(X2)) -> U12(X1, X2),
                        U12(mark(X1), X2) -> U12(X1, X2),
                      U12(active(X1), X2) -> U12(X1, X2),
                           isNat(mark(X)) -> isNat(X),
                         isNat(active(X)) -> isNat(X),
                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                       active(isNat(0())) -> mark(tt()),
                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                        active(U13(tt())) -> mark(tt()),
                        active(U22(tt())) -> mark(tt()),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                        active(U33(tt())) -> mark(tt()),
                     active(U41(tt(), N)) -> mark(N),
                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                        active(U61(tt())) -> mark(0()),
                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                     active(and(tt(), X)) -> mark(X),
                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                   active(isNatKind(0())) -> mark(tt()),
             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                             U13(mark(X)) -> U13(X),
                           U13(active(X)) -> U13(X),
                             U22(mark(X)) -> U22(X),
                           U22(active(X)) -> U22(X),
                        U21(X1, mark(X2)) -> U21(X1, X2),
                      U21(X1, active(X2)) -> U21(X1, X2),
                        U21(mark(X1), X2) -> U21(X1, X2),
                      U21(active(X1), X2) -> U21(X1, X2),
                        U32(X1, mark(X2)) -> U32(X1, X2),
                      U32(X1, active(X2)) -> U32(X1, X2),
                        U32(mark(X1), X2) -> U32(X1, X2),
                      U32(active(X1), X2) -> U32(X1, X2),
                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                             U33(mark(X)) -> U33(X),
                           U33(active(X)) -> U33(X),
                        U41(X1, mark(X2)) -> U41(X1, X2),
                      U41(X1, active(X2)) -> U41(X1, X2),
                        U41(mark(X1), X2) -> U41(X1, X2),
                      U41(active(X1), X2) -> U41(X1, X2),
                               s(mark(X)) -> s(X),
                             s(active(X)) -> s(X),
                       plus(X1, mark(X2)) -> plus(X1, X2),
                     plus(X1, active(X2)) -> plus(X1, X2),
                       plus(mark(X1), X2) -> plus(X1, X2),
                     plus(active(X1), X2) -> plus(X1, X2),
                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                             U61(mark(X)) -> U61(X),
                           U61(active(X)) -> U61(X),
                          x(X1, mark(X2)) -> x(X1, X2),
                        x(X1, active(X2)) -> x(X1, X2),
                          x(mark(X1), X2) -> x(X1, X2),
                        x(active(X1), X2) -> x(X1, X2),
                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                        and(X1, mark(X2)) -> and(X1, X2),
                      and(X1, active(X2)) -> and(X1, X2),
                        and(mark(X1), X2) -> and(X1, X2),
                      and(active(X1), X2) -> and(X1, X2),
                       isNatKind(mark(X)) -> isNatKind(X),
                     isNatKind(active(X)) -> isNatKind(X)}
         SPSC:
          Simple Projection:
           pi(U33#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {  U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3),
       U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3),
         U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3),
       U31#(X1, active(X2), X3) -> U31#(X1, X2, X3),
         U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3),
       U31#(active(X1), X2, X3) -> U31#(X1, X2, X3)}
     Weak:
     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                       mark(isNat(X)) -> active(isNat(X)),
                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                           mark(tt()) -> active(tt()),
                         mark(U13(X)) -> active(U13(mark(X))),
                         mark(U22(X)) -> active(U22(mark(X))),
                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                         mark(U33(X)) -> active(U33(mark(X))),
                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                           mark(s(X)) -> active(s(mark(X))),
                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                            mark(0()) -> active(0()),
                         mark(U61(X)) -> active(U61(mark(X))),
                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                   mark(isNatKind(X)) -> active(isNatKind(X)),
                    U12(X1, mark(X2)) -> U12(X1, X2),
                  U12(X1, active(X2)) -> U12(X1, X2),
                    U12(mark(X1), X2) -> U12(X1, X2),
                  U12(active(X1), X2) -> U12(X1, X2),
                       isNat(mark(X)) -> isNat(X),
                     isNat(active(X)) -> isNat(X),
                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                   active(isNat(0())) -> mark(tt()),
             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                    active(U13(tt())) -> mark(tt()),
                    active(U22(tt())) -> mark(tt()),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                    active(U33(tt())) -> mark(tt()),
                 active(U41(tt(), N)) -> mark(N),
                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                    active(U61(tt())) -> mark(0()),
                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                 active(and(tt(), X)) -> mark(X),
             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
               active(isNatKind(0())) -> mark(tt()),
         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                         U13(mark(X)) -> U13(X),
                       U13(active(X)) -> U13(X),
                         U22(mark(X)) -> U22(X),
                       U22(active(X)) -> U22(X),
                    U21(X1, mark(X2)) -> U21(X1, X2),
                  U21(X1, active(X2)) -> U21(X1, X2),
                    U21(mark(X1), X2) -> U21(X1, X2),
                  U21(active(X1), X2) -> U21(X1, X2),
                    U32(X1, mark(X2)) -> U32(X1, X2),
                  U32(X1, active(X2)) -> U32(X1, X2),
                    U32(mark(X1), X2) -> U32(X1, X2),
                  U32(active(X1), X2) -> U32(X1, X2),
                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                         U33(mark(X)) -> U33(X),
                       U33(active(X)) -> U33(X),
                    U41(X1, mark(X2)) -> U41(X1, X2),
                  U41(X1, active(X2)) -> U41(X1, X2),
                    U41(mark(X1), X2) -> U41(X1, X2),
                  U41(active(X1), X2) -> U41(X1, X2),
                           s(mark(X)) -> s(X),
                         s(active(X)) -> s(X),
                   plus(X1, mark(X2)) -> plus(X1, X2),
                 plus(X1, active(X2)) -> plus(X1, X2),
                   plus(mark(X1), X2) -> plus(X1, X2),
                 plus(active(X1), X2) -> plus(X1, X2),
                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                         U61(mark(X)) -> U61(X),
                       U61(active(X)) -> U61(X),
                      x(X1, mark(X2)) -> x(X1, X2),
                    x(X1, active(X2)) -> x(X1, X2),
                      x(mark(X1), X2) -> x(X1, X2),
                    x(active(X1), X2) -> x(X1, X2),
                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                    and(X1, mark(X2)) -> and(X1, X2),
                  and(X1, active(X2)) -> and(X1, X2),
                    and(mark(X1), X2) -> and(X1, X2),
                  and(active(X1), X2) -> and(X1, X2),
                   isNatKind(mark(X)) -> isNatKind(X),
                 isNatKind(active(X)) -> isNatKind(X)}
     SPSC:
      Simple Projection:
       pi(U31#) = 0
      Strict:
       {  U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3),
        U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3),
          U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3),
        U31#(X1, active(X2), X3) -> U31#(X1, X2, X3),
          U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3)}
      EDG:
       {(U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))
        (U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))
        (U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
        (U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3), U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3))
        (U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3), U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3))
        (U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))
        (U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))
        (U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
        (U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3))
        (U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3))
        (U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3), U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3))
        (U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3), U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3))
        (U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
        (U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))
        (U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))
        (U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3), U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3))
        (U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3), U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3))
        (U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
        (U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))
        (U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))
        (U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3), U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3))
        (U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3), U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3))
        (U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
        (U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))
        (U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))}
       SCCS:
        Scc:
         {  U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3),
          U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3),
            U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3),
          U31#(X1, active(X2), X3) -> U31#(X1, X2, X3),
            U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3)}
        SCC:
         Strict:
          {  U31#(X1, X2, mark(X3)) -> U31#(X1, X2, X3),
           U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3),
             U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3),
           U31#(X1, active(X2), X3) -> U31#(X1, X2, X3),
             U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3)}
         Weak:
         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                           mark(isNat(X)) -> active(isNat(X)),
                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                               mark(tt()) -> active(tt()),
                             mark(U13(X)) -> active(U13(mark(X))),
                             mark(U22(X)) -> active(U22(mark(X))),
                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                             mark(U33(X)) -> active(U33(mark(X))),
                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                               mark(s(X)) -> active(s(mark(X))),
                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                mark(0()) -> active(0()),
                             mark(U61(X)) -> active(U61(mark(X))),
                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                       mark(isNatKind(X)) -> active(isNatKind(X)),
                        U12(X1, mark(X2)) -> U12(X1, X2),
                      U12(X1, active(X2)) -> U12(X1, X2),
                        U12(mark(X1), X2) -> U12(X1, X2),
                      U12(active(X1), X2) -> U12(X1, X2),
                           isNat(mark(X)) -> isNat(X),
                         isNat(active(X)) -> isNat(X),
                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                       active(isNat(0())) -> mark(tt()),
                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                        active(U13(tt())) -> mark(tt()),
                        active(U22(tt())) -> mark(tt()),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                        active(U33(tt())) -> mark(tt()),
                     active(U41(tt(), N)) -> mark(N),
                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                        active(U61(tt())) -> mark(0()),
                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                     active(and(tt(), X)) -> mark(X),
                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                   active(isNatKind(0())) -> mark(tt()),
             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                             U13(mark(X)) -> U13(X),
                           U13(active(X)) -> U13(X),
                             U22(mark(X)) -> U22(X),
                           U22(active(X)) -> U22(X),
                        U21(X1, mark(X2)) -> U21(X1, X2),
                      U21(X1, active(X2)) -> U21(X1, X2),
                        U21(mark(X1), X2) -> U21(X1, X2),
                      U21(active(X1), X2) -> U21(X1, X2),
                        U32(X1, mark(X2)) -> U32(X1, X2),
                      U32(X1, active(X2)) -> U32(X1, X2),
                        U32(mark(X1), X2) -> U32(X1, X2),
                      U32(active(X1), X2) -> U32(X1, X2),
                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                             U33(mark(X)) -> U33(X),
                           U33(active(X)) -> U33(X),
                        U41(X1, mark(X2)) -> U41(X1, X2),
                      U41(X1, active(X2)) -> U41(X1, X2),
                        U41(mark(X1), X2) -> U41(X1, X2),
                      U41(active(X1), X2) -> U41(X1, X2),
                               s(mark(X)) -> s(X),
                             s(active(X)) -> s(X),
                       plus(X1, mark(X2)) -> plus(X1, X2),
                     plus(X1, active(X2)) -> plus(X1, X2),
                       plus(mark(X1), X2) -> plus(X1, X2),
                     plus(active(X1), X2) -> plus(X1, X2),
                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                             U61(mark(X)) -> U61(X),
                           U61(active(X)) -> U61(X),
                          x(X1, mark(X2)) -> x(X1, X2),
                        x(X1, active(X2)) -> x(X1, X2),
                          x(mark(X1), X2) -> x(X1, X2),
                        x(active(X1), X2) -> x(X1, X2),
                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                        and(X1, mark(X2)) -> and(X1, X2),
                      and(X1, active(X2)) -> and(X1, X2),
                        and(mark(X1), X2) -> and(X1, X2),
                      and(active(X1), X2) -> and(X1, X2),
                       isNatKind(mark(X)) -> isNatKind(X),
                     isNatKind(active(X)) -> isNatKind(X)}
         SPSC:
          Simple Projection:
           pi(U31#) = 2
          Strict:
           {U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3),
              U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3),
            U31#(X1, active(X2), X3) -> U31#(X1, X2, X3),
              U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3)}
          EDG:
           {(U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))
            (U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))
            (U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
            (U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3), U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3))
            (U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))
            (U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))
            (U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
            (U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3), U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3))
            (U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3))
            (U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
            (U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))
            (U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))
            (U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3), U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3))
            (U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
            (U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))
            (U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3), U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3))}
           SCCS:
            Scc:
             {U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3),
                U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3),
              U31#(X1, active(X2), X3) -> U31#(X1, X2, X3),
                U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3)}
            SCC:
             Strict:
              {U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3),
                 U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3),
               U31#(X1, active(X2), X3) -> U31#(X1, X2, X3),
                 U31#(mark(X1), X2, X3) -> U31#(X1, X2, X3)}
             Weak:
             {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                               mark(isNat(X)) -> active(isNat(X)),
                        mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                   mark(tt()) -> active(tt()),
                                 mark(U13(X)) -> active(U13(mark(X))),
                                 mark(U22(X)) -> active(U22(mark(X))),
                            mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                            mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                        mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                 mark(U33(X)) -> active(U33(mark(X))),
                            mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                   mark(s(X)) -> active(s(mark(X))),
                           mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                        mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                    mark(0()) -> active(0()),
                                 mark(U61(X)) -> active(U61(mark(X))),
                              mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                        mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                            mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                           mark(isNatKind(X)) -> active(isNatKind(X)),
                            U12(X1, mark(X2)) -> U12(X1, X2),
                          U12(X1, active(X2)) -> U12(X1, X2),
                            U12(mark(X1), X2) -> U12(X1, X2),
                          U12(active(X1), X2) -> U12(X1, X2),
                               isNat(mark(X)) -> isNat(X),
                             isNat(active(X)) -> isNat(X),
                        active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                         active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                  active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                           active(isNat(0())) -> mark(tt()),
                     active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                            active(U13(tt())) -> mark(tt()),
                            active(U22(tt())) -> mark(tt()),
                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                            active(U33(tt())) -> mark(tt()),
                         active(U41(tt(), N)) -> mark(N),
                        active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                         active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                            active(U61(tt())) -> mark(0()),
                           active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                            active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                         active(and(tt(), X)) -> mark(X),
                     active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
              active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                       active(isNatKind(0())) -> mark(tt()),
                 active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                        U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                      U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                        U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                      U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                        U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                      U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                 U13(mark(X)) -> U13(X),
                               U13(active(X)) -> U13(X),
                                 U22(mark(X)) -> U22(X),
                               U22(active(X)) -> U22(X),
                            U21(X1, mark(X2)) -> U21(X1, X2),
                          U21(X1, active(X2)) -> U21(X1, X2),
                            U21(mark(X1), X2) -> U21(X1, X2),
                          U21(active(X1), X2) -> U21(X1, X2),
                            U32(X1, mark(X2)) -> U32(X1, X2),
                          U32(X1, active(X2)) -> U32(X1, X2),
                            U32(mark(X1), X2) -> U32(X1, X2),
                          U32(active(X1), X2) -> U32(X1, X2),
                        U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                      U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                        U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                      U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                        U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                      U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                 U33(mark(X)) -> U33(X),
                               U33(active(X)) -> U33(X),
                            U41(X1, mark(X2)) -> U41(X1, X2),
                          U41(X1, active(X2)) -> U41(X1, X2),
                            U41(mark(X1), X2) -> U41(X1, X2),
                          U41(active(X1), X2) -> U41(X1, X2),
                                   s(mark(X)) -> s(X),
                                 s(active(X)) -> s(X),
                           plus(X1, mark(X2)) -> plus(X1, X2),
                         plus(X1, active(X2)) -> plus(X1, X2),
                           plus(mark(X1), X2) -> plus(X1, X2),
                         plus(active(X1), X2) -> plus(X1, X2),
                        U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                      U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                        U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                      U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                        U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                      U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                 U61(mark(X)) -> U61(X),
                               U61(active(X)) -> U61(X),
                              x(X1, mark(X2)) -> x(X1, X2),
                            x(X1, active(X2)) -> x(X1, X2),
                              x(mark(X1), X2) -> x(X1, X2),
                            x(active(X1), X2) -> x(X1, X2),
                        U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                      U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                        U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                      U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                        U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                      U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                            and(X1, mark(X2)) -> and(X1, X2),
                          and(X1, active(X2)) -> and(X1, X2),
                            and(mark(X1), X2) -> and(X1, X2),
                          and(active(X1), X2) -> and(X1, X2),
                           isNatKind(mark(X)) -> isNatKind(X),
                         isNatKind(active(X)) -> isNatKind(X)}
             SPSC:
              Simple Projection:
               pi(U31#) = 0
              Strict:
               {U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3),
                  U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3),
                U31#(X1, active(X2), X3) -> U31#(X1, X2, X3)}
              EDG:
               {(U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))
                (U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
                (U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3), U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3))
                (U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3))
                (U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
                (U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))
                (U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3), U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3))
                (U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
                (U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))}
               SCCS:
                Scc:
                 {U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3),
                    U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3),
                  U31#(X1, active(X2), X3) -> U31#(X1, X2, X3)}
                SCC:
                 Strict:
                  {U31#(X1, X2, active(X3)) -> U31#(X1, X2, X3),
                     U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3),
                   U31#(X1, active(X2), X3) -> U31#(X1, X2, X3)}
                 Weak:
                 {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                                   mark(isNat(X)) -> active(isNat(X)),
                            mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                       mark(tt()) -> active(tt()),
                                     mark(U13(X)) -> active(U13(mark(X))),
                                     mark(U22(X)) -> active(U22(mark(X))),
                                mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                                mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                            mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                     mark(U33(X)) -> active(U33(mark(X))),
                                mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                       mark(s(X)) -> active(s(mark(X))),
                               mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                            mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                        mark(0()) -> active(0()),
                                     mark(U61(X)) -> active(U61(mark(X))),
                                  mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                            mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                                mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                               mark(isNatKind(X)) -> active(isNatKind(X)),
                                U12(X1, mark(X2)) -> U12(X1, X2),
                              U12(X1, active(X2)) -> U12(X1, X2),
                                U12(mark(X1), X2) -> U12(X1, X2),
                              U12(active(X1), X2) -> U12(X1, X2),
                                   isNat(mark(X)) -> isNat(X),
                                 isNat(active(X)) -> isNat(X),
                            active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                             active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                      active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                               active(isNat(0())) -> mark(tt()),
                         active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                active(U13(tt())) -> mark(tt()),
                                active(U22(tt())) -> mark(tt()),
                            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                active(U33(tt())) -> mark(tt()),
                             active(U41(tt(), N)) -> mark(N),
                            active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                             active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                active(U61(tt())) -> mark(0()),
                               active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                             active(and(tt(), X)) -> mark(X),
                         active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
                  active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                           active(isNatKind(0())) -> mark(tt()),
                     active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                            U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                          U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                            U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                          U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                            U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                          U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                     U13(mark(X)) -> U13(X),
                                   U13(active(X)) -> U13(X),
                                     U22(mark(X)) -> U22(X),
                                   U22(active(X)) -> U22(X),
                                U21(X1, mark(X2)) -> U21(X1, X2),
                              U21(X1, active(X2)) -> U21(X1, X2),
                                U21(mark(X1), X2) -> U21(X1, X2),
                              U21(active(X1), X2) -> U21(X1, X2),
                                U32(X1, mark(X2)) -> U32(X1, X2),
                              U32(X1, active(X2)) -> U32(X1, X2),
                                U32(mark(X1), X2) -> U32(X1, X2),
                              U32(active(X1), X2) -> U32(X1, X2),
                            U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                          U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                            U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                          U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                            U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                          U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                     U33(mark(X)) -> U33(X),
                                   U33(active(X)) -> U33(X),
                                U41(X1, mark(X2)) -> U41(X1, X2),
                              U41(X1, active(X2)) -> U41(X1, X2),
                                U41(mark(X1), X2) -> U41(X1, X2),
                              U41(active(X1), X2) -> U41(X1, X2),
                                       s(mark(X)) -> s(X),
                                     s(active(X)) -> s(X),
                               plus(X1, mark(X2)) -> plus(X1, X2),
                             plus(X1, active(X2)) -> plus(X1, X2),
                               plus(mark(X1), X2) -> plus(X1, X2),
                             plus(active(X1), X2) -> plus(X1, X2),
                            U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                          U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                            U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                          U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                            U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                          U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                     U61(mark(X)) -> U61(X),
                                   U61(active(X)) -> U61(X),
                                  x(X1, mark(X2)) -> x(X1, X2),
                                x(X1, active(X2)) -> x(X1, X2),
                                  x(mark(X1), X2) -> x(X1, X2),
                                x(active(X1), X2) -> x(X1, X2),
                            U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                          U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                            U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                          U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                            U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                          U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                                and(X1, mark(X2)) -> and(X1, X2),
                              and(X1, active(X2)) -> and(X1, X2),
                                and(mark(X1), X2) -> and(X1, X2),
                              and(active(X1), X2) -> and(X1, X2),
                               isNatKind(mark(X)) -> isNatKind(X),
                             isNatKind(active(X)) -> isNatKind(X)}
                 SPSC:
                  Simple Projection:
                   pi(U31#) = 2
                  Strict:
                   {  U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3),
                    U31#(X1, active(X2), X3) -> U31#(X1, X2, X3)}
                  EDG:
                   {(U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))
                    (U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
                    (U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3), U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3))
                    (U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))}
                   SCCS:
                    Scc:
                     {  U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3),
                      U31#(X1, active(X2), X3) -> U31#(X1, X2, X3)}
                    SCC:
                     Strict:
                      {  U31#(X1, mark(X2), X3) -> U31#(X1, X2, X3),
                       U31#(X1, active(X2), X3) -> U31#(X1, X2, X3)}
                     Weak:
                     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                                       mark(isNat(X)) -> active(isNat(X)),
                                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                           mark(tt()) -> active(tt()),
                                         mark(U13(X)) -> active(U13(mark(X))),
                                         mark(U22(X)) -> active(U22(mark(X))),
                                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                         mark(U33(X)) -> active(U33(mark(X))),
                                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                           mark(s(X)) -> active(s(mark(X))),
                                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                            mark(0()) -> active(0()),
                                         mark(U61(X)) -> active(U61(mark(X))),
                                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                                   mark(isNatKind(X)) -> active(isNatKind(X)),
                                    U12(X1, mark(X2)) -> U12(X1, X2),
                                  U12(X1, active(X2)) -> U12(X1, X2),
                                    U12(mark(X1), X2) -> U12(X1, X2),
                                  U12(active(X1), X2) -> U12(X1, X2),
                                       isNat(mark(X)) -> isNat(X),
                                     isNat(active(X)) -> isNat(X),
                                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                                   active(isNat(0())) -> mark(tt()),
                             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                    active(U13(tt())) -> mark(tt()),
                                    active(U22(tt())) -> mark(tt()),
                                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                    active(U33(tt())) -> mark(tt()),
                                 active(U41(tt(), N)) -> mark(N),
                                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                    active(U61(tt())) -> mark(0()),
                                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                 active(and(tt(), X)) -> mark(X),
                             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
                      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                               active(isNatKind(0())) -> mark(tt()),
                         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                         U13(mark(X)) -> U13(X),
                                       U13(active(X)) -> U13(X),
                                         U22(mark(X)) -> U22(X),
                                       U22(active(X)) -> U22(X),
                                    U21(X1, mark(X2)) -> U21(X1, X2),
                                  U21(X1, active(X2)) -> U21(X1, X2),
                                    U21(mark(X1), X2) -> U21(X1, X2),
                                  U21(active(X1), X2) -> U21(X1, X2),
                                    U32(X1, mark(X2)) -> U32(X1, X2),
                                  U32(X1, active(X2)) -> U32(X1, X2),
                                    U32(mark(X1), X2) -> U32(X1, X2),
                                  U32(active(X1), X2) -> U32(X1, X2),
                                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                         U33(mark(X)) -> U33(X),
                                       U33(active(X)) -> U33(X),
                                    U41(X1, mark(X2)) -> U41(X1, X2),
                                  U41(X1, active(X2)) -> U41(X1, X2),
                                    U41(mark(X1), X2) -> U41(X1, X2),
                                  U41(active(X1), X2) -> U41(X1, X2),
                                           s(mark(X)) -> s(X),
                                         s(active(X)) -> s(X),
                                   plus(X1, mark(X2)) -> plus(X1, X2),
                                 plus(X1, active(X2)) -> plus(X1, X2),
                                   plus(mark(X1), X2) -> plus(X1, X2),
                                 plus(active(X1), X2) -> plus(X1, X2),
                                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                         U61(mark(X)) -> U61(X),
                                       U61(active(X)) -> U61(X),
                                      x(X1, mark(X2)) -> x(X1, X2),
                                    x(X1, active(X2)) -> x(X1, X2),
                                      x(mark(X1), X2) -> x(X1, X2),
                                    x(active(X1), X2) -> x(X1, X2),
                                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                                    and(X1, mark(X2)) -> and(X1, X2),
                                  and(X1, active(X2)) -> and(X1, X2),
                                    and(mark(X1), X2) -> and(X1, X2),
                                  and(active(X1), X2) -> and(X1, X2),
                                   isNatKind(mark(X)) -> isNatKind(X),
                                 isNatKind(active(X)) -> isNatKind(X)}
                     SPSC:
                      Simple Projection:
                       pi(U31#) = 1
                      Strict:
                       {U31#(X1, active(X2), X3) -> U31#(X1, X2, X3)}
                      EDG:
                       {(U31#(X1, active(X2), X3) -> U31#(X1, X2, X3), U31#(X1, active(X2), X3) -> U31#(X1, X2, X3))}
                       SCCS:
                        Scc:
                         {U31#(X1, active(X2), X3) -> U31#(X1, X2, X3)}
                        SCC:
                         Strict:
                          {U31#(X1, active(X2), X3) -> U31#(X1, X2, X3)}
                         Weak:
                         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                                           mark(isNat(X)) -> active(isNat(X)),
                                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                               mark(tt()) -> active(tt()),
                                             mark(U13(X)) -> active(U13(mark(X))),
                                             mark(U22(X)) -> active(U22(mark(X))),
                                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                             mark(U33(X)) -> active(U33(mark(X))),
                                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                               mark(s(X)) -> active(s(mark(X))),
                                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                                mark(0()) -> active(0()),
                                             mark(U61(X)) -> active(U61(mark(X))),
                                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                                       mark(isNatKind(X)) -> active(isNatKind(X)),
                                        U12(X1, mark(X2)) -> U12(X1, X2),
                                      U12(X1, active(X2)) -> U12(X1, X2),
                                        U12(mark(X1), X2) -> U12(X1, X2),
                                      U12(active(X1), X2) -> U12(X1, X2),
                                           isNat(mark(X)) -> isNat(X),
                                         isNat(active(X)) -> isNat(X),
                                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                                       active(isNat(0())) -> mark(tt()),
                                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                        active(U13(tt())) -> mark(tt()),
                                        active(U22(tt())) -> mark(tt()),
                                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                        active(U33(tt())) -> mark(tt()),
                                     active(U41(tt(), N)) -> mark(N),
                                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                        active(U61(tt())) -> mark(0()),
                                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                     active(and(tt(), X)) -> mark(X),
                                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
                          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                                   active(isNatKind(0())) -> mark(tt()),
                             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                             U13(mark(X)) -> U13(X),
                                           U13(active(X)) -> U13(X),
                                             U22(mark(X)) -> U22(X),
                                           U22(active(X)) -> U22(X),
                                        U21(X1, mark(X2)) -> U21(X1, X2),
                                      U21(X1, active(X2)) -> U21(X1, X2),
                                        U21(mark(X1), X2) -> U21(X1, X2),
                                      U21(active(X1), X2) -> U21(X1, X2),
                                        U32(X1, mark(X2)) -> U32(X1, X2),
                                      U32(X1, active(X2)) -> U32(X1, X2),
                                        U32(mark(X1), X2) -> U32(X1, X2),
                                      U32(active(X1), X2) -> U32(X1, X2),
                                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                             U33(mark(X)) -> U33(X),
                                           U33(active(X)) -> U33(X),
                                        U41(X1, mark(X2)) -> U41(X1, X2),
                                      U41(X1, active(X2)) -> U41(X1, X2),
                                        U41(mark(X1), X2) -> U41(X1, X2),
                                      U41(active(X1), X2) -> U41(X1, X2),
                                               s(mark(X)) -> s(X),
                                             s(active(X)) -> s(X),
                                       plus(X1, mark(X2)) -> plus(X1, X2),
                                     plus(X1, active(X2)) -> plus(X1, X2),
                                       plus(mark(X1), X2) -> plus(X1, X2),
                                     plus(active(X1), X2) -> plus(X1, X2),
                                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                             U61(mark(X)) -> U61(X),
                                           U61(active(X)) -> U61(X),
                                          x(X1, mark(X2)) -> x(X1, X2),
                                        x(X1, active(X2)) -> x(X1, X2),
                                          x(mark(X1), X2) -> x(X1, X2),
                                        x(active(X1), X2) -> x(X1, X2),
                                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                                        and(X1, mark(X2)) -> and(X1, X2),
                                      and(X1, active(X2)) -> and(X1, X2),
                                        and(mark(X1), X2) -> and(X1, X2),
                                      and(active(X1), X2) -> and(X1, X2),
                                       isNatKind(mark(X)) -> isNatKind(X),
                                     isNatKind(active(X)) -> isNatKind(X)}
                         SPSC:
                          Simple Projection:
                           pi(U31#) = 1
                          Strict:
                           {}
                          Qed
    SCC:
     Strict:
      {  U32#(X1, mark(X2)) -> U32#(X1, X2),
       U32#(X1, active(X2)) -> U32#(X1, X2),
         U32#(mark(X1), X2) -> U32#(X1, X2),
       U32#(active(X1), X2) -> U32#(X1, X2)}
     Weak:
     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                       mark(isNat(X)) -> active(isNat(X)),
                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                           mark(tt()) -> active(tt()),
                         mark(U13(X)) -> active(U13(mark(X))),
                         mark(U22(X)) -> active(U22(mark(X))),
                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                         mark(U33(X)) -> active(U33(mark(X))),
                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                           mark(s(X)) -> active(s(mark(X))),
                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                            mark(0()) -> active(0()),
                         mark(U61(X)) -> active(U61(mark(X))),
                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                   mark(isNatKind(X)) -> active(isNatKind(X)),
                    U12(X1, mark(X2)) -> U12(X1, X2),
                  U12(X1, active(X2)) -> U12(X1, X2),
                    U12(mark(X1), X2) -> U12(X1, X2),
                  U12(active(X1), X2) -> U12(X1, X2),
                       isNat(mark(X)) -> isNat(X),
                     isNat(active(X)) -> isNat(X),
                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                   active(isNat(0())) -> mark(tt()),
             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                    active(U13(tt())) -> mark(tt()),
                    active(U22(tt())) -> mark(tt()),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                    active(U33(tt())) -> mark(tt()),
                 active(U41(tt(), N)) -> mark(N),
                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                    active(U61(tt())) -> mark(0()),
                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                 active(and(tt(), X)) -> mark(X),
             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
               active(isNatKind(0())) -> mark(tt()),
         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                         U13(mark(X)) -> U13(X),
                       U13(active(X)) -> U13(X),
                         U22(mark(X)) -> U22(X),
                       U22(active(X)) -> U22(X),
                    U21(X1, mark(X2)) -> U21(X1, X2),
                  U21(X1, active(X2)) -> U21(X1, X2),
                    U21(mark(X1), X2) -> U21(X1, X2),
                  U21(active(X1), X2) -> U21(X1, X2),
                    U32(X1, mark(X2)) -> U32(X1, X2),
                  U32(X1, active(X2)) -> U32(X1, X2),
                    U32(mark(X1), X2) -> U32(X1, X2),
                  U32(active(X1), X2) -> U32(X1, X2),
                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                         U33(mark(X)) -> U33(X),
                       U33(active(X)) -> U33(X),
                    U41(X1, mark(X2)) -> U41(X1, X2),
                  U41(X1, active(X2)) -> U41(X1, X2),
                    U41(mark(X1), X2) -> U41(X1, X2),
                  U41(active(X1), X2) -> U41(X1, X2),
                           s(mark(X)) -> s(X),
                         s(active(X)) -> s(X),
                   plus(X1, mark(X2)) -> plus(X1, X2),
                 plus(X1, active(X2)) -> plus(X1, X2),
                   plus(mark(X1), X2) -> plus(X1, X2),
                 plus(active(X1), X2) -> plus(X1, X2),
                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                         U61(mark(X)) -> U61(X),
                       U61(active(X)) -> U61(X),
                      x(X1, mark(X2)) -> x(X1, X2),
                    x(X1, active(X2)) -> x(X1, X2),
                      x(mark(X1), X2) -> x(X1, X2),
                    x(active(X1), X2) -> x(X1, X2),
                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                    and(X1, mark(X2)) -> and(X1, X2),
                  and(X1, active(X2)) -> and(X1, X2),
                    and(mark(X1), X2) -> and(X1, X2),
                  and(active(X1), X2) -> and(X1, X2),
                   isNatKind(mark(X)) -> isNatKind(X),
                 isNatKind(active(X)) -> isNatKind(X)}
     SPSC:
      Simple Projection:
       pi(U32#) = 0
      Strict:
       {  U32#(X1, mark(X2)) -> U32#(X1, X2),
        U32#(X1, active(X2)) -> U32#(X1, X2),
        U32#(active(X1), X2) -> U32#(X1, X2)}
      EDG:
       {(U32#(X1, active(X2)) -> U32#(X1, X2), U32#(active(X1), X2) -> U32#(X1, X2))
        (U32#(X1, active(X2)) -> U32#(X1, X2), U32#(X1, active(X2)) -> U32#(X1, X2))
        (U32#(X1, active(X2)) -> U32#(X1, X2), U32#(X1, mark(X2)) -> U32#(X1, X2))
        (U32#(active(X1), X2) -> U32#(X1, X2), U32#(X1, mark(X2)) -> U32#(X1, X2))
        (U32#(active(X1), X2) -> U32#(X1, X2), U32#(X1, active(X2)) -> U32#(X1, X2))
        (U32#(active(X1), X2) -> U32#(X1, X2), U32#(active(X1), X2) -> U32#(X1, X2))
        (U32#(X1, mark(X2)) -> U32#(X1, X2), U32#(X1, mark(X2)) -> U32#(X1, X2))
        (U32#(X1, mark(X2)) -> U32#(X1, X2), U32#(X1, active(X2)) -> U32#(X1, X2))
        (U32#(X1, mark(X2)) -> U32#(X1, X2), U32#(active(X1), X2) -> U32#(X1, X2))}
       SCCS:
        Scc:
         {  U32#(X1, mark(X2)) -> U32#(X1, X2),
          U32#(X1, active(X2)) -> U32#(X1, X2),
          U32#(active(X1), X2) -> U32#(X1, X2)}
        SCC:
         Strict:
          {  U32#(X1, mark(X2)) -> U32#(X1, X2),
           U32#(X1, active(X2)) -> U32#(X1, X2),
           U32#(active(X1), X2) -> U32#(X1, X2)}
         Weak:
         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                           mark(isNat(X)) -> active(isNat(X)),
                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                               mark(tt()) -> active(tt()),
                             mark(U13(X)) -> active(U13(mark(X))),
                             mark(U22(X)) -> active(U22(mark(X))),
                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                             mark(U33(X)) -> active(U33(mark(X))),
                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                               mark(s(X)) -> active(s(mark(X))),
                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                mark(0()) -> active(0()),
                             mark(U61(X)) -> active(U61(mark(X))),
                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                       mark(isNatKind(X)) -> active(isNatKind(X)),
                        U12(X1, mark(X2)) -> U12(X1, X2),
                      U12(X1, active(X2)) -> U12(X1, X2),
                        U12(mark(X1), X2) -> U12(X1, X2),
                      U12(active(X1), X2) -> U12(X1, X2),
                           isNat(mark(X)) -> isNat(X),
                         isNat(active(X)) -> isNat(X),
                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                       active(isNat(0())) -> mark(tt()),
                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                        active(U13(tt())) -> mark(tt()),
                        active(U22(tt())) -> mark(tt()),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                        active(U33(tt())) -> mark(tt()),
                     active(U41(tt(), N)) -> mark(N),
                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                        active(U61(tt())) -> mark(0()),
                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                     active(and(tt(), X)) -> mark(X),
                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                   active(isNatKind(0())) -> mark(tt()),
             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                             U13(mark(X)) -> U13(X),
                           U13(active(X)) -> U13(X),
                             U22(mark(X)) -> U22(X),
                           U22(active(X)) -> U22(X),
                        U21(X1, mark(X2)) -> U21(X1, X2),
                      U21(X1, active(X2)) -> U21(X1, X2),
                        U21(mark(X1), X2) -> U21(X1, X2),
                      U21(active(X1), X2) -> U21(X1, X2),
                        U32(X1, mark(X2)) -> U32(X1, X2),
                      U32(X1, active(X2)) -> U32(X1, X2),
                        U32(mark(X1), X2) -> U32(X1, X2),
                      U32(active(X1), X2) -> U32(X1, X2),
                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                             U33(mark(X)) -> U33(X),
                           U33(active(X)) -> U33(X),
                        U41(X1, mark(X2)) -> U41(X1, X2),
                      U41(X1, active(X2)) -> U41(X1, X2),
                        U41(mark(X1), X2) -> U41(X1, X2),
                      U41(active(X1), X2) -> U41(X1, X2),
                               s(mark(X)) -> s(X),
                             s(active(X)) -> s(X),
                       plus(X1, mark(X2)) -> plus(X1, X2),
                     plus(X1, active(X2)) -> plus(X1, X2),
                       plus(mark(X1), X2) -> plus(X1, X2),
                     plus(active(X1), X2) -> plus(X1, X2),
                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                             U61(mark(X)) -> U61(X),
                           U61(active(X)) -> U61(X),
                          x(X1, mark(X2)) -> x(X1, X2),
                        x(X1, active(X2)) -> x(X1, X2),
                          x(mark(X1), X2) -> x(X1, X2),
                        x(active(X1), X2) -> x(X1, X2),
                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                        and(X1, mark(X2)) -> and(X1, X2),
                      and(X1, active(X2)) -> and(X1, X2),
                        and(mark(X1), X2) -> and(X1, X2),
                      and(active(X1), X2) -> and(X1, X2),
                       isNatKind(mark(X)) -> isNatKind(X),
                     isNatKind(active(X)) -> isNatKind(X)}
         SPSC:
          Simple Projection:
           pi(U32#) = 0
          Strict:
           {  U32#(X1, mark(X2)) -> U32#(X1, X2),
            U32#(X1, active(X2)) -> U32#(X1, X2)}
          EDG:
           {(U32#(X1, active(X2)) -> U32#(X1, X2), U32#(X1, active(X2)) -> U32#(X1, X2))
            (U32#(X1, active(X2)) -> U32#(X1, X2), U32#(X1, mark(X2)) -> U32#(X1, X2))
            (U32#(X1, mark(X2)) -> U32#(X1, X2), U32#(X1, mark(X2)) -> U32#(X1, X2))
            (U32#(X1, mark(X2)) -> U32#(X1, X2), U32#(X1, active(X2)) -> U32#(X1, X2))}
           SCCS:
            Scc:
             {  U32#(X1, mark(X2)) -> U32#(X1, X2),
              U32#(X1, active(X2)) -> U32#(X1, X2)}
            SCC:
             Strict:
              {  U32#(X1, mark(X2)) -> U32#(X1, X2),
               U32#(X1, active(X2)) -> U32#(X1, X2)}
             Weak:
             {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                               mark(isNat(X)) -> active(isNat(X)),
                        mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                   mark(tt()) -> active(tt()),
                                 mark(U13(X)) -> active(U13(mark(X))),
                                 mark(U22(X)) -> active(U22(mark(X))),
                            mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                            mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                        mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                 mark(U33(X)) -> active(U33(mark(X))),
                            mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                   mark(s(X)) -> active(s(mark(X))),
                           mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                        mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                    mark(0()) -> active(0()),
                                 mark(U61(X)) -> active(U61(mark(X))),
                              mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                        mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                            mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                           mark(isNatKind(X)) -> active(isNatKind(X)),
                            U12(X1, mark(X2)) -> U12(X1, X2),
                          U12(X1, active(X2)) -> U12(X1, X2),
                            U12(mark(X1), X2) -> U12(X1, X2),
                          U12(active(X1), X2) -> U12(X1, X2),
                               isNat(mark(X)) -> isNat(X),
                             isNat(active(X)) -> isNat(X),
                        active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                         active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                  active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                           active(isNat(0())) -> mark(tt()),
                     active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                            active(U13(tt())) -> mark(tt()),
                            active(U22(tt())) -> mark(tt()),
                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                            active(U33(tt())) -> mark(tt()),
                         active(U41(tt(), N)) -> mark(N),
                        active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                         active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                            active(U61(tt())) -> mark(0()),
                           active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                            active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                         active(and(tt(), X)) -> mark(X),
                     active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
              active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                       active(isNatKind(0())) -> mark(tt()),
                 active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                        U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                      U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                        U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                      U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                        U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                      U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                 U13(mark(X)) -> U13(X),
                               U13(active(X)) -> U13(X),
                                 U22(mark(X)) -> U22(X),
                               U22(active(X)) -> U22(X),
                            U21(X1, mark(X2)) -> U21(X1, X2),
                          U21(X1, active(X2)) -> U21(X1, X2),
                            U21(mark(X1), X2) -> U21(X1, X2),
                          U21(active(X1), X2) -> U21(X1, X2),
                            U32(X1, mark(X2)) -> U32(X1, X2),
                          U32(X1, active(X2)) -> U32(X1, X2),
                            U32(mark(X1), X2) -> U32(X1, X2),
                          U32(active(X1), X2) -> U32(X1, X2),
                        U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                      U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                        U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                      U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                        U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                      U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                 U33(mark(X)) -> U33(X),
                               U33(active(X)) -> U33(X),
                            U41(X1, mark(X2)) -> U41(X1, X2),
                          U41(X1, active(X2)) -> U41(X1, X2),
                            U41(mark(X1), X2) -> U41(X1, X2),
                          U41(active(X1), X2) -> U41(X1, X2),
                                   s(mark(X)) -> s(X),
                                 s(active(X)) -> s(X),
                           plus(X1, mark(X2)) -> plus(X1, X2),
                         plus(X1, active(X2)) -> plus(X1, X2),
                           plus(mark(X1), X2) -> plus(X1, X2),
                         plus(active(X1), X2) -> plus(X1, X2),
                        U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                      U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                        U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                      U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                        U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                      U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                 U61(mark(X)) -> U61(X),
                               U61(active(X)) -> U61(X),
                              x(X1, mark(X2)) -> x(X1, X2),
                            x(X1, active(X2)) -> x(X1, X2),
                              x(mark(X1), X2) -> x(X1, X2),
                            x(active(X1), X2) -> x(X1, X2),
                        U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                      U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                        U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                      U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                        U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                      U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                            and(X1, mark(X2)) -> and(X1, X2),
                          and(X1, active(X2)) -> and(X1, X2),
                            and(mark(X1), X2) -> and(X1, X2),
                          and(active(X1), X2) -> and(X1, X2),
                           isNatKind(mark(X)) -> isNatKind(X),
                         isNatKind(active(X)) -> isNatKind(X)}
             SPSC:
              Simple Projection:
               pi(U32#) = 1
              Strict:
               {U32#(X1, active(X2)) -> U32#(X1, X2)}
              EDG:
               {(U32#(X1, active(X2)) -> U32#(X1, X2), U32#(X1, active(X2)) -> U32#(X1, X2))}
               SCCS:
                Scc:
                 {U32#(X1, active(X2)) -> U32#(X1, X2)}
                SCC:
                 Strict:
                  {U32#(X1, active(X2)) -> U32#(X1, X2)}
                 Weak:
                 {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                                   mark(isNat(X)) -> active(isNat(X)),
                            mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                       mark(tt()) -> active(tt()),
                                     mark(U13(X)) -> active(U13(mark(X))),
                                     mark(U22(X)) -> active(U22(mark(X))),
                                mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                                mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                            mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                     mark(U33(X)) -> active(U33(mark(X))),
                                mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                       mark(s(X)) -> active(s(mark(X))),
                               mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                            mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                        mark(0()) -> active(0()),
                                     mark(U61(X)) -> active(U61(mark(X))),
                                  mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                            mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                                mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                               mark(isNatKind(X)) -> active(isNatKind(X)),
                                U12(X1, mark(X2)) -> U12(X1, X2),
                              U12(X1, active(X2)) -> U12(X1, X2),
                                U12(mark(X1), X2) -> U12(X1, X2),
                              U12(active(X1), X2) -> U12(X1, X2),
                                   isNat(mark(X)) -> isNat(X),
                                 isNat(active(X)) -> isNat(X),
                            active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                             active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                      active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                               active(isNat(0())) -> mark(tt()),
                         active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                active(U13(tt())) -> mark(tt()),
                                active(U22(tt())) -> mark(tt()),
                            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                active(U33(tt())) -> mark(tt()),
                             active(U41(tt(), N)) -> mark(N),
                            active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                             active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                active(U61(tt())) -> mark(0()),
                               active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                             active(and(tt(), X)) -> mark(X),
                         active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
                  active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                           active(isNatKind(0())) -> mark(tt()),
                     active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                            U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                          U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                            U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                          U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                            U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                          U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                     U13(mark(X)) -> U13(X),
                                   U13(active(X)) -> U13(X),
                                     U22(mark(X)) -> U22(X),
                                   U22(active(X)) -> U22(X),
                                U21(X1, mark(X2)) -> U21(X1, X2),
                              U21(X1, active(X2)) -> U21(X1, X2),
                                U21(mark(X1), X2) -> U21(X1, X2),
                              U21(active(X1), X2) -> U21(X1, X2),
                                U32(X1, mark(X2)) -> U32(X1, X2),
                              U32(X1, active(X2)) -> U32(X1, X2),
                                U32(mark(X1), X2) -> U32(X1, X2),
                              U32(active(X1), X2) -> U32(X1, X2),
                            U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                          U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                            U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                          U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                            U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                          U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                     U33(mark(X)) -> U33(X),
                                   U33(active(X)) -> U33(X),
                                U41(X1, mark(X2)) -> U41(X1, X2),
                              U41(X1, active(X2)) -> U41(X1, X2),
                                U41(mark(X1), X2) -> U41(X1, X2),
                              U41(active(X1), X2) -> U41(X1, X2),
                                       s(mark(X)) -> s(X),
                                     s(active(X)) -> s(X),
                               plus(X1, mark(X2)) -> plus(X1, X2),
                             plus(X1, active(X2)) -> plus(X1, X2),
                               plus(mark(X1), X2) -> plus(X1, X2),
                             plus(active(X1), X2) -> plus(X1, X2),
                            U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                          U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                            U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                          U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                            U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                          U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                     U61(mark(X)) -> U61(X),
                                   U61(active(X)) -> U61(X),
                                  x(X1, mark(X2)) -> x(X1, X2),
                                x(X1, active(X2)) -> x(X1, X2),
                                  x(mark(X1), X2) -> x(X1, X2),
                                x(active(X1), X2) -> x(X1, X2),
                            U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                          U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                            U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                          U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                            U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                          U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                                and(X1, mark(X2)) -> and(X1, X2),
                              and(X1, active(X2)) -> and(X1, X2),
                                and(mark(X1), X2) -> and(X1, X2),
                              and(active(X1), X2) -> and(X1, X2),
                               isNatKind(mark(X)) -> isNatKind(X),
                             isNatKind(active(X)) -> isNatKind(X)}
                 SPSC:
                  Simple Projection:
                   pi(U32#) = 1
                  Strict:
                   {}
                  Qed
    SCC:
     Strict:
      {  U21#(X1, mark(X2)) -> U21#(X1, X2),
       U21#(X1, active(X2)) -> U21#(X1, X2),
         U21#(mark(X1), X2) -> U21#(X1, X2),
       U21#(active(X1), X2) -> U21#(X1, X2)}
     Weak:
     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                       mark(isNat(X)) -> active(isNat(X)),
                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                           mark(tt()) -> active(tt()),
                         mark(U13(X)) -> active(U13(mark(X))),
                         mark(U22(X)) -> active(U22(mark(X))),
                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                         mark(U33(X)) -> active(U33(mark(X))),
                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                           mark(s(X)) -> active(s(mark(X))),
                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                            mark(0()) -> active(0()),
                         mark(U61(X)) -> active(U61(mark(X))),
                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                   mark(isNatKind(X)) -> active(isNatKind(X)),
                    U12(X1, mark(X2)) -> U12(X1, X2),
                  U12(X1, active(X2)) -> U12(X1, X2),
                    U12(mark(X1), X2) -> U12(X1, X2),
                  U12(active(X1), X2) -> U12(X1, X2),
                       isNat(mark(X)) -> isNat(X),
                     isNat(active(X)) -> isNat(X),
                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                   active(isNat(0())) -> mark(tt()),
             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                    active(U13(tt())) -> mark(tt()),
                    active(U22(tt())) -> mark(tt()),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                    active(U33(tt())) -> mark(tt()),
                 active(U41(tt(), N)) -> mark(N),
                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                    active(U61(tt())) -> mark(0()),
                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                 active(and(tt(), X)) -> mark(X),
             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
               active(isNatKind(0())) -> mark(tt()),
         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                         U13(mark(X)) -> U13(X),
                       U13(active(X)) -> U13(X),
                         U22(mark(X)) -> U22(X),
                       U22(active(X)) -> U22(X),
                    U21(X1, mark(X2)) -> U21(X1, X2),
                  U21(X1, active(X2)) -> U21(X1, X2),
                    U21(mark(X1), X2) -> U21(X1, X2),
                  U21(active(X1), X2) -> U21(X1, X2),
                    U32(X1, mark(X2)) -> U32(X1, X2),
                  U32(X1, active(X2)) -> U32(X1, X2),
                    U32(mark(X1), X2) -> U32(X1, X2),
                  U32(active(X1), X2) -> U32(X1, X2),
                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                         U33(mark(X)) -> U33(X),
                       U33(active(X)) -> U33(X),
                    U41(X1, mark(X2)) -> U41(X1, X2),
                  U41(X1, active(X2)) -> U41(X1, X2),
                    U41(mark(X1), X2) -> U41(X1, X2),
                  U41(active(X1), X2) -> U41(X1, X2),
                           s(mark(X)) -> s(X),
                         s(active(X)) -> s(X),
                   plus(X1, mark(X2)) -> plus(X1, X2),
                 plus(X1, active(X2)) -> plus(X1, X2),
                   plus(mark(X1), X2) -> plus(X1, X2),
                 plus(active(X1), X2) -> plus(X1, X2),
                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                         U61(mark(X)) -> U61(X),
                       U61(active(X)) -> U61(X),
                      x(X1, mark(X2)) -> x(X1, X2),
                    x(X1, active(X2)) -> x(X1, X2),
                      x(mark(X1), X2) -> x(X1, X2),
                    x(active(X1), X2) -> x(X1, X2),
                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                    and(X1, mark(X2)) -> and(X1, X2),
                  and(X1, active(X2)) -> and(X1, X2),
                    and(mark(X1), X2) -> and(X1, X2),
                  and(active(X1), X2) -> and(X1, X2),
                   isNatKind(mark(X)) -> isNatKind(X),
                 isNatKind(active(X)) -> isNatKind(X)}
     SPSC:
      Simple Projection:
       pi(U21#) = 0
      Strict:
       {  U21#(X1, mark(X2)) -> U21#(X1, X2),
        U21#(X1, active(X2)) -> U21#(X1, X2),
          U21#(mark(X1), X2) -> U21#(X1, X2)}
      EDG:
       {(U21#(X1, active(X2)) -> U21#(X1, X2), U21#(mark(X1), X2) -> U21#(X1, X2))
        (U21#(X1, active(X2)) -> U21#(X1, X2), U21#(X1, active(X2)) -> U21#(X1, X2))
        (U21#(X1, active(X2)) -> U21#(X1, X2), U21#(X1, mark(X2)) -> U21#(X1, X2))
        (U21#(mark(X1), X2) -> U21#(X1, X2), U21#(X1, mark(X2)) -> U21#(X1, X2))
        (U21#(mark(X1), X2) -> U21#(X1, X2), U21#(X1, active(X2)) -> U21#(X1, X2))
        (U21#(mark(X1), X2) -> U21#(X1, X2), U21#(mark(X1), X2) -> U21#(X1, X2))
        (U21#(X1, mark(X2)) -> U21#(X1, X2), U21#(X1, mark(X2)) -> U21#(X1, X2))
        (U21#(X1, mark(X2)) -> U21#(X1, X2), U21#(X1, active(X2)) -> U21#(X1, X2))
        (U21#(X1, mark(X2)) -> U21#(X1, X2), U21#(mark(X1), X2) -> U21#(X1, X2))}
       SCCS:
        Scc:
         {  U21#(X1, mark(X2)) -> U21#(X1, X2),
          U21#(X1, active(X2)) -> U21#(X1, X2),
            U21#(mark(X1), X2) -> U21#(X1, X2)}
        SCC:
         Strict:
          {  U21#(X1, mark(X2)) -> U21#(X1, X2),
           U21#(X1, active(X2)) -> U21#(X1, X2),
             U21#(mark(X1), X2) -> U21#(X1, X2)}
         Weak:
         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                           mark(isNat(X)) -> active(isNat(X)),
                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                               mark(tt()) -> active(tt()),
                             mark(U13(X)) -> active(U13(mark(X))),
                             mark(U22(X)) -> active(U22(mark(X))),
                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                             mark(U33(X)) -> active(U33(mark(X))),
                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                               mark(s(X)) -> active(s(mark(X))),
                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                mark(0()) -> active(0()),
                             mark(U61(X)) -> active(U61(mark(X))),
                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                       mark(isNatKind(X)) -> active(isNatKind(X)),
                        U12(X1, mark(X2)) -> U12(X1, X2),
                      U12(X1, active(X2)) -> U12(X1, X2),
                        U12(mark(X1), X2) -> U12(X1, X2),
                      U12(active(X1), X2) -> U12(X1, X2),
                           isNat(mark(X)) -> isNat(X),
                         isNat(active(X)) -> isNat(X),
                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                       active(isNat(0())) -> mark(tt()),
                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                        active(U13(tt())) -> mark(tt()),
                        active(U22(tt())) -> mark(tt()),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                        active(U33(tt())) -> mark(tt()),
                     active(U41(tt(), N)) -> mark(N),
                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                        active(U61(tt())) -> mark(0()),
                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                     active(and(tt(), X)) -> mark(X),
                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                   active(isNatKind(0())) -> mark(tt()),
             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                             U13(mark(X)) -> U13(X),
                           U13(active(X)) -> U13(X),
                             U22(mark(X)) -> U22(X),
                           U22(active(X)) -> U22(X),
                        U21(X1, mark(X2)) -> U21(X1, X2),
                      U21(X1, active(X2)) -> U21(X1, X2),
                        U21(mark(X1), X2) -> U21(X1, X2),
                      U21(active(X1), X2) -> U21(X1, X2),
                        U32(X1, mark(X2)) -> U32(X1, X2),
                      U32(X1, active(X2)) -> U32(X1, X2),
                        U32(mark(X1), X2) -> U32(X1, X2),
                      U32(active(X1), X2) -> U32(X1, X2),
                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                             U33(mark(X)) -> U33(X),
                           U33(active(X)) -> U33(X),
                        U41(X1, mark(X2)) -> U41(X1, X2),
                      U41(X1, active(X2)) -> U41(X1, X2),
                        U41(mark(X1), X2) -> U41(X1, X2),
                      U41(active(X1), X2) -> U41(X1, X2),
                               s(mark(X)) -> s(X),
                             s(active(X)) -> s(X),
                       plus(X1, mark(X2)) -> plus(X1, X2),
                     plus(X1, active(X2)) -> plus(X1, X2),
                       plus(mark(X1), X2) -> plus(X1, X2),
                     plus(active(X1), X2) -> plus(X1, X2),
                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                             U61(mark(X)) -> U61(X),
                           U61(active(X)) -> U61(X),
                          x(X1, mark(X2)) -> x(X1, X2),
                        x(X1, active(X2)) -> x(X1, X2),
                          x(mark(X1), X2) -> x(X1, X2),
                        x(active(X1), X2) -> x(X1, X2),
                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                        and(X1, mark(X2)) -> and(X1, X2),
                      and(X1, active(X2)) -> and(X1, X2),
                        and(mark(X1), X2) -> and(X1, X2),
                      and(active(X1), X2) -> and(X1, X2),
                       isNatKind(mark(X)) -> isNatKind(X),
                     isNatKind(active(X)) -> isNatKind(X)}
         SPSC:
          Simple Projection:
           pi(U21#) = 0
          Strict:
           {  U21#(X1, mark(X2)) -> U21#(X1, X2),
            U21#(X1, active(X2)) -> U21#(X1, X2)}
          EDG:
           {(U21#(X1, active(X2)) -> U21#(X1, X2), U21#(X1, active(X2)) -> U21#(X1, X2))
            (U21#(X1, active(X2)) -> U21#(X1, X2), U21#(X1, mark(X2)) -> U21#(X1, X2))
            (U21#(X1, mark(X2)) -> U21#(X1, X2), U21#(X1, mark(X2)) -> U21#(X1, X2))
            (U21#(X1, mark(X2)) -> U21#(X1, X2), U21#(X1, active(X2)) -> U21#(X1, X2))}
           SCCS:
            Scc:
             {  U21#(X1, mark(X2)) -> U21#(X1, X2),
              U21#(X1, active(X2)) -> U21#(X1, X2)}
            SCC:
             Strict:
              {  U21#(X1, mark(X2)) -> U21#(X1, X2),
               U21#(X1, active(X2)) -> U21#(X1, X2)}
             Weak:
             {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                               mark(isNat(X)) -> active(isNat(X)),
                        mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                   mark(tt()) -> active(tt()),
                                 mark(U13(X)) -> active(U13(mark(X))),
                                 mark(U22(X)) -> active(U22(mark(X))),
                            mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                            mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                        mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                 mark(U33(X)) -> active(U33(mark(X))),
                            mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                   mark(s(X)) -> active(s(mark(X))),
                           mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                        mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                    mark(0()) -> active(0()),
                                 mark(U61(X)) -> active(U61(mark(X))),
                              mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                        mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                            mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                           mark(isNatKind(X)) -> active(isNatKind(X)),
                            U12(X1, mark(X2)) -> U12(X1, X2),
                          U12(X1, active(X2)) -> U12(X1, X2),
                            U12(mark(X1), X2) -> U12(X1, X2),
                          U12(active(X1), X2) -> U12(X1, X2),
                               isNat(mark(X)) -> isNat(X),
                             isNat(active(X)) -> isNat(X),
                        active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                         active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                  active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                           active(isNat(0())) -> mark(tt()),
                     active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                            active(U13(tt())) -> mark(tt()),
                            active(U22(tt())) -> mark(tt()),
                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                            active(U33(tt())) -> mark(tt()),
                         active(U41(tt(), N)) -> mark(N),
                        active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                         active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                            active(U61(tt())) -> mark(0()),
                           active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                            active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                         active(and(tt(), X)) -> mark(X),
                     active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
              active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                       active(isNatKind(0())) -> mark(tt()),
                 active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                        U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                      U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                        U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                      U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                        U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                      U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                 U13(mark(X)) -> U13(X),
                               U13(active(X)) -> U13(X),
                                 U22(mark(X)) -> U22(X),
                               U22(active(X)) -> U22(X),
                            U21(X1, mark(X2)) -> U21(X1, X2),
                          U21(X1, active(X2)) -> U21(X1, X2),
                            U21(mark(X1), X2) -> U21(X1, X2),
                          U21(active(X1), X2) -> U21(X1, X2),
                            U32(X1, mark(X2)) -> U32(X1, X2),
                          U32(X1, active(X2)) -> U32(X1, X2),
                            U32(mark(X1), X2) -> U32(X1, X2),
                          U32(active(X1), X2) -> U32(X1, X2),
                        U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                      U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                        U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                      U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                        U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                      U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                 U33(mark(X)) -> U33(X),
                               U33(active(X)) -> U33(X),
                            U41(X1, mark(X2)) -> U41(X1, X2),
                          U41(X1, active(X2)) -> U41(X1, X2),
                            U41(mark(X1), X2) -> U41(X1, X2),
                          U41(active(X1), X2) -> U41(X1, X2),
                                   s(mark(X)) -> s(X),
                                 s(active(X)) -> s(X),
                           plus(X1, mark(X2)) -> plus(X1, X2),
                         plus(X1, active(X2)) -> plus(X1, X2),
                           plus(mark(X1), X2) -> plus(X1, X2),
                         plus(active(X1), X2) -> plus(X1, X2),
                        U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                      U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                        U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                      U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                        U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                      U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                 U61(mark(X)) -> U61(X),
                               U61(active(X)) -> U61(X),
                              x(X1, mark(X2)) -> x(X1, X2),
                            x(X1, active(X2)) -> x(X1, X2),
                              x(mark(X1), X2) -> x(X1, X2),
                            x(active(X1), X2) -> x(X1, X2),
                        U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                      U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                        U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                      U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                        U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                      U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                            and(X1, mark(X2)) -> and(X1, X2),
                          and(X1, active(X2)) -> and(X1, X2),
                            and(mark(X1), X2) -> and(X1, X2),
                          and(active(X1), X2) -> and(X1, X2),
                           isNatKind(mark(X)) -> isNatKind(X),
                         isNatKind(active(X)) -> isNatKind(X)}
             SPSC:
              Simple Projection:
               pi(U21#) = 1
              Strict:
               {U21#(X1, active(X2)) -> U21#(X1, X2)}
              EDG:
               {(U21#(X1, active(X2)) -> U21#(X1, X2), U21#(X1, active(X2)) -> U21#(X1, X2))}
               SCCS:
                Scc:
                 {U21#(X1, active(X2)) -> U21#(X1, X2)}
                SCC:
                 Strict:
                  {U21#(X1, active(X2)) -> U21#(X1, X2)}
                 Weak:
                 {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                                   mark(isNat(X)) -> active(isNat(X)),
                            mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                       mark(tt()) -> active(tt()),
                                     mark(U13(X)) -> active(U13(mark(X))),
                                     mark(U22(X)) -> active(U22(mark(X))),
                                mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                                mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                            mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                     mark(U33(X)) -> active(U33(mark(X))),
                                mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                       mark(s(X)) -> active(s(mark(X))),
                               mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                            mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                        mark(0()) -> active(0()),
                                     mark(U61(X)) -> active(U61(mark(X))),
                                  mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                            mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                                mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                               mark(isNatKind(X)) -> active(isNatKind(X)),
                                U12(X1, mark(X2)) -> U12(X1, X2),
                              U12(X1, active(X2)) -> U12(X1, X2),
                                U12(mark(X1), X2) -> U12(X1, X2),
                              U12(active(X1), X2) -> U12(X1, X2),
                                   isNat(mark(X)) -> isNat(X),
                                 isNat(active(X)) -> isNat(X),
                            active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                             active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                      active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                               active(isNat(0())) -> mark(tt()),
                         active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                active(U13(tt())) -> mark(tt()),
                                active(U22(tt())) -> mark(tt()),
                            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                active(U33(tt())) -> mark(tt()),
                             active(U41(tt(), N)) -> mark(N),
                            active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                             active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                active(U61(tt())) -> mark(0()),
                               active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                             active(and(tt(), X)) -> mark(X),
                         active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
                  active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                           active(isNatKind(0())) -> mark(tt()),
                     active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                            U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                          U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                            U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                          U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                            U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                          U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                     U13(mark(X)) -> U13(X),
                                   U13(active(X)) -> U13(X),
                                     U22(mark(X)) -> U22(X),
                                   U22(active(X)) -> U22(X),
                                U21(X1, mark(X2)) -> U21(X1, X2),
                              U21(X1, active(X2)) -> U21(X1, X2),
                                U21(mark(X1), X2) -> U21(X1, X2),
                              U21(active(X1), X2) -> U21(X1, X2),
                                U32(X1, mark(X2)) -> U32(X1, X2),
                              U32(X1, active(X2)) -> U32(X1, X2),
                                U32(mark(X1), X2) -> U32(X1, X2),
                              U32(active(X1), X2) -> U32(X1, X2),
                            U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                          U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                            U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                          U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                            U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                          U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                     U33(mark(X)) -> U33(X),
                                   U33(active(X)) -> U33(X),
                                U41(X1, mark(X2)) -> U41(X1, X2),
                              U41(X1, active(X2)) -> U41(X1, X2),
                                U41(mark(X1), X2) -> U41(X1, X2),
                              U41(active(X1), X2) -> U41(X1, X2),
                                       s(mark(X)) -> s(X),
                                     s(active(X)) -> s(X),
                               plus(X1, mark(X2)) -> plus(X1, X2),
                             plus(X1, active(X2)) -> plus(X1, X2),
                               plus(mark(X1), X2) -> plus(X1, X2),
                             plus(active(X1), X2) -> plus(X1, X2),
                            U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                          U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                            U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                          U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                            U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                          U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                     U61(mark(X)) -> U61(X),
                                   U61(active(X)) -> U61(X),
                                  x(X1, mark(X2)) -> x(X1, X2),
                                x(X1, active(X2)) -> x(X1, X2),
                                  x(mark(X1), X2) -> x(X1, X2),
                                x(active(X1), X2) -> x(X1, X2),
                            U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                          U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                            U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                          U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                            U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                          U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                                and(X1, mark(X2)) -> and(X1, X2),
                              and(X1, active(X2)) -> and(X1, X2),
                                and(mark(X1), X2) -> and(X1, X2),
                              and(active(X1), X2) -> and(X1, X2),
                               isNatKind(mark(X)) -> isNatKind(X),
                             isNatKind(active(X)) -> isNatKind(X)}
                 SPSC:
                  Simple Projection:
                   pi(U21#) = 1
                  Strict:
                   {}
                  Qed
    SCC:
     Strict:
      {  U22#(mark(X)) -> U22#(X),
       U22#(active(X)) -> U22#(X)}
     Weak:
     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                       mark(isNat(X)) -> active(isNat(X)),
                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                           mark(tt()) -> active(tt()),
                         mark(U13(X)) -> active(U13(mark(X))),
                         mark(U22(X)) -> active(U22(mark(X))),
                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                         mark(U33(X)) -> active(U33(mark(X))),
                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                           mark(s(X)) -> active(s(mark(X))),
                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                            mark(0()) -> active(0()),
                         mark(U61(X)) -> active(U61(mark(X))),
                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                   mark(isNatKind(X)) -> active(isNatKind(X)),
                    U12(X1, mark(X2)) -> U12(X1, X2),
                  U12(X1, active(X2)) -> U12(X1, X2),
                    U12(mark(X1), X2) -> U12(X1, X2),
                  U12(active(X1), X2) -> U12(X1, X2),
                       isNat(mark(X)) -> isNat(X),
                     isNat(active(X)) -> isNat(X),
                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                   active(isNat(0())) -> mark(tt()),
             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                    active(U13(tt())) -> mark(tt()),
                    active(U22(tt())) -> mark(tt()),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                    active(U33(tt())) -> mark(tt()),
                 active(U41(tt(), N)) -> mark(N),
                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                    active(U61(tt())) -> mark(0()),
                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                 active(and(tt(), X)) -> mark(X),
             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
               active(isNatKind(0())) -> mark(tt()),
         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                         U13(mark(X)) -> U13(X),
                       U13(active(X)) -> U13(X),
                         U22(mark(X)) -> U22(X),
                       U22(active(X)) -> U22(X),
                    U21(X1, mark(X2)) -> U21(X1, X2),
                  U21(X1, active(X2)) -> U21(X1, X2),
                    U21(mark(X1), X2) -> U21(X1, X2),
                  U21(active(X1), X2) -> U21(X1, X2),
                    U32(X1, mark(X2)) -> U32(X1, X2),
                  U32(X1, active(X2)) -> U32(X1, X2),
                    U32(mark(X1), X2) -> U32(X1, X2),
                  U32(active(X1), X2) -> U32(X1, X2),
                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                         U33(mark(X)) -> U33(X),
                       U33(active(X)) -> U33(X),
                    U41(X1, mark(X2)) -> U41(X1, X2),
                  U41(X1, active(X2)) -> U41(X1, X2),
                    U41(mark(X1), X2) -> U41(X1, X2),
                  U41(active(X1), X2) -> U41(X1, X2),
                           s(mark(X)) -> s(X),
                         s(active(X)) -> s(X),
                   plus(X1, mark(X2)) -> plus(X1, X2),
                 plus(X1, active(X2)) -> plus(X1, X2),
                   plus(mark(X1), X2) -> plus(X1, X2),
                 plus(active(X1), X2) -> plus(X1, X2),
                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                         U61(mark(X)) -> U61(X),
                       U61(active(X)) -> U61(X),
                      x(X1, mark(X2)) -> x(X1, X2),
                    x(X1, active(X2)) -> x(X1, X2),
                      x(mark(X1), X2) -> x(X1, X2),
                    x(active(X1), X2) -> x(X1, X2),
                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                    and(X1, mark(X2)) -> and(X1, X2),
                  and(X1, active(X2)) -> and(X1, X2),
                    and(mark(X1), X2) -> and(X1, X2),
                  and(active(X1), X2) -> and(X1, X2),
                   isNatKind(mark(X)) -> isNatKind(X),
                 isNatKind(active(X)) -> isNatKind(X)}
     SPSC:
      Simple Projection:
       pi(U22#) = 0
      Strict:
       {U22#(active(X)) -> U22#(X)}
      EDG:
       {(U22#(active(X)) -> U22#(X), U22#(active(X)) -> U22#(X))}
       SCCS:
        Scc:
         {U22#(active(X)) -> U22#(X)}
        SCC:
         Strict:
          {U22#(active(X)) -> U22#(X)}
         Weak:
         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                           mark(isNat(X)) -> active(isNat(X)),
                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                               mark(tt()) -> active(tt()),
                             mark(U13(X)) -> active(U13(mark(X))),
                             mark(U22(X)) -> active(U22(mark(X))),
                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                             mark(U33(X)) -> active(U33(mark(X))),
                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                               mark(s(X)) -> active(s(mark(X))),
                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                mark(0()) -> active(0()),
                             mark(U61(X)) -> active(U61(mark(X))),
                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                       mark(isNatKind(X)) -> active(isNatKind(X)),
                        U12(X1, mark(X2)) -> U12(X1, X2),
                      U12(X1, active(X2)) -> U12(X1, X2),
                        U12(mark(X1), X2) -> U12(X1, X2),
                      U12(active(X1), X2) -> U12(X1, X2),
                           isNat(mark(X)) -> isNat(X),
                         isNat(active(X)) -> isNat(X),
                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                       active(isNat(0())) -> mark(tt()),
                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                        active(U13(tt())) -> mark(tt()),
                        active(U22(tt())) -> mark(tt()),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                        active(U33(tt())) -> mark(tt()),
                     active(U41(tt(), N)) -> mark(N),
                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                        active(U61(tt())) -> mark(0()),
                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                     active(and(tt(), X)) -> mark(X),
                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                   active(isNatKind(0())) -> mark(tt()),
             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                             U13(mark(X)) -> U13(X),
                           U13(active(X)) -> U13(X),
                             U22(mark(X)) -> U22(X),
                           U22(active(X)) -> U22(X),
                        U21(X1, mark(X2)) -> U21(X1, X2),
                      U21(X1, active(X2)) -> U21(X1, X2),
                        U21(mark(X1), X2) -> U21(X1, X2),
                      U21(active(X1), X2) -> U21(X1, X2),
                        U32(X1, mark(X2)) -> U32(X1, X2),
                      U32(X1, active(X2)) -> U32(X1, X2),
                        U32(mark(X1), X2) -> U32(X1, X2),
                      U32(active(X1), X2) -> U32(X1, X2),
                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                             U33(mark(X)) -> U33(X),
                           U33(active(X)) -> U33(X),
                        U41(X1, mark(X2)) -> U41(X1, X2),
                      U41(X1, active(X2)) -> U41(X1, X2),
                        U41(mark(X1), X2) -> U41(X1, X2),
                      U41(active(X1), X2) -> U41(X1, X2),
                               s(mark(X)) -> s(X),
                             s(active(X)) -> s(X),
                       plus(X1, mark(X2)) -> plus(X1, X2),
                     plus(X1, active(X2)) -> plus(X1, X2),
                       plus(mark(X1), X2) -> plus(X1, X2),
                     plus(active(X1), X2) -> plus(X1, X2),
                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                             U61(mark(X)) -> U61(X),
                           U61(active(X)) -> U61(X),
                          x(X1, mark(X2)) -> x(X1, X2),
                        x(X1, active(X2)) -> x(X1, X2),
                          x(mark(X1), X2) -> x(X1, X2),
                        x(active(X1), X2) -> x(X1, X2),
                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                        and(X1, mark(X2)) -> and(X1, X2),
                      and(X1, active(X2)) -> and(X1, X2),
                        and(mark(X1), X2) -> and(X1, X2),
                      and(active(X1), X2) -> and(X1, X2),
                       isNatKind(mark(X)) -> isNatKind(X),
                     isNatKind(active(X)) -> isNatKind(X)}
         SPSC:
          Simple Projection:
           pi(U22#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {  U13#(mark(X)) -> U13#(X),
       U13#(active(X)) -> U13#(X)}
     Weak:
     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                       mark(isNat(X)) -> active(isNat(X)),
                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                           mark(tt()) -> active(tt()),
                         mark(U13(X)) -> active(U13(mark(X))),
                         mark(U22(X)) -> active(U22(mark(X))),
                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                         mark(U33(X)) -> active(U33(mark(X))),
                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                           mark(s(X)) -> active(s(mark(X))),
                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                            mark(0()) -> active(0()),
                         mark(U61(X)) -> active(U61(mark(X))),
                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                   mark(isNatKind(X)) -> active(isNatKind(X)),
                    U12(X1, mark(X2)) -> U12(X1, X2),
                  U12(X1, active(X2)) -> U12(X1, X2),
                    U12(mark(X1), X2) -> U12(X1, X2),
                  U12(active(X1), X2) -> U12(X1, X2),
                       isNat(mark(X)) -> isNat(X),
                     isNat(active(X)) -> isNat(X),
                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                   active(isNat(0())) -> mark(tt()),
             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                    active(U13(tt())) -> mark(tt()),
                    active(U22(tt())) -> mark(tt()),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                    active(U33(tt())) -> mark(tt()),
                 active(U41(tt(), N)) -> mark(N),
                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                    active(U61(tt())) -> mark(0()),
                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                 active(and(tt(), X)) -> mark(X),
             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
               active(isNatKind(0())) -> mark(tt()),
         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                         U13(mark(X)) -> U13(X),
                       U13(active(X)) -> U13(X),
                         U22(mark(X)) -> U22(X),
                       U22(active(X)) -> U22(X),
                    U21(X1, mark(X2)) -> U21(X1, X2),
                  U21(X1, active(X2)) -> U21(X1, X2),
                    U21(mark(X1), X2) -> U21(X1, X2),
                  U21(active(X1), X2) -> U21(X1, X2),
                    U32(X1, mark(X2)) -> U32(X1, X2),
                  U32(X1, active(X2)) -> U32(X1, X2),
                    U32(mark(X1), X2) -> U32(X1, X2),
                  U32(active(X1), X2) -> U32(X1, X2),
                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                         U33(mark(X)) -> U33(X),
                       U33(active(X)) -> U33(X),
                    U41(X1, mark(X2)) -> U41(X1, X2),
                  U41(X1, active(X2)) -> U41(X1, X2),
                    U41(mark(X1), X2) -> U41(X1, X2),
                  U41(active(X1), X2) -> U41(X1, X2),
                           s(mark(X)) -> s(X),
                         s(active(X)) -> s(X),
                   plus(X1, mark(X2)) -> plus(X1, X2),
                 plus(X1, active(X2)) -> plus(X1, X2),
                   plus(mark(X1), X2) -> plus(X1, X2),
                 plus(active(X1), X2) -> plus(X1, X2),
                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                         U61(mark(X)) -> U61(X),
                       U61(active(X)) -> U61(X),
                      x(X1, mark(X2)) -> x(X1, X2),
                    x(X1, active(X2)) -> x(X1, X2),
                      x(mark(X1), X2) -> x(X1, X2),
                    x(active(X1), X2) -> x(X1, X2),
                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                    and(X1, mark(X2)) -> and(X1, X2),
                  and(X1, active(X2)) -> and(X1, X2),
                    and(mark(X1), X2) -> and(X1, X2),
                  and(active(X1), X2) -> and(X1, X2),
                   isNatKind(mark(X)) -> isNatKind(X),
                 isNatKind(active(X)) -> isNatKind(X)}
     SPSC:
      Simple Projection:
       pi(U13#) = 0
      Strict:
       {U13#(active(X)) -> U13#(X)}
      EDG:
       {(U13#(active(X)) -> U13#(X), U13#(active(X)) -> U13#(X))}
       SCCS:
        Scc:
         {U13#(active(X)) -> U13#(X)}
        SCC:
         Strict:
          {U13#(active(X)) -> U13#(X)}
         Weak:
         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                           mark(isNat(X)) -> active(isNat(X)),
                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                               mark(tt()) -> active(tt()),
                             mark(U13(X)) -> active(U13(mark(X))),
                             mark(U22(X)) -> active(U22(mark(X))),
                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                             mark(U33(X)) -> active(U33(mark(X))),
                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                               mark(s(X)) -> active(s(mark(X))),
                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                mark(0()) -> active(0()),
                             mark(U61(X)) -> active(U61(mark(X))),
                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                       mark(isNatKind(X)) -> active(isNatKind(X)),
                        U12(X1, mark(X2)) -> U12(X1, X2),
                      U12(X1, active(X2)) -> U12(X1, X2),
                        U12(mark(X1), X2) -> U12(X1, X2),
                      U12(active(X1), X2) -> U12(X1, X2),
                           isNat(mark(X)) -> isNat(X),
                         isNat(active(X)) -> isNat(X),
                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                       active(isNat(0())) -> mark(tt()),
                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                        active(U13(tt())) -> mark(tt()),
                        active(U22(tt())) -> mark(tt()),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                        active(U33(tt())) -> mark(tt()),
                     active(U41(tt(), N)) -> mark(N),
                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                        active(U61(tt())) -> mark(0()),
                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                     active(and(tt(), X)) -> mark(X),
                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                   active(isNatKind(0())) -> mark(tt()),
             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                             U13(mark(X)) -> U13(X),
                           U13(active(X)) -> U13(X),
                             U22(mark(X)) -> U22(X),
                           U22(active(X)) -> U22(X),
                        U21(X1, mark(X2)) -> U21(X1, X2),
                      U21(X1, active(X2)) -> U21(X1, X2),
                        U21(mark(X1), X2) -> U21(X1, X2),
                      U21(active(X1), X2) -> U21(X1, X2),
                        U32(X1, mark(X2)) -> U32(X1, X2),
                      U32(X1, active(X2)) -> U32(X1, X2),
                        U32(mark(X1), X2) -> U32(X1, X2),
                      U32(active(X1), X2) -> U32(X1, X2),
                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                             U33(mark(X)) -> U33(X),
                           U33(active(X)) -> U33(X),
                        U41(X1, mark(X2)) -> U41(X1, X2),
                      U41(X1, active(X2)) -> U41(X1, X2),
                        U41(mark(X1), X2) -> U41(X1, X2),
                      U41(active(X1), X2) -> U41(X1, X2),
                               s(mark(X)) -> s(X),
                             s(active(X)) -> s(X),
                       plus(X1, mark(X2)) -> plus(X1, X2),
                     plus(X1, active(X2)) -> plus(X1, X2),
                       plus(mark(X1), X2) -> plus(X1, X2),
                     plus(active(X1), X2) -> plus(X1, X2),
                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                             U61(mark(X)) -> U61(X),
                           U61(active(X)) -> U61(X),
                          x(X1, mark(X2)) -> x(X1, X2),
                        x(X1, active(X2)) -> x(X1, X2),
                          x(mark(X1), X2) -> x(X1, X2),
                        x(active(X1), X2) -> x(X1, X2),
                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                        and(X1, mark(X2)) -> and(X1, X2),
                      and(X1, active(X2)) -> and(X1, X2),
                        and(mark(X1), X2) -> and(X1, X2),
                      and(active(X1), X2) -> and(X1, X2),
                       isNatKind(mark(X)) -> isNatKind(X),
                     isNatKind(active(X)) -> isNatKind(X)}
         SPSC:
          Simple Projection:
           pi(U13#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {  U11#(X1, X2, mark(X3)) -> U11#(X1, X2, X3),
       U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3),
         U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3),
       U11#(X1, active(X2), X3) -> U11#(X1, X2, X3),
         U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3),
       U11#(active(X1), X2, X3) -> U11#(X1, X2, X3)}
     Weak:
     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                       mark(isNat(X)) -> active(isNat(X)),
                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                           mark(tt()) -> active(tt()),
                         mark(U13(X)) -> active(U13(mark(X))),
                         mark(U22(X)) -> active(U22(mark(X))),
                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                         mark(U33(X)) -> active(U33(mark(X))),
                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                           mark(s(X)) -> active(s(mark(X))),
                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                            mark(0()) -> active(0()),
                         mark(U61(X)) -> active(U61(mark(X))),
                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                   mark(isNatKind(X)) -> active(isNatKind(X)),
                    U12(X1, mark(X2)) -> U12(X1, X2),
                  U12(X1, active(X2)) -> U12(X1, X2),
                    U12(mark(X1), X2) -> U12(X1, X2),
                  U12(active(X1), X2) -> U12(X1, X2),
                       isNat(mark(X)) -> isNat(X),
                     isNat(active(X)) -> isNat(X),
                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                   active(isNat(0())) -> mark(tt()),
             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                    active(U13(tt())) -> mark(tt()),
                    active(U22(tt())) -> mark(tt()),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                    active(U33(tt())) -> mark(tt()),
                 active(U41(tt(), N)) -> mark(N),
                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                    active(U61(tt())) -> mark(0()),
                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                 active(and(tt(), X)) -> mark(X),
             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
               active(isNatKind(0())) -> mark(tt()),
         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                         U13(mark(X)) -> U13(X),
                       U13(active(X)) -> U13(X),
                         U22(mark(X)) -> U22(X),
                       U22(active(X)) -> U22(X),
                    U21(X1, mark(X2)) -> U21(X1, X2),
                  U21(X1, active(X2)) -> U21(X1, X2),
                    U21(mark(X1), X2) -> U21(X1, X2),
                  U21(active(X1), X2) -> U21(X1, X2),
                    U32(X1, mark(X2)) -> U32(X1, X2),
                  U32(X1, active(X2)) -> U32(X1, X2),
                    U32(mark(X1), X2) -> U32(X1, X2),
                  U32(active(X1), X2) -> U32(X1, X2),
                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                         U33(mark(X)) -> U33(X),
                       U33(active(X)) -> U33(X),
                    U41(X1, mark(X2)) -> U41(X1, X2),
                  U41(X1, active(X2)) -> U41(X1, X2),
                    U41(mark(X1), X2) -> U41(X1, X2),
                  U41(active(X1), X2) -> U41(X1, X2),
                           s(mark(X)) -> s(X),
                         s(active(X)) -> s(X),
                   plus(X1, mark(X2)) -> plus(X1, X2),
                 plus(X1, active(X2)) -> plus(X1, X2),
                   plus(mark(X1), X2) -> plus(X1, X2),
                 plus(active(X1), X2) -> plus(X1, X2),
                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                         U61(mark(X)) -> U61(X),
                       U61(active(X)) -> U61(X),
                      x(X1, mark(X2)) -> x(X1, X2),
                    x(X1, active(X2)) -> x(X1, X2),
                      x(mark(X1), X2) -> x(X1, X2),
                    x(active(X1), X2) -> x(X1, X2),
                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                    and(X1, mark(X2)) -> and(X1, X2),
                  and(X1, active(X2)) -> and(X1, X2),
                    and(mark(X1), X2) -> and(X1, X2),
                  and(active(X1), X2) -> and(X1, X2),
                   isNatKind(mark(X)) -> isNatKind(X),
                 isNatKind(active(X)) -> isNatKind(X)}
     SPSC:
      Simple Projection:
       pi(U11#) = 2
      Strict:
       {U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3),
          U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3),
        U11#(X1, active(X2), X3) -> U11#(X1, X2, X3),
          U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3),
        U11#(active(X1), X2, X3) -> U11#(X1, X2, X3)}
      EDG:
       {(U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3), U11#(active(X1), X2, X3) -> U11#(X1, X2, X3))
        (U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))
        (U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3), U11#(X1, active(X2), X3) -> U11#(X1, X2, X3))
        (U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
        (U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
        (U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3), U11#(active(X1), X2, X3) -> U11#(X1, X2, X3))
        (U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))
        (U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3), U11#(X1, active(X2), X3) -> U11#(X1, X2, X3))
        (U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
        (U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
        (U11#(active(X1), X2, X3) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
        (U11#(active(X1), X2, X3) -> U11#(X1, X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
        (U11#(active(X1), X2, X3) -> U11#(X1, X2, X3), U11#(X1, active(X2), X3) -> U11#(X1, X2, X3))
        (U11#(active(X1), X2, X3) -> U11#(X1, X2, X3), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))
        (U11#(active(X1), X2, X3) -> U11#(X1, X2, X3), U11#(active(X1), X2, X3) -> U11#(X1, X2, X3))
        (U11#(X1, active(X2), X3) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
        (U11#(X1, active(X2), X3) -> U11#(X1, X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
        (U11#(X1, active(X2), X3) -> U11#(X1, X2, X3), U11#(X1, active(X2), X3) -> U11#(X1, X2, X3))
        (U11#(X1, active(X2), X3) -> U11#(X1, X2, X3), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))
        (U11#(X1, active(X2), X3) -> U11#(X1, X2, X3), U11#(active(X1), X2, X3) -> U11#(X1, X2, X3))
        (U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
        (U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
        (U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(X1, active(X2), X3) -> U11#(X1, X2, X3))
        (U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))
        (U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(active(X1), X2, X3) -> U11#(X1, X2, X3))}
       SCCS:
        Scc:
         {U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3),
            U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3),
          U11#(X1, active(X2), X3) -> U11#(X1, X2, X3),
            U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3),
          U11#(active(X1), X2, X3) -> U11#(X1, X2, X3)}
        SCC:
         Strict:
          {U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3),
             U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3),
           U11#(X1, active(X2), X3) -> U11#(X1, X2, X3),
             U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3),
           U11#(active(X1), X2, X3) -> U11#(X1, X2, X3)}
         Weak:
         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                           mark(isNat(X)) -> active(isNat(X)),
                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                               mark(tt()) -> active(tt()),
                             mark(U13(X)) -> active(U13(mark(X))),
                             mark(U22(X)) -> active(U22(mark(X))),
                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                             mark(U33(X)) -> active(U33(mark(X))),
                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                               mark(s(X)) -> active(s(mark(X))),
                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                mark(0()) -> active(0()),
                             mark(U61(X)) -> active(U61(mark(X))),
                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                       mark(isNatKind(X)) -> active(isNatKind(X)),
                        U12(X1, mark(X2)) -> U12(X1, X2),
                      U12(X1, active(X2)) -> U12(X1, X2),
                        U12(mark(X1), X2) -> U12(X1, X2),
                      U12(active(X1), X2) -> U12(X1, X2),
                           isNat(mark(X)) -> isNat(X),
                         isNat(active(X)) -> isNat(X),
                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                       active(isNat(0())) -> mark(tt()),
                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                        active(U13(tt())) -> mark(tt()),
                        active(U22(tt())) -> mark(tt()),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                        active(U33(tt())) -> mark(tt()),
                     active(U41(tt(), N)) -> mark(N),
                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                        active(U61(tt())) -> mark(0()),
                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                     active(and(tt(), X)) -> mark(X),
                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                   active(isNatKind(0())) -> mark(tt()),
             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                             U13(mark(X)) -> U13(X),
                           U13(active(X)) -> U13(X),
                             U22(mark(X)) -> U22(X),
                           U22(active(X)) -> U22(X),
                        U21(X1, mark(X2)) -> U21(X1, X2),
                      U21(X1, active(X2)) -> U21(X1, X2),
                        U21(mark(X1), X2) -> U21(X1, X2),
                      U21(active(X1), X2) -> U21(X1, X2),
                        U32(X1, mark(X2)) -> U32(X1, X2),
                      U32(X1, active(X2)) -> U32(X1, X2),
                        U32(mark(X1), X2) -> U32(X1, X2),
                      U32(active(X1), X2) -> U32(X1, X2),
                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                             U33(mark(X)) -> U33(X),
                           U33(active(X)) -> U33(X),
                        U41(X1, mark(X2)) -> U41(X1, X2),
                      U41(X1, active(X2)) -> U41(X1, X2),
                        U41(mark(X1), X2) -> U41(X1, X2),
                      U41(active(X1), X2) -> U41(X1, X2),
                               s(mark(X)) -> s(X),
                             s(active(X)) -> s(X),
                       plus(X1, mark(X2)) -> plus(X1, X2),
                     plus(X1, active(X2)) -> plus(X1, X2),
                       plus(mark(X1), X2) -> plus(X1, X2),
                     plus(active(X1), X2) -> plus(X1, X2),
                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                             U61(mark(X)) -> U61(X),
                           U61(active(X)) -> U61(X),
                          x(X1, mark(X2)) -> x(X1, X2),
                        x(X1, active(X2)) -> x(X1, X2),
                          x(mark(X1), X2) -> x(X1, X2),
                        x(active(X1), X2) -> x(X1, X2),
                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                        and(X1, mark(X2)) -> and(X1, X2),
                      and(X1, active(X2)) -> and(X1, X2),
                        and(mark(X1), X2) -> and(X1, X2),
                      and(active(X1), X2) -> and(X1, X2),
                       isNatKind(mark(X)) -> isNatKind(X),
                     isNatKind(active(X)) -> isNatKind(X)}
         SPSC:
          Simple Projection:
           pi(U11#) = 0
          Strict:
           {U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3),
              U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3),
            U11#(X1, active(X2), X3) -> U11#(X1, X2, X3),
              U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3)}
          EDG:
           {(U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))
            (U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3), U11#(X1, active(X2), X3) -> U11#(X1, X2, X3))
            (U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
            (U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
            (U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))
            (U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3), U11#(X1, active(X2), X3) -> U11#(X1, X2, X3))
            (U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
            (U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
            (U11#(X1, active(X2), X3) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
            (U11#(X1, active(X2), X3) -> U11#(X1, X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
            (U11#(X1, active(X2), X3) -> U11#(X1, X2, X3), U11#(X1, active(X2), X3) -> U11#(X1, X2, X3))
            (U11#(X1, active(X2), X3) -> U11#(X1, X2, X3), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))
            (U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
            (U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
            (U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(X1, active(X2), X3) -> U11#(X1, X2, X3))
            (U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3))}
           SCCS:
            Scc:
             {U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3),
                U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3),
              U11#(X1, active(X2), X3) -> U11#(X1, X2, X3),
                U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3)}
            SCC:
             Strict:
              {U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3),
                 U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3),
               U11#(X1, active(X2), X3) -> U11#(X1, X2, X3),
                 U11#(mark(X1), X2, X3) -> U11#(X1, X2, X3)}
             Weak:
             {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                               mark(isNat(X)) -> active(isNat(X)),
                        mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                   mark(tt()) -> active(tt()),
                                 mark(U13(X)) -> active(U13(mark(X))),
                                 mark(U22(X)) -> active(U22(mark(X))),
                            mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                            mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                        mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                 mark(U33(X)) -> active(U33(mark(X))),
                            mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                   mark(s(X)) -> active(s(mark(X))),
                           mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                        mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                    mark(0()) -> active(0()),
                                 mark(U61(X)) -> active(U61(mark(X))),
                              mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                        mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                            mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                           mark(isNatKind(X)) -> active(isNatKind(X)),
                            U12(X1, mark(X2)) -> U12(X1, X2),
                          U12(X1, active(X2)) -> U12(X1, X2),
                            U12(mark(X1), X2) -> U12(X1, X2),
                          U12(active(X1), X2) -> U12(X1, X2),
                               isNat(mark(X)) -> isNat(X),
                             isNat(active(X)) -> isNat(X),
                        active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                         active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                  active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                           active(isNat(0())) -> mark(tt()),
                     active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                            active(U13(tt())) -> mark(tt()),
                            active(U22(tt())) -> mark(tt()),
                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                            active(U33(tt())) -> mark(tt()),
                         active(U41(tt(), N)) -> mark(N),
                        active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                         active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                            active(U61(tt())) -> mark(0()),
                           active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                            active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                         active(and(tt(), X)) -> mark(X),
                     active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
              active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                       active(isNatKind(0())) -> mark(tt()),
                 active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                        U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                      U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                        U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                      U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                        U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                      U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                 U13(mark(X)) -> U13(X),
                               U13(active(X)) -> U13(X),
                                 U22(mark(X)) -> U22(X),
                               U22(active(X)) -> U22(X),
                            U21(X1, mark(X2)) -> U21(X1, X2),
                          U21(X1, active(X2)) -> U21(X1, X2),
                            U21(mark(X1), X2) -> U21(X1, X2),
                          U21(active(X1), X2) -> U21(X1, X2),
                            U32(X1, mark(X2)) -> U32(X1, X2),
                          U32(X1, active(X2)) -> U32(X1, X2),
                            U32(mark(X1), X2) -> U32(X1, X2),
                          U32(active(X1), X2) -> U32(X1, X2),
                        U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                      U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                        U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                      U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                        U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                      U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                 U33(mark(X)) -> U33(X),
                               U33(active(X)) -> U33(X),
                            U41(X1, mark(X2)) -> U41(X1, X2),
                          U41(X1, active(X2)) -> U41(X1, X2),
                            U41(mark(X1), X2) -> U41(X1, X2),
                          U41(active(X1), X2) -> U41(X1, X2),
                                   s(mark(X)) -> s(X),
                                 s(active(X)) -> s(X),
                           plus(X1, mark(X2)) -> plus(X1, X2),
                         plus(X1, active(X2)) -> plus(X1, X2),
                           plus(mark(X1), X2) -> plus(X1, X2),
                         plus(active(X1), X2) -> plus(X1, X2),
                        U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                      U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                        U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                      U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                        U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                      U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                 U61(mark(X)) -> U61(X),
                               U61(active(X)) -> U61(X),
                              x(X1, mark(X2)) -> x(X1, X2),
                            x(X1, active(X2)) -> x(X1, X2),
                              x(mark(X1), X2) -> x(X1, X2),
                            x(active(X1), X2) -> x(X1, X2),
                        U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                      U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                        U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                      U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                        U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                      U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                            and(X1, mark(X2)) -> and(X1, X2),
                          and(X1, active(X2)) -> and(X1, X2),
                            and(mark(X1), X2) -> and(X1, X2),
                          and(active(X1), X2) -> and(X1, X2),
                           isNatKind(mark(X)) -> isNatKind(X),
                         isNatKind(active(X)) -> isNatKind(X)}
             SPSC:
              Simple Projection:
               pi(U11#) = 0
              Strict:
               {U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3),
                  U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3),
                U11#(X1, active(X2), X3) -> U11#(X1, X2, X3)}
              EDG:
               {(U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3), U11#(X1, active(X2), X3) -> U11#(X1, X2, X3))
                (U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
                (U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
                (U11#(X1, active(X2), X3) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
                (U11#(X1, active(X2), X3) -> U11#(X1, X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
                (U11#(X1, active(X2), X3) -> U11#(X1, X2, X3), U11#(X1, active(X2), X3) -> U11#(X1, X2, X3))
                (U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
                (U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
                (U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(X1, active(X2), X3) -> U11#(X1, X2, X3))}
               SCCS:
                Scc:
                 {U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3),
                    U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3),
                  U11#(X1, active(X2), X3) -> U11#(X1, X2, X3)}
                SCC:
                 Strict:
                  {U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3),
                     U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3),
                   U11#(X1, active(X2), X3) -> U11#(X1, X2, X3)}
                 Weak:
                 {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                                   mark(isNat(X)) -> active(isNat(X)),
                            mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                       mark(tt()) -> active(tt()),
                                     mark(U13(X)) -> active(U13(mark(X))),
                                     mark(U22(X)) -> active(U22(mark(X))),
                                mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                                mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                            mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                     mark(U33(X)) -> active(U33(mark(X))),
                                mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                       mark(s(X)) -> active(s(mark(X))),
                               mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                            mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                        mark(0()) -> active(0()),
                                     mark(U61(X)) -> active(U61(mark(X))),
                                  mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                            mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                                mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                               mark(isNatKind(X)) -> active(isNatKind(X)),
                                U12(X1, mark(X2)) -> U12(X1, X2),
                              U12(X1, active(X2)) -> U12(X1, X2),
                                U12(mark(X1), X2) -> U12(X1, X2),
                              U12(active(X1), X2) -> U12(X1, X2),
                                   isNat(mark(X)) -> isNat(X),
                                 isNat(active(X)) -> isNat(X),
                            active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                             active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                      active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                               active(isNat(0())) -> mark(tt()),
                         active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                active(U13(tt())) -> mark(tt()),
                                active(U22(tt())) -> mark(tt()),
                            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                active(U33(tt())) -> mark(tt()),
                             active(U41(tt(), N)) -> mark(N),
                            active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                             active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                active(U61(tt())) -> mark(0()),
                               active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                             active(and(tt(), X)) -> mark(X),
                         active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
                  active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                           active(isNatKind(0())) -> mark(tt()),
                     active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                            U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                          U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                            U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                          U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                            U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                          U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                     U13(mark(X)) -> U13(X),
                                   U13(active(X)) -> U13(X),
                                     U22(mark(X)) -> U22(X),
                                   U22(active(X)) -> U22(X),
                                U21(X1, mark(X2)) -> U21(X1, X2),
                              U21(X1, active(X2)) -> U21(X1, X2),
                                U21(mark(X1), X2) -> U21(X1, X2),
                              U21(active(X1), X2) -> U21(X1, X2),
                                U32(X1, mark(X2)) -> U32(X1, X2),
                              U32(X1, active(X2)) -> U32(X1, X2),
                                U32(mark(X1), X2) -> U32(X1, X2),
                              U32(active(X1), X2) -> U32(X1, X2),
                            U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                          U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                            U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                          U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                            U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                          U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                     U33(mark(X)) -> U33(X),
                                   U33(active(X)) -> U33(X),
                                U41(X1, mark(X2)) -> U41(X1, X2),
                              U41(X1, active(X2)) -> U41(X1, X2),
                                U41(mark(X1), X2) -> U41(X1, X2),
                              U41(active(X1), X2) -> U41(X1, X2),
                                       s(mark(X)) -> s(X),
                                     s(active(X)) -> s(X),
                               plus(X1, mark(X2)) -> plus(X1, X2),
                             plus(X1, active(X2)) -> plus(X1, X2),
                               plus(mark(X1), X2) -> plus(X1, X2),
                             plus(active(X1), X2) -> plus(X1, X2),
                            U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                          U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                            U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                          U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                            U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                          U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                     U61(mark(X)) -> U61(X),
                                   U61(active(X)) -> U61(X),
                                  x(X1, mark(X2)) -> x(X1, X2),
                                x(X1, active(X2)) -> x(X1, X2),
                                  x(mark(X1), X2) -> x(X1, X2),
                                x(active(X1), X2) -> x(X1, X2),
                            U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                          U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                            U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                          U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                            U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                          U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                                and(X1, mark(X2)) -> and(X1, X2),
                              and(X1, active(X2)) -> and(X1, X2),
                                and(mark(X1), X2) -> and(X1, X2),
                              and(active(X1), X2) -> and(X1, X2),
                               isNatKind(mark(X)) -> isNatKind(X),
                             isNatKind(active(X)) -> isNatKind(X)}
                 SPSC:
                  Simple Projection:
                   pi(U11#) = 1
                  Strict:
                   {U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3),
                      U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3)}
                  EDG:
                   {(U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))
                    (U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
                    (U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))
                    (U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3))}
                   SCCS:
                    Scc:
                     {U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3),
                        U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3)}
                    SCC:
                     Strict:
                      {U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3),
                         U11#(X1, mark(X2), X3) -> U11#(X1, X2, X3)}
                     Weak:
                     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                                       mark(isNat(X)) -> active(isNat(X)),
                                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                           mark(tt()) -> active(tt()),
                                         mark(U13(X)) -> active(U13(mark(X))),
                                         mark(U22(X)) -> active(U22(mark(X))),
                                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                         mark(U33(X)) -> active(U33(mark(X))),
                                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                           mark(s(X)) -> active(s(mark(X))),
                                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                            mark(0()) -> active(0()),
                                         mark(U61(X)) -> active(U61(mark(X))),
                                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                                   mark(isNatKind(X)) -> active(isNatKind(X)),
                                    U12(X1, mark(X2)) -> U12(X1, X2),
                                  U12(X1, active(X2)) -> U12(X1, X2),
                                    U12(mark(X1), X2) -> U12(X1, X2),
                                  U12(active(X1), X2) -> U12(X1, X2),
                                       isNat(mark(X)) -> isNat(X),
                                     isNat(active(X)) -> isNat(X),
                                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                                   active(isNat(0())) -> mark(tt()),
                             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                    active(U13(tt())) -> mark(tt()),
                                    active(U22(tt())) -> mark(tt()),
                                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                    active(U33(tt())) -> mark(tt()),
                                 active(U41(tt(), N)) -> mark(N),
                                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                    active(U61(tt())) -> mark(0()),
                                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                 active(and(tt(), X)) -> mark(X),
                             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
                      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                               active(isNatKind(0())) -> mark(tt()),
                         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                         U13(mark(X)) -> U13(X),
                                       U13(active(X)) -> U13(X),
                                         U22(mark(X)) -> U22(X),
                                       U22(active(X)) -> U22(X),
                                    U21(X1, mark(X2)) -> U21(X1, X2),
                                  U21(X1, active(X2)) -> U21(X1, X2),
                                    U21(mark(X1), X2) -> U21(X1, X2),
                                  U21(active(X1), X2) -> U21(X1, X2),
                                    U32(X1, mark(X2)) -> U32(X1, X2),
                                  U32(X1, active(X2)) -> U32(X1, X2),
                                    U32(mark(X1), X2) -> U32(X1, X2),
                                  U32(active(X1), X2) -> U32(X1, X2),
                                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                         U33(mark(X)) -> U33(X),
                                       U33(active(X)) -> U33(X),
                                    U41(X1, mark(X2)) -> U41(X1, X2),
                                  U41(X1, active(X2)) -> U41(X1, X2),
                                    U41(mark(X1), X2) -> U41(X1, X2),
                                  U41(active(X1), X2) -> U41(X1, X2),
                                           s(mark(X)) -> s(X),
                                         s(active(X)) -> s(X),
                                   plus(X1, mark(X2)) -> plus(X1, X2),
                                 plus(X1, active(X2)) -> plus(X1, X2),
                                   plus(mark(X1), X2) -> plus(X1, X2),
                                 plus(active(X1), X2) -> plus(X1, X2),
                                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                         U61(mark(X)) -> U61(X),
                                       U61(active(X)) -> U61(X),
                                      x(X1, mark(X2)) -> x(X1, X2),
                                    x(X1, active(X2)) -> x(X1, X2),
                                      x(mark(X1), X2) -> x(X1, X2),
                                    x(active(X1), X2) -> x(X1, X2),
                                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                                    and(X1, mark(X2)) -> and(X1, X2),
                                  and(X1, active(X2)) -> and(X1, X2),
                                    and(mark(X1), X2) -> and(X1, X2),
                                  and(active(X1), X2) -> and(X1, X2),
                                   isNatKind(mark(X)) -> isNatKind(X),
                                 isNatKind(active(X)) -> isNatKind(X)}
                     SPSC:
                      Simple Projection:
                       pi(U11#) = 1
                      Strict:
                       {U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3)}
                      EDG:
                       {(U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3), U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3))}
                       SCCS:
                        Scc:
                         {U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3)}
                        SCC:
                         Strict:
                          {U11#(X1, X2, active(X3)) -> U11#(X1, X2, X3)}
                         Weak:
                         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                                           mark(isNat(X)) -> active(isNat(X)),
                                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                               mark(tt()) -> active(tt()),
                                             mark(U13(X)) -> active(U13(mark(X))),
                                             mark(U22(X)) -> active(U22(mark(X))),
                                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                             mark(U33(X)) -> active(U33(mark(X))),
                                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                               mark(s(X)) -> active(s(mark(X))),
                                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                                mark(0()) -> active(0()),
                                             mark(U61(X)) -> active(U61(mark(X))),
                                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                                       mark(isNatKind(X)) -> active(isNatKind(X)),
                                        U12(X1, mark(X2)) -> U12(X1, X2),
                                      U12(X1, active(X2)) -> U12(X1, X2),
                                        U12(mark(X1), X2) -> U12(X1, X2),
                                      U12(active(X1), X2) -> U12(X1, X2),
                                           isNat(mark(X)) -> isNat(X),
                                         isNat(active(X)) -> isNat(X),
                                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                                       active(isNat(0())) -> mark(tt()),
                                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                        active(U13(tt())) -> mark(tt()),
                                        active(U22(tt())) -> mark(tt()),
                                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                        active(U33(tt())) -> mark(tt()),
                                     active(U41(tt(), N)) -> mark(N),
                                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                        active(U61(tt())) -> mark(0()),
                                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                                     active(and(tt(), X)) -> mark(X),
                                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
                          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                                   active(isNatKind(0())) -> mark(tt()),
                             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                             U13(mark(X)) -> U13(X),
                                           U13(active(X)) -> U13(X),
                                             U22(mark(X)) -> U22(X),
                                           U22(active(X)) -> U22(X),
                                        U21(X1, mark(X2)) -> U21(X1, X2),
                                      U21(X1, active(X2)) -> U21(X1, X2),
                                        U21(mark(X1), X2) -> U21(X1, X2),
                                      U21(active(X1), X2) -> U21(X1, X2),
                                        U32(X1, mark(X2)) -> U32(X1, X2),
                                      U32(X1, active(X2)) -> U32(X1, X2),
                                        U32(mark(X1), X2) -> U32(X1, X2),
                                      U32(active(X1), X2) -> U32(X1, X2),
                                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                             U33(mark(X)) -> U33(X),
                                           U33(active(X)) -> U33(X),
                                        U41(X1, mark(X2)) -> U41(X1, X2),
                                      U41(X1, active(X2)) -> U41(X1, X2),
                                        U41(mark(X1), X2) -> U41(X1, X2),
                                      U41(active(X1), X2) -> U41(X1, X2),
                                               s(mark(X)) -> s(X),
                                             s(active(X)) -> s(X),
                                       plus(X1, mark(X2)) -> plus(X1, X2),
                                     plus(X1, active(X2)) -> plus(X1, X2),
                                       plus(mark(X1), X2) -> plus(X1, X2),
                                     plus(active(X1), X2) -> plus(X1, X2),
                                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                             U61(mark(X)) -> U61(X),
                                           U61(active(X)) -> U61(X),
                                          x(X1, mark(X2)) -> x(X1, X2),
                                        x(X1, active(X2)) -> x(X1, X2),
                                          x(mark(X1), X2) -> x(X1, X2),
                                        x(active(X1), X2) -> x(X1, X2),
                                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                                        and(X1, mark(X2)) -> and(X1, X2),
                                      and(X1, active(X2)) -> and(X1, X2),
                                        and(mark(X1), X2) -> and(X1, X2),
                                      and(active(X1), X2) -> and(X1, X2),
                                       isNatKind(mark(X)) -> isNatKind(X),
                                     isNatKind(active(X)) -> isNatKind(X)}
                         SPSC:
                          Simple Projection:
                           pi(U11#) = 2
                          Strict:
                           {}
                          Qed
    SCC:
     Strict:
      {  isNat#(mark(X)) -> isNat#(X),
       isNat#(active(X)) -> isNat#(X)}
     Weak:
     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                       mark(isNat(X)) -> active(isNat(X)),
                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                           mark(tt()) -> active(tt()),
                         mark(U13(X)) -> active(U13(mark(X))),
                         mark(U22(X)) -> active(U22(mark(X))),
                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                         mark(U33(X)) -> active(U33(mark(X))),
                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                           mark(s(X)) -> active(s(mark(X))),
                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                            mark(0()) -> active(0()),
                         mark(U61(X)) -> active(U61(mark(X))),
                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                   mark(isNatKind(X)) -> active(isNatKind(X)),
                    U12(X1, mark(X2)) -> U12(X1, X2),
                  U12(X1, active(X2)) -> U12(X1, X2),
                    U12(mark(X1), X2) -> U12(X1, X2),
                  U12(active(X1), X2) -> U12(X1, X2),
                       isNat(mark(X)) -> isNat(X),
                     isNat(active(X)) -> isNat(X),
                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                   active(isNat(0())) -> mark(tt()),
             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                    active(U13(tt())) -> mark(tt()),
                    active(U22(tt())) -> mark(tt()),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                    active(U33(tt())) -> mark(tt()),
                 active(U41(tt(), N)) -> mark(N),
                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                    active(U61(tt())) -> mark(0()),
                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                 active(and(tt(), X)) -> mark(X),
             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
               active(isNatKind(0())) -> mark(tt()),
         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                         U13(mark(X)) -> U13(X),
                       U13(active(X)) -> U13(X),
                         U22(mark(X)) -> U22(X),
                       U22(active(X)) -> U22(X),
                    U21(X1, mark(X2)) -> U21(X1, X2),
                  U21(X1, active(X2)) -> U21(X1, X2),
                    U21(mark(X1), X2) -> U21(X1, X2),
                  U21(active(X1), X2) -> U21(X1, X2),
                    U32(X1, mark(X2)) -> U32(X1, X2),
                  U32(X1, active(X2)) -> U32(X1, X2),
                    U32(mark(X1), X2) -> U32(X1, X2),
                  U32(active(X1), X2) -> U32(X1, X2),
                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                         U33(mark(X)) -> U33(X),
                       U33(active(X)) -> U33(X),
                    U41(X1, mark(X2)) -> U41(X1, X2),
                  U41(X1, active(X2)) -> U41(X1, X2),
                    U41(mark(X1), X2) -> U41(X1, X2),
                  U41(active(X1), X2) -> U41(X1, X2),
                           s(mark(X)) -> s(X),
                         s(active(X)) -> s(X),
                   plus(X1, mark(X2)) -> plus(X1, X2),
                 plus(X1, active(X2)) -> plus(X1, X2),
                   plus(mark(X1), X2) -> plus(X1, X2),
                 plus(active(X1), X2) -> plus(X1, X2),
                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                         U61(mark(X)) -> U61(X),
                       U61(active(X)) -> U61(X),
                      x(X1, mark(X2)) -> x(X1, X2),
                    x(X1, active(X2)) -> x(X1, X2),
                      x(mark(X1), X2) -> x(X1, X2),
                    x(active(X1), X2) -> x(X1, X2),
                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                    and(X1, mark(X2)) -> and(X1, X2),
                  and(X1, active(X2)) -> and(X1, X2),
                    and(mark(X1), X2) -> and(X1, X2),
                  and(active(X1), X2) -> and(X1, X2),
                   isNatKind(mark(X)) -> isNatKind(X),
                 isNatKind(active(X)) -> isNatKind(X)}
     SPSC:
      Simple Projection:
       pi(isNat#) = 0
      Strict:
       {isNat#(active(X)) -> isNat#(X)}
      EDG:
       {(isNat#(active(X)) -> isNat#(X), isNat#(active(X)) -> isNat#(X))}
       SCCS:
        Scc:
         {isNat#(active(X)) -> isNat#(X)}
        SCC:
         Strict:
          {isNat#(active(X)) -> isNat#(X)}
         Weak:
         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                           mark(isNat(X)) -> active(isNat(X)),
                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                               mark(tt()) -> active(tt()),
                             mark(U13(X)) -> active(U13(mark(X))),
                             mark(U22(X)) -> active(U22(mark(X))),
                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                             mark(U33(X)) -> active(U33(mark(X))),
                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                               mark(s(X)) -> active(s(mark(X))),
                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                mark(0()) -> active(0()),
                             mark(U61(X)) -> active(U61(mark(X))),
                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                       mark(isNatKind(X)) -> active(isNatKind(X)),
                        U12(X1, mark(X2)) -> U12(X1, X2),
                      U12(X1, active(X2)) -> U12(X1, X2),
                        U12(mark(X1), X2) -> U12(X1, X2),
                      U12(active(X1), X2) -> U12(X1, X2),
                           isNat(mark(X)) -> isNat(X),
                         isNat(active(X)) -> isNat(X),
                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                       active(isNat(0())) -> mark(tt()),
                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                        active(U13(tt())) -> mark(tt()),
                        active(U22(tt())) -> mark(tt()),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                        active(U33(tt())) -> mark(tt()),
                     active(U41(tt(), N)) -> mark(N),
                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                        active(U61(tt())) -> mark(0()),
                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                     active(and(tt(), X)) -> mark(X),
                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                   active(isNatKind(0())) -> mark(tt()),
             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                             U13(mark(X)) -> U13(X),
                           U13(active(X)) -> U13(X),
                             U22(mark(X)) -> U22(X),
                           U22(active(X)) -> U22(X),
                        U21(X1, mark(X2)) -> U21(X1, X2),
                      U21(X1, active(X2)) -> U21(X1, X2),
                        U21(mark(X1), X2) -> U21(X1, X2),
                      U21(active(X1), X2) -> U21(X1, X2),
                        U32(X1, mark(X2)) -> U32(X1, X2),
                      U32(X1, active(X2)) -> U32(X1, X2),
                        U32(mark(X1), X2) -> U32(X1, X2),
                      U32(active(X1), X2) -> U32(X1, X2),
                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                             U33(mark(X)) -> U33(X),
                           U33(active(X)) -> U33(X),
                        U41(X1, mark(X2)) -> U41(X1, X2),
                      U41(X1, active(X2)) -> U41(X1, X2),
                        U41(mark(X1), X2) -> U41(X1, X2),
                      U41(active(X1), X2) -> U41(X1, X2),
                               s(mark(X)) -> s(X),
                             s(active(X)) -> s(X),
                       plus(X1, mark(X2)) -> plus(X1, X2),
                     plus(X1, active(X2)) -> plus(X1, X2),
                       plus(mark(X1), X2) -> plus(X1, X2),
                     plus(active(X1), X2) -> plus(X1, X2),
                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                             U61(mark(X)) -> U61(X),
                           U61(active(X)) -> U61(X),
                          x(X1, mark(X2)) -> x(X1, X2),
                        x(X1, active(X2)) -> x(X1, X2),
                          x(mark(X1), X2) -> x(X1, X2),
                        x(active(X1), X2) -> x(X1, X2),
                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                        and(X1, mark(X2)) -> and(X1, X2),
                      and(X1, active(X2)) -> and(X1, X2),
                        and(mark(X1), X2) -> and(X1, X2),
                      and(active(X1), X2) -> and(X1, X2),
                       isNatKind(mark(X)) -> isNatKind(X),
                     isNatKind(active(X)) -> isNatKind(X)}
         SPSC:
          Simple Projection:
           pi(isNat#) = 0
          Strict:
           {}
          Qed
    SCC:
     Strict:
      {  U12#(X1, mark(X2)) -> U12#(X1, X2),
       U12#(X1, active(X2)) -> U12#(X1, X2),
         U12#(mark(X1), X2) -> U12#(X1, X2),
       U12#(active(X1), X2) -> U12#(X1, X2)}
     Weak:
     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                       mark(isNat(X)) -> active(isNat(X)),
                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                           mark(tt()) -> active(tt()),
                         mark(U13(X)) -> active(U13(mark(X))),
                         mark(U22(X)) -> active(U22(mark(X))),
                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                         mark(U33(X)) -> active(U33(mark(X))),
                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                           mark(s(X)) -> active(s(mark(X))),
                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                            mark(0()) -> active(0()),
                         mark(U61(X)) -> active(U61(mark(X))),
                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                   mark(isNatKind(X)) -> active(isNatKind(X)),
                    U12(X1, mark(X2)) -> U12(X1, X2),
                  U12(X1, active(X2)) -> U12(X1, X2),
                    U12(mark(X1), X2) -> U12(X1, X2),
                  U12(active(X1), X2) -> U12(X1, X2),
                       isNat(mark(X)) -> isNat(X),
                     isNat(active(X)) -> isNat(X),
                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                   active(isNat(0())) -> mark(tt()),
             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                    active(U13(tt())) -> mark(tt()),
                    active(U22(tt())) -> mark(tt()),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                    active(U33(tt())) -> mark(tt()),
                 active(U41(tt(), N)) -> mark(N),
                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                    active(U61(tt())) -> mark(0()),
                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                 active(and(tt(), X)) -> mark(X),
             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
               active(isNatKind(0())) -> mark(tt()),
         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                         U13(mark(X)) -> U13(X),
                       U13(active(X)) -> U13(X),
                         U22(mark(X)) -> U22(X),
                       U22(active(X)) -> U22(X),
                    U21(X1, mark(X2)) -> U21(X1, X2),
                  U21(X1, active(X2)) -> U21(X1, X2),
                    U21(mark(X1), X2) -> U21(X1, X2),
                  U21(active(X1), X2) -> U21(X1, X2),
                    U32(X1, mark(X2)) -> U32(X1, X2),
                  U32(X1, active(X2)) -> U32(X1, X2),
                    U32(mark(X1), X2) -> U32(X1, X2),
                  U32(active(X1), X2) -> U32(X1, X2),
                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                         U33(mark(X)) -> U33(X),
                       U33(active(X)) -> U33(X),
                    U41(X1, mark(X2)) -> U41(X1, X2),
                  U41(X1, active(X2)) -> U41(X1, X2),
                    U41(mark(X1), X2) -> U41(X1, X2),
                  U41(active(X1), X2) -> U41(X1, X2),
                           s(mark(X)) -> s(X),
                         s(active(X)) -> s(X),
                   plus(X1, mark(X2)) -> plus(X1, X2),
                 plus(X1, active(X2)) -> plus(X1, X2),
                   plus(mark(X1), X2) -> plus(X1, X2),
                 plus(active(X1), X2) -> plus(X1, X2),
                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                         U61(mark(X)) -> U61(X),
                       U61(active(X)) -> U61(X),
                      x(X1, mark(X2)) -> x(X1, X2),
                    x(X1, active(X2)) -> x(X1, X2),
                      x(mark(X1), X2) -> x(X1, X2),
                    x(active(X1), X2) -> x(X1, X2),
                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                    and(X1, mark(X2)) -> and(X1, X2),
                  and(X1, active(X2)) -> and(X1, X2),
                    and(mark(X1), X2) -> and(X1, X2),
                  and(active(X1), X2) -> and(X1, X2),
                   isNatKind(mark(X)) -> isNatKind(X),
                 isNatKind(active(X)) -> isNatKind(X)}
     SPSC:
      Simple Projection:
       pi(U12#) = 1
      Strict:
       {  U12#(X1, mark(X2)) -> U12#(X1, X2),
          U12#(mark(X1), X2) -> U12#(X1, X2),
        U12#(active(X1), X2) -> U12#(X1, X2)}
      EDG:
       {(U12#(mark(X1), X2) -> U12#(X1, X2), U12#(active(X1), X2) -> U12#(X1, X2))
        (U12#(mark(X1), X2) -> U12#(X1, X2), U12#(mark(X1), X2) -> U12#(X1, X2))
        (U12#(mark(X1), X2) -> U12#(X1, X2), U12#(X1, mark(X2)) -> U12#(X1, X2))
        (U12#(active(X1), X2) -> U12#(X1, X2), U12#(X1, mark(X2)) -> U12#(X1, X2))
        (U12#(active(X1), X2) -> U12#(X1, X2), U12#(mark(X1), X2) -> U12#(X1, X2))
        (U12#(active(X1), X2) -> U12#(X1, X2), U12#(active(X1), X2) -> U12#(X1, X2))
        (U12#(X1, mark(X2)) -> U12#(X1, X2), U12#(X1, mark(X2)) -> U12#(X1, X2))
        (U12#(X1, mark(X2)) -> U12#(X1, X2), U12#(mark(X1), X2) -> U12#(X1, X2))
        (U12#(X1, mark(X2)) -> U12#(X1, X2), U12#(active(X1), X2) -> U12#(X1, X2))}
       SCCS:
        Scc:
         {  U12#(X1, mark(X2)) -> U12#(X1, X2),
            U12#(mark(X1), X2) -> U12#(X1, X2),
          U12#(active(X1), X2) -> U12#(X1, X2)}
        SCC:
         Strict:
          {  U12#(X1, mark(X2)) -> U12#(X1, X2),
             U12#(mark(X1), X2) -> U12#(X1, X2),
           U12#(active(X1), X2) -> U12#(X1, X2)}
         Weak:
         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                           mark(isNat(X)) -> active(isNat(X)),
                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                               mark(tt()) -> active(tt()),
                             mark(U13(X)) -> active(U13(mark(X))),
                             mark(U22(X)) -> active(U22(mark(X))),
                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                             mark(U33(X)) -> active(U33(mark(X))),
                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                               mark(s(X)) -> active(s(mark(X))),
                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                mark(0()) -> active(0()),
                             mark(U61(X)) -> active(U61(mark(X))),
                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                       mark(isNatKind(X)) -> active(isNatKind(X)),
                        U12(X1, mark(X2)) -> U12(X1, X2),
                      U12(X1, active(X2)) -> U12(X1, X2),
                        U12(mark(X1), X2) -> U12(X1, X2),
                      U12(active(X1), X2) -> U12(X1, X2),
                           isNat(mark(X)) -> isNat(X),
                         isNat(active(X)) -> isNat(X),
                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                       active(isNat(0())) -> mark(tt()),
                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                        active(U13(tt())) -> mark(tt()),
                        active(U22(tt())) -> mark(tt()),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                        active(U33(tt())) -> mark(tt()),
                     active(U41(tt(), N)) -> mark(N),
                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                        active(U61(tt())) -> mark(0()),
                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                     active(and(tt(), X)) -> mark(X),
                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                   active(isNatKind(0())) -> mark(tt()),
             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                             U13(mark(X)) -> U13(X),
                           U13(active(X)) -> U13(X),
                             U22(mark(X)) -> U22(X),
                           U22(active(X)) -> U22(X),
                        U21(X1, mark(X2)) -> U21(X1, X2),
                      U21(X1, active(X2)) -> U21(X1, X2),
                        U21(mark(X1), X2) -> U21(X1, X2),
                      U21(active(X1), X2) -> U21(X1, X2),
                        U32(X1, mark(X2)) -> U32(X1, X2),
                      U32(X1, active(X2)) -> U32(X1, X2),
                        U32(mark(X1), X2) -> U32(X1, X2),
                      U32(active(X1), X2) -> U32(X1, X2),
                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                             U33(mark(X)) -> U33(X),
                           U33(active(X)) -> U33(X),
                        U41(X1, mark(X2)) -> U41(X1, X2),
                      U41(X1, active(X2)) -> U41(X1, X2),
                        U41(mark(X1), X2) -> U41(X1, X2),
                      U41(active(X1), X2) -> U41(X1, X2),
                               s(mark(X)) -> s(X),
                             s(active(X)) -> s(X),
                       plus(X1, mark(X2)) -> plus(X1, X2),
                     plus(X1, active(X2)) -> plus(X1, X2),
                       plus(mark(X1), X2) -> plus(X1, X2),
                     plus(active(X1), X2) -> plus(X1, X2),
                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                             U61(mark(X)) -> U61(X),
                           U61(active(X)) -> U61(X),
                          x(X1, mark(X2)) -> x(X1, X2),
                        x(X1, active(X2)) -> x(X1, X2),
                          x(mark(X1), X2) -> x(X1, X2),
                        x(active(X1), X2) -> x(X1, X2),
                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                        and(X1, mark(X2)) -> and(X1, X2),
                      and(X1, active(X2)) -> and(X1, X2),
                        and(mark(X1), X2) -> and(X1, X2),
                      and(active(X1), X2) -> and(X1, X2),
                       isNatKind(mark(X)) -> isNatKind(X),
                     isNatKind(active(X)) -> isNatKind(X)}
         SPSC:
          Simple Projection:
           pi(U12#) = 0
          Strict:
           {  U12#(X1, mark(X2)) -> U12#(X1, X2),
            U12#(active(X1), X2) -> U12#(X1, X2)}
          EDG:
           {(U12#(active(X1), X2) -> U12#(X1, X2), U12#(active(X1), X2) -> U12#(X1, X2))
            (U12#(active(X1), X2) -> U12#(X1, X2), U12#(X1, mark(X2)) -> U12#(X1, X2))
            (U12#(X1, mark(X2)) -> U12#(X1, X2), U12#(X1, mark(X2)) -> U12#(X1, X2))
            (U12#(X1, mark(X2)) -> U12#(X1, X2), U12#(active(X1), X2) -> U12#(X1, X2))}
           SCCS:
            Scc:
             {  U12#(X1, mark(X2)) -> U12#(X1, X2),
              U12#(active(X1), X2) -> U12#(X1, X2)}
            SCC:
             Strict:
              {  U12#(X1, mark(X2)) -> U12#(X1, X2),
               U12#(active(X1), X2) -> U12#(X1, X2)}
             Weak:
             {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                               mark(isNat(X)) -> active(isNat(X)),
                        mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                   mark(tt()) -> active(tt()),
                                 mark(U13(X)) -> active(U13(mark(X))),
                                 mark(U22(X)) -> active(U22(mark(X))),
                            mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                            mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                        mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                 mark(U33(X)) -> active(U33(mark(X))),
                            mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                   mark(s(X)) -> active(s(mark(X))),
                           mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                        mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                    mark(0()) -> active(0()),
                                 mark(U61(X)) -> active(U61(mark(X))),
                              mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                        mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                            mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                           mark(isNatKind(X)) -> active(isNatKind(X)),
                            U12(X1, mark(X2)) -> U12(X1, X2),
                          U12(X1, active(X2)) -> U12(X1, X2),
                            U12(mark(X1), X2) -> U12(X1, X2),
                          U12(active(X1), X2) -> U12(X1, X2),
                               isNat(mark(X)) -> isNat(X),
                             isNat(active(X)) -> isNat(X),
                        active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                         active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                  active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                           active(isNat(0())) -> mark(tt()),
                     active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                    active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                            active(U13(tt())) -> mark(tt()),
                            active(U22(tt())) -> mark(tt()),
                        active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                        active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                    active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                            active(U33(tt())) -> mark(tt()),
                         active(U41(tt(), N)) -> mark(N),
                        active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                         active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                      active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                            active(U61(tt())) -> mark(0()),
                           active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                            active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                      active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                         active(and(tt(), X)) -> mark(X),
                     active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
              active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                       active(isNatKind(0())) -> mark(tt()),
                 active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                        U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                      U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                        U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                      U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                        U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                      U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                 U13(mark(X)) -> U13(X),
                               U13(active(X)) -> U13(X),
                                 U22(mark(X)) -> U22(X),
                               U22(active(X)) -> U22(X),
                            U21(X1, mark(X2)) -> U21(X1, X2),
                          U21(X1, active(X2)) -> U21(X1, X2),
                            U21(mark(X1), X2) -> U21(X1, X2),
                          U21(active(X1), X2) -> U21(X1, X2),
                            U32(X1, mark(X2)) -> U32(X1, X2),
                          U32(X1, active(X2)) -> U32(X1, X2),
                            U32(mark(X1), X2) -> U32(X1, X2),
                          U32(active(X1), X2) -> U32(X1, X2),
                        U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                      U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                        U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                      U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                        U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                      U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                 U33(mark(X)) -> U33(X),
                               U33(active(X)) -> U33(X),
                            U41(X1, mark(X2)) -> U41(X1, X2),
                          U41(X1, active(X2)) -> U41(X1, X2),
                            U41(mark(X1), X2) -> U41(X1, X2),
                          U41(active(X1), X2) -> U41(X1, X2),
                                   s(mark(X)) -> s(X),
                                 s(active(X)) -> s(X),
                           plus(X1, mark(X2)) -> plus(X1, X2),
                         plus(X1, active(X2)) -> plus(X1, X2),
                           plus(mark(X1), X2) -> plus(X1, X2),
                         plus(active(X1), X2) -> plus(X1, X2),
                        U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                      U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                        U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                      U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                        U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                      U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                 U61(mark(X)) -> U61(X),
                               U61(active(X)) -> U61(X),
                              x(X1, mark(X2)) -> x(X1, X2),
                            x(X1, active(X2)) -> x(X1, X2),
                              x(mark(X1), X2) -> x(X1, X2),
                            x(active(X1), X2) -> x(X1, X2),
                        U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                      U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                        U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                      U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                        U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                      U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                            and(X1, mark(X2)) -> and(X1, X2),
                          and(X1, active(X2)) -> and(X1, X2),
                            and(mark(X1), X2) -> and(X1, X2),
                          and(active(X1), X2) -> and(X1, X2),
                           isNatKind(mark(X)) -> isNatKind(X),
                         isNatKind(active(X)) -> isNatKind(X)}
             SPSC:
              Simple Projection:
               pi(U12#) = 0
              Strict:
               {U12#(X1, mark(X2)) -> U12#(X1, X2)}
              EDG:
               {(U12#(X1, mark(X2)) -> U12#(X1, X2), U12#(X1, mark(X2)) -> U12#(X1, X2))}
               SCCS:
                Scc:
                 {U12#(X1, mark(X2)) -> U12#(X1, X2)}
                SCC:
                 Strict:
                  {U12#(X1, mark(X2)) -> U12#(X1, X2)}
                 Weak:
                 {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                                   mark(isNat(X)) -> active(isNat(X)),
                            mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                                       mark(tt()) -> active(tt()),
                                     mark(U13(X)) -> active(U13(mark(X))),
                                     mark(U22(X)) -> active(U22(mark(X))),
                                mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                                mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                            mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                                     mark(U33(X)) -> active(U33(mark(X))),
                                mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                                       mark(s(X)) -> active(s(mark(X))),
                               mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                            mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                        mark(0()) -> active(0()),
                                     mark(U61(X)) -> active(U61(mark(X))),
                                  mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                            mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                                mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                               mark(isNatKind(X)) -> active(isNatKind(X)),
                                U12(X1, mark(X2)) -> U12(X1, X2),
                              U12(X1, active(X2)) -> U12(X1, X2),
                                U12(mark(X1), X2) -> U12(X1, X2),
                              U12(active(X1), X2) -> U12(X1, X2),
                                   isNat(mark(X)) -> isNat(X),
                                 isNat(active(X)) -> isNat(X),
                            active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                             active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
                      active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                               active(isNat(0())) -> mark(tt()),
                         active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                        active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                                active(U13(tt())) -> mark(tt()),
                                active(U22(tt())) -> mark(tt()),
                            active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                            active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                        active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                                active(U33(tt())) -> mark(tt()),
                             active(U41(tt(), N)) -> mark(N),
                            active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                             active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                          active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                                active(U61(tt())) -> mark(0()),
                               active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                                active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                          active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                             active(and(tt(), X)) -> mark(X),
                         active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
                  active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                           active(isNatKind(0())) -> mark(tt()),
                     active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                            U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                          U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                            U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                          U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                            U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                          U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                                     U13(mark(X)) -> U13(X),
                                   U13(active(X)) -> U13(X),
                                     U22(mark(X)) -> U22(X),
                                   U22(active(X)) -> U22(X),
                                U21(X1, mark(X2)) -> U21(X1, X2),
                              U21(X1, active(X2)) -> U21(X1, X2),
                                U21(mark(X1), X2) -> U21(X1, X2),
                              U21(active(X1), X2) -> U21(X1, X2),
                                U32(X1, mark(X2)) -> U32(X1, X2),
                              U32(X1, active(X2)) -> U32(X1, X2),
                                U32(mark(X1), X2) -> U32(X1, X2),
                              U32(active(X1), X2) -> U32(X1, X2),
                            U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                          U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                            U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                          U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                            U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                          U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                                     U33(mark(X)) -> U33(X),
                                   U33(active(X)) -> U33(X),
                                U41(X1, mark(X2)) -> U41(X1, X2),
                              U41(X1, active(X2)) -> U41(X1, X2),
                                U41(mark(X1), X2) -> U41(X1, X2),
                              U41(active(X1), X2) -> U41(X1, X2),
                                       s(mark(X)) -> s(X),
                                     s(active(X)) -> s(X),
                               plus(X1, mark(X2)) -> plus(X1, X2),
                             plus(X1, active(X2)) -> plus(X1, X2),
                               plus(mark(X1), X2) -> plus(X1, X2),
                             plus(active(X1), X2) -> plus(X1, X2),
                            U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                          U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                            U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                          U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                            U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                          U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                                     U61(mark(X)) -> U61(X),
                                   U61(active(X)) -> U61(X),
                                  x(X1, mark(X2)) -> x(X1, X2),
                                x(X1, active(X2)) -> x(X1, X2),
                                  x(mark(X1), X2) -> x(X1, X2),
                                x(active(X1), X2) -> x(X1, X2),
                            U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                          U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                            U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                          U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                            U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                          U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                                and(X1, mark(X2)) -> and(X1, X2),
                              and(X1, active(X2)) -> and(X1, X2),
                                and(mark(X1), X2) -> and(X1, X2),
                              and(active(X1), X2) -> and(X1, X2),
                               isNatKind(mark(X)) -> isNatKind(X),
                             isNatKind(active(X)) -> isNatKind(X)}
                 SPSC:
                  Simple Projection:
                   pi(U12#) = 1
                  Strict:
                   {}
                  Qed
    SCC:
     Strict:
      {              mark#(U12(X1, X2)) -> mark#(X1),
                     mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)),
                        mark#(isNat(X)) -> active#(isNat(X)),
                 mark#(U11(X1, X2, X3)) -> mark#(X1),
                 mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)),
                          mark#(U13(X)) -> mark#(X),
                          mark#(U13(X)) -> active#(U13(mark(X))),
                          mark#(U22(X)) -> mark#(X),
                          mark#(U22(X)) -> active#(U22(mark(X))),
                     mark#(U21(X1, X2)) -> mark#(X1),
                     mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)),
                     mark#(U32(X1, X2)) -> mark#(X1),
                     mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)),
                 mark#(U31(X1, X2, X3)) -> mark#(X1),
                 mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)),
                          mark#(U33(X)) -> mark#(X),
                          mark#(U33(X)) -> active#(U33(mark(X))),
                     mark#(U41(X1, X2)) -> mark#(X1),
                     mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)),
                            mark#(s(X)) -> mark#(X),
                            mark#(s(X)) -> active#(s(mark(X))),
                    mark#(plus(X1, X2)) -> mark#(X1),
                    mark#(plus(X1, X2)) -> mark#(X2),
                    mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))),
                 mark#(U51(X1, X2, X3)) -> mark#(X1),
                 mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)),
                          mark#(U61(X)) -> mark#(X),
                          mark#(U61(X)) -> active#(U61(mark(X))),
                       mark#(x(X1, X2)) -> mark#(X1),
                       mark#(x(X1, X2)) -> mark#(X2),
                       mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))),
                 mark#(U71(X1, X2, X3)) -> mark#(X1),
                 mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)),
                     mark#(and(X1, X2)) -> mark#(X1),
                     mark#(and(X1, X2)) -> active#(and(mark(X1), X2)),
                    mark#(isNatKind(X)) -> active#(isNatKind(X)),
                 active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))),
                  active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)),
           active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
              active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
             active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)),
                 active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))),
                 active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))),
             active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)),
                  active#(U41(tt(), N)) -> mark#(N),
                 active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                  active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)),
               active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))),
                    active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))),
               active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)),
                  active#(and(tt(), X)) -> mark#(X),
              active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)),
       active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))),
          active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2)))}
     Weak:
     {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                       mark(isNat(X)) -> active(isNat(X)),
                mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                           mark(tt()) -> active(tt()),
                         mark(U13(X)) -> active(U13(mark(X))),
                         mark(U22(X)) -> active(U22(mark(X))),
                    mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                    mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                         mark(U33(X)) -> active(U33(mark(X))),
                    mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                           mark(s(X)) -> active(s(mark(X))),
                   mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                            mark(0()) -> active(0()),
                         mark(U61(X)) -> active(U61(mark(X))),
                      mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                    mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                   mark(isNatKind(X)) -> active(isNatKind(X)),
                    U12(X1, mark(X2)) -> U12(X1, X2),
                  U12(X1, active(X2)) -> U12(X1, X2),
                    U12(mark(X1), X2) -> U12(X1, X2),
                  U12(active(X1), X2) -> U12(X1, X2),
                       isNat(mark(X)) -> isNat(X),
                     isNat(active(X)) -> isNat(X),
                active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
          active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                   active(isNat(0())) -> mark(tt()),
             active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
            active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                    active(U13(tt())) -> mark(tt()),
                    active(U22(tt())) -> mark(tt()),
                active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
            active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                    active(U33(tt())) -> mark(tt()),
                 active(U41(tt(), N)) -> mark(N),
                active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                 active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
              active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                    active(U61(tt())) -> mark(0()),
                   active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                    active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
              active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                 active(and(tt(), X)) -> mark(X),
             active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
      active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
               active(isNatKind(0())) -> mark(tt()),
         active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
              U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
              U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
              U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                         U13(mark(X)) -> U13(X),
                       U13(active(X)) -> U13(X),
                         U22(mark(X)) -> U22(X),
                       U22(active(X)) -> U22(X),
                    U21(X1, mark(X2)) -> U21(X1, X2),
                  U21(X1, active(X2)) -> U21(X1, X2),
                    U21(mark(X1), X2) -> U21(X1, X2),
                  U21(active(X1), X2) -> U21(X1, X2),
                    U32(X1, mark(X2)) -> U32(X1, X2),
                  U32(X1, active(X2)) -> U32(X1, X2),
                    U32(mark(X1), X2) -> U32(X1, X2),
                  U32(active(X1), X2) -> U32(X1, X2),
                U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
              U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
              U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
              U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                         U33(mark(X)) -> U33(X),
                       U33(active(X)) -> U33(X),
                    U41(X1, mark(X2)) -> U41(X1, X2),
                  U41(X1, active(X2)) -> U41(X1, X2),
                    U41(mark(X1), X2) -> U41(X1, X2),
                  U41(active(X1), X2) -> U41(X1, X2),
                           s(mark(X)) -> s(X),
                         s(active(X)) -> s(X),
                   plus(X1, mark(X2)) -> plus(X1, X2),
                 plus(X1, active(X2)) -> plus(X1, X2),
                   plus(mark(X1), X2) -> plus(X1, X2),
                 plus(active(X1), X2) -> plus(X1, X2),
                U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
              U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
              U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
              U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                         U61(mark(X)) -> U61(X),
                       U61(active(X)) -> U61(X),
                      x(X1, mark(X2)) -> x(X1, X2),
                    x(X1, active(X2)) -> x(X1, X2),
                      x(mark(X1), X2) -> x(X1, X2),
                    x(active(X1), X2) -> x(X1, X2),
                U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
              U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
              U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
              U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                    and(X1, mark(X2)) -> and(X1, X2),
                  and(X1, active(X2)) -> and(X1, X2),
                    and(mark(X1), X2) -> and(X1, X2),
                  and(active(X1), X2) -> and(X1, X2),
                   isNatKind(mark(X)) -> isNatKind(X),
                 isNatKind(active(X)) -> isNatKind(X)}
     POLY:
      Argument Filtering:
       pi(isNatKind) = [], pi(and) = [], pi(U71) = [], pi(x) = [], pi(U61) = [], pi(0) = [], pi(U51) = [], pi(plus) = [], pi(s) = [], pi(U41) = [], pi(U33) = [], pi(U31) = [], pi(U32) = [], pi(U21) = [], pi(U22) = [], pi(U13) = [], pi(tt) = [], pi(U11) = [], pi(active#) = 0, pi(active) = [], pi(isNat) = [], pi(U12) = [], pi(mark#) = [], pi(mark) = []
      Usable Rules:
       {}
      Interpretation:
       [mark#] = 1,
       [U71] = 1,
       [U51] = 1,
       [U31] = 1,
       [U11] = 1,
       [and] = 1,
       [x] = 1,
       [plus] = 1,
       [U41] = 1,
       [U32] = 1,
       [U21] = 1,
       [U12] = 1,
       [isNatKind] = 1,
       [U61] = 0,
       [s] = 0,
       [U33] = 0,
       [U22] = 0,
       [U13] = 0,
       [isNat] = 1
      Strict:
       {              mark#(U12(X1, X2)) -> mark#(X1),
                      mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)),
                         mark#(isNat(X)) -> active#(isNat(X)),
                  mark#(U11(X1, X2, X3)) -> mark#(X1),
                  mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)),
                           mark#(U13(X)) -> mark#(X),
                           mark#(U22(X)) -> mark#(X),
                      mark#(U21(X1, X2)) -> mark#(X1),
                      mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)),
                      mark#(U32(X1, X2)) -> mark#(X1),
                      mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)),
                  mark#(U31(X1, X2, X3)) -> mark#(X1),
                  mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)),
                           mark#(U33(X)) -> mark#(X),
                      mark#(U41(X1, X2)) -> mark#(X1),
                      mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)),
                             mark#(s(X)) -> mark#(X),
                     mark#(plus(X1, X2)) -> mark#(X1),
                     mark#(plus(X1, X2)) -> mark#(X2),
                     mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))),
                  mark#(U51(X1, X2, X3)) -> mark#(X1),
                  mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)),
                           mark#(U61(X)) -> mark#(X),
                        mark#(x(X1, X2)) -> mark#(X1),
                        mark#(x(X1, X2)) -> mark#(X2),
                        mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))),
                  mark#(U71(X1, X2, X3)) -> mark#(X1),
                  mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)),
                      mark#(and(X1, X2)) -> mark#(X1),
                      mark#(and(X1, X2)) -> active#(and(mark(X1), X2)),
                     mark#(isNatKind(X)) -> active#(isNatKind(X)),
                  active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))),
                   active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)),
            active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
               active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
              active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)),
                  active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))),
                  active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))),
              active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)),
                   active#(U41(tt(), N)) -> mark#(N),
                  active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                   active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)),
                active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))),
                     active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                      active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))),
                active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)),
                   active#(and(tt(), X)) -> mark#(X),
               active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)),
        active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))),
           active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2)))}
      Weak:
       {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                         mark(isNat(X)) -> active(isNat(X)),
                  mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                             mark(tt()) -> active(tt()),
                           mark(U13(X)) -> active(U13(mark(X))),
                           mark(U22(X)) -> active(U22(mark(X))),
                      mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                      mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                  mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                           mark(U33(X)) -> active(U33(mark(X))),
                      mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                             mark(s(X)) -> active(s(mark(X))),
                     mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                  mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                              mark(0()) -> active(0()),
                           mark(U61(X)) -> active(U61(mark(X))),
                        mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                  mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                      mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                     mark(isNatKind(X)) -> active(isNatKind(X)),
                      U12(X1, mark(X2)) -> U12(X1, X2),
                    U12(X1, active(X2)) -> U12(X1, X2),
                      U12(mark(X1), X2) -> U12(X1, X2),
                    U12(active(X1), X2) -> U12(X1, X2),
                         isNat(mark(X)) -> isNat(X),
                       isNat(active(X)) -> isNat(X),
                  active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                   active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
            active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                     active(isNat(0())) -> mark(tt()),
               active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
              active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                      active(U13(tt())) -> mark(tt()),
                      active(U22(tt())) -> mark(tt()),
                  active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                  active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
              active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                      active(U33(tt())) -> mark(tt()),
                   active(U41(tt(), N)) -> mark(N),
                  active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                   active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                      active(U61(tt())) -> mark(0()),
                     active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                      active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                   active(and(tt(), X)) -> mark(X),
               active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
        active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                 active(isNatKind(0())) -> mark(tt()),
           active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                  U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                  U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                  U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                           U13(mark(X)) -> U13(X),
                         U13(active(X)) -> U13(X),
                           U22(mark(X)) -> U22(X),
                         U22(active(X)) -> U22(X),
                      U21(X1, mark(X2)) -> U21(X1, X2),
                    U21(X1, active(X2)) -> U21(X1, X2),
                      U21(mark(X1), X2) -> U21(X1, X2),
                    U21(active(X1), X2) -> U21(X1, X2),
                      U32(X1, mark(X2)) -> U32(X1, X2),
                    U32(X1, active(X2)) -> U32(X1, X2),
                      U32(mark(X1), X2) -> U32(X1, X2),
                    U32(active(X1), X2) -> U32(X1, X2),
                  U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                  U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                  U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                           U33(mark(X)) -> U33(X),
                         U33(active(X)) -> U33(X),
                      U41(X1, mark(X2)) -> U41(X1, X2),
                    U41(X1, active(X2)) -> U41(X1, X2),
                      U41(mark(X1), X2) -> U41(X1, X2),
                    U41(active(X1), X2) -> U41(X1, X2),
                             s(mark(X)) -> s(X),
                           s(active(X)) -> s(X),
                     plus(X1, mark(X2)) -> plus(X1, X2),
                   plus(X1, active(X2)) -> plus(X1, X2),
                     plus(mark(X1), X2) -> plus(X1, X2),
                   plus(active(X1), X2) -> plus(X1, X2),
                  U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                  U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                  U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                           U61(mark(X)) -> U61(X),
                         U61(active(X)) -> U61(X),
                        x(X1, mark(X2)) -> x(X1, X2),
                      x(X1, active(X2)) -> x(X1, X2),
                        x(mark(X1), X2) -> x(X1, X2),
                      x(active(X1), X2) -> x(X1, X2),
                  U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                  U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                  U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                      and(X1, mark(X2)) -> and(X1, X2),
                    and(X1, active(X2)) -> and(X1, X2),
                      and(mark(X1), X2) -> and(X1, X2),
                    and(active(X1), X2) -> and(X1, X2),
                     isNatKind(mark(X)) -> isNatKind(X),
                   isNatKind(active(X)) -> isNatKind(X)}
      EDG:
       {
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> mark#(X))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (mark#(U11(X1, X2, X3)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (mark#(U32(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (mark#(U41(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> mark#(X))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (mark#(U51(X1, X2, X3)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> mark#(X))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (mark#(U71(X1, X2, X3)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
        (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
        (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(and(tt(), X)) -> mark#(X))
        (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
        (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
        (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
        (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
        (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U41(tt(), N)) -> mark#(N))
        (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
        (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
        (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
        (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
        (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
        (mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
        (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
        (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(and(tt(), X)) -> mark#(X))
        (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
        (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
        (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
        (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
        (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U41(tt(), N)) -> mark#(N))
        (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
        (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
        (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
        (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
        (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
        (mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(and(X1, X2)) -> mark#(X1))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(x(X1, X2)) -> mark#(X2))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(x(X1, X2)) -> mark#(X1))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U61(X)) -> mark#(X))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(plus(X1, X2)) -> mark#(X2))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(plus(X1, X2)) -> mark#(X1))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(s(X)) -> mark#(X))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U41(X1, X2)) -> mark#(X1))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U33(X)) -> mark#(X))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U32(X1, X2)) -> mark#(X1))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U21(X1, X2)) -> mark#(X1))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U22(X)) -> mark#(X))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U13(X)) -> mark#(X))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(isNat(X)) -> active#(isNat(X)))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U12(X1, X2)) -> mark#(X1))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(and(X1, X2)) -> mark#(X1))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(x(X1, X2)) -> mark#(X2))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(x(X1, X2)) -> mark#(X1))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U61(X)) -> mark#(X))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(plus(X1, X2)) -> mark#(X2))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(plus(X1, X2)) -> mark#(X1))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(s(X)) -> mark#(X))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U41(X1, X2)) -> mark#(X1))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U33(X)) -> mark#(X))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U32(X1, X2)) -> mark#(X1))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U21(X1, X2)) -> mark#(X1))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U22(X)) -> mark#(X))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U13(X)) -> mark#(X))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(isNat(X)) -> active#(isNat(X)))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U12(X1, X2)) -> mark#(X1))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(and(X1, X2)) -> mark#(X1))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(x(X1, X2)) -> mark#(X2))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(x(X1, X2)) -> mark#(X1))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U61(X)) -> mark#(X))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(plus(X1, X2)) -> mark#(X2))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(plus(X1, X2)) -> mark#(X1))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(s(X)) -> mark#(X))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U41(X1, X2)) -> mark#(X1))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U33(X)) -> mark#(X))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U32(X1, X2)) -> mark#(X1))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U21(X1, X2)) -> mark#(X1))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U22(X)) -> mark#(X))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U13(X)) -> mark#(X))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(isNat(X)) -> active#(isNat(X)))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))), mark#(U12(X1, X2)) -> mark#(X1))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(and(X1, X2)) -> mark#(X1))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(x(X1, X2)) -> mark#(X2))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(x(X1, X2)) -> mark#(X1))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U61(X)) -> mark#(X))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(plus(X1, X2)) -> mark#(X2))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(plus(X1, X2)) -> mark#(X1))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(s(X)) -> mark#(X))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U41(X1, X2)) -> mark#(X1))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U33(X)) -> mark#(X))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U32(X1, X2)) -> mark#(X1))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U21(X1, X2)) -> mark#(X1))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U22(X)) -> mark#(X))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U13(X)) -> mark#(X))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(isNat(X)) -> active#(isNat(X)))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))), mark#(U12(X1, X2)) -> mark#(X1))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(and(X1, X2)) -> mark#(X1))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(x(X1, X2)) -> mark#(X2))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(x(X1, X2)) -> mark#(X1))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U61(X)) -> mark#(X))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(plus(X1, X2)) -> mark#(X2))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(plus(X1, X2)) -> mark#(X1))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(s(X)) -> mark#(X))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U41(X1, X2)) -> mark#(X1))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U33(X)) -> mark#(X))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U32(X1, X2)) -> mark#(X1))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U21(X1, X2)) -> mark#(X1))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U22(X)) -> mark#(X))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U13(X)) -> mark#(X))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(isNat(X)) -> active#(isNat(X)))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))), mark#(U12(X1, X2)) -> mark#(X1))
        (mark#(isNat(X)) -> active#(isNat(X)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(isNat(X)) -> active#(isNat(X)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(isNat(X)) -> active#(isNat(X)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
        (mark#(isNat(X)) -> active#(isNat(X)), active#(and(tt(), X)) -> mark#(X))
        (mark#(isNat(X)) -> active#(isNat(X)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
        (mark#(isNat(X)) -> active#(isNat(X)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
        (mark#(isNat(X)) -> active#(isNat(X)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(isNat(X)) -> active#(isNat(X)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
        (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
        (mark#(isNat(X)) -> active#(isNat(X)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(isNat(X)) -> active#(isNat(X)), active#(U41(tt(), N)) -> mark#(N))
        (mark#(isNat(X)) -> active#(isNat(X)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
        (mark#(isNat(X)) -> active#(isNat(X)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
        (mark#(isNat(X)) -> active#(isNat(X)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
        (mark#(isNat(X)) -> active#(isNat(X)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
        (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(isNat(X)) -> active#(isNat(X)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
        (mark#(isNat(X)) -> active#(isNat(X)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
        (mark#(U13(X)) -> mark#(X), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (mark#(U13(X)) -> mark#(X), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (mark#(U13(X)) -> mark#(X), mark#(and(X1, X2)) -> mark#(X1))
        (mark#(U13(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (mark#(U13(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (mark#(U13(X)) -> mark#(X), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (mark#(U13(X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X2))
        (mark#(U13(X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X1))
        (mark#(U13(X)) -> mark#(X), mark#(U61(X)) -> mark#(X))
        (mark#(U13(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (mark#(U13(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (mark#(U13(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (mark#(U13(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2))
        (mark#(U13(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1))
        (mark#(U13(X)) -> mark#(X), mark#(s(X)) -> mark#(X))
        (mark#(U13(X)) -> mark#(X), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (mark#(U13(X)) -> mark#(X), mark#(U41(X1, X2)) -> mark#(X1))
        (mark#(U13(X)) -> mark#(X), mark#(U33(X)) -> mark#(X))
        (mark#(U13(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (mark#(U13(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (mark#(U13(X)) -> mark#(X), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (mark#(U13(X)) -> mark#(X), mark#(U32(X1, X2)) -> mark#(X1))
        (mark#(U13(X)) -> mark#(X), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (mark#(U13(X)) -> mark#(X), mark#(U21(X1, X2)) -> mark#(X1))
        (mark#(U13(X)) -> mark#(X), mark#(U22(X)) -> mark#(X))
        (mark#(U13(X)) -> mark#(X), mark#(U13(X)) -> mark#(X))
        (mark#(U13(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (mark#(U13(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (mark#(U13(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)))
        (mark#(U13(X)) -> mark#(X), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (mark#(U13(X)) -> mark#(X), mark#(U12(X1, X2)) -> mark#(X1))
        (mark#(U33(X)) -> mark#(X), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (mark#(U33(X)) -> mark#(X), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (mark#(U33(X)) -> mark#(X), mark#(and(X1, X2)) -> mark#(X1))
        (mark#(U33(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (mark#(U33(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (mark#(U33(X)) -> mark#(X), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (mark#(U33(X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X2))
        (mark#(U33(X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X1))
        (mark#(U33(X)) -> mark#(X), mark#(U61(X)) -> mark#(X))
        (mark#(U33(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (mark#(U33(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (mark#(U33(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (mark#(U33(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2))
        (mark#(U33(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1))
        (mark#(U33(X)) -> mark#(X), mark#(s(X)) -> mark#(X))
        (mark#(U33(X)) -> mark#(X), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (mark#(U33(X)) -> mark#(X), mark#(U41(X1, X2)) -> mark#(X1))
        (mark#(U33(X)) -> mark#(X), mark#(U33(X)) -> mark#(X))
        (mark#(U33(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (mark#(U33(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (mark#(U33(X)) -> mark#(X), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (mark#(U33(X)) -> mark#(X), mark#(U32(X1, X2)) -> mark#(X1))
        (mark#(U33(X)) -> mark#(X), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (mark#(U33(X)) -> mark#(X), mark#(U21(X1, X2)) -> mark#(X1))
        (mark#(U33(X)) -> mark#(X), mark#(U22(X)) -> mark#(X))
        (mark#(U33(X)) -> mark#(X), mark#(U13(X)) -> mark#(X))
        (mark#(U33(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (mark#(U33(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (mark#(U33(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)))
        (mark#(U33(X)) -> mark#(X), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (mark#(U33(X)) -> mark#(X), mark#(U12(X1, X2)) -> mark#(X1))
        (mark#(U61(X)) -> mark#(X), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (mark#(U61(X)) -> mark#(X), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (mark#(U61(X)) -> mark#(X), mark#(and(X1, X2)) -> mark#(X1))
        (mark#(U61(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (mark#(U61(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (mark#(U61(X)) -> mark#(X), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (mark#(U61(X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X2))
        (mark#(U61(X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X1))
        (mark#(U61(X)) -> mark#(X), mark#(U61(X)) -> mark#(X))
        (mark#(U61(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (mark#(U61(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (mark#(U61(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (mark#(U61(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2))
        (mark#(U61(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1))
        (mark#(U61(X)) -> mark#(X), mark#(s(X)) -> mark#(X))
        (mark#(U61(X)) -> mark#(X), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (mark#(U61(X)) -> mark#(X), mark#(U41(X1, X2)) -> mark#(X1))
        (mark#(U61(X)) -> mark#(X), mark#(U33(X)) -> mark#(X))
        (mark#(U61(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (mark#(U61(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (mark#(U61(X)) -> mark#(X), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (mark#(U61(X)) -> mark#(X), mark#(U32(X1, X2)) -> mark#(X1))
        (mark#(U61(X)) -> mark#(X), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (mark#(U61(X)) -> mark#(X), mark#(U21(X1, X2)) -> mark#(X1))
        (mark#(U61(X)) -> mark#(X), mark#(U22(X)) -> mark#(X))
        (mark#(U61(X)) -> mark#(X), mark#(U13(X)) -> mark#(X))
        (mark#(U61(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (mark#(U61(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (mark#(U61(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)))
        (mark#(U61(X)) -> mark#(X), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (mark#(U61(X)) -> mark#(X), mark#(U12(X1, X2)) -> mark#(X1))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(and(X1, X2)) -> mark#(X1))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(x(X1, X2)) -> mark#(X2))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(x(X1, X2)) -> mark#(X1))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U61(X)) -> mark#(X))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(plus(X1, X2)) -> mark#(X2))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(plus(X1, X2)) -> mark#(X1))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(s(X)) -> mark#(X))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U41(X1, X2)) -> mark#(X1))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U33(X)) -> mark#(X))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U32(X1, X2)) -> mark#(X1))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U21(X1, X2)) -> mark#(X1))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U22(X)) -> mark#(X))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U13(X)) -> mark#(X))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(isNat(X)) -> active#(isNat(X)))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)), mark#(U12(X1, X2)) -> mark#(X1))
        (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
        (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(and(tt(), X)) -> mark#(X))
        (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
        (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
        (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
        (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
        (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U41(tt(), N)) -> mark#(N))
        (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
        (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
        (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
        (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
        (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
        (mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
        (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
        (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(and(tt(), X)) -> mark#(X))
        (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
        (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
        (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
        (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
        (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U41(tt(), N)) -> mark#(N))
        (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
        (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
        (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
        (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
        (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
        (mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(and(X1, X2)) -> mark#(X1))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(x(X1, X2)) -> mark#(X2))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(x(X1, X2)) -> mark#(X1))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U61(X)) -> mark#(X))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(plus(X1, X2)) -> mark#(X2))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(plus(X1, X2)) -> mark#(X1))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(s(X)) -> mark#(X))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U41(X1, X2)) -> mark#(X1))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U33(X)) -> mark#(X))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U32(X1, X2)) -> mark#(X1))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U21(X1, X2)) -> mark#(X1))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U22(X)) -> mark#(X))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U13(X)) -> mark#(X))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(isNat(X)) -> active#(isNat(X)))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)), mark#(U12(X1, X2)) -> mark#(X1))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(and(X1, X2)) -> mark#(X1))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(x(X1, X2)) -> mark#(X2))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(x(X1, X2)) -> mark#(X1))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U61(X)) -> mark#(X))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(plus(X1, X2)) -> mark#(X2))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(plus(X1, X2)) -> mark#(X1))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(s(X)) -> mark#(X))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U41(X1, X2)) -> mark#(X1))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U33(X)) -> mark#(X))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U32(X1, X2)) -> mark#(X1))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U21(X1, X2)) -> mark#(X1))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U22(X)) -> mark#(X))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U13(X)) -> mark#(X))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X)))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)), mark#(U12(X1, X2)) -> mark#(X1))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(and(X1, X2)) -> mark#(X1))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(x(X1, X2)) -> mark#(X2))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(x(X1, X2)) -> mark#(X1))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U61(X)) -> mark#(X))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(plus(X1, X2)) -> mark#(X2))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(plus(X1, X2)) -> mark#(X1))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(s(X)) -> mark#(X))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U41(X1, X2)) -> mark#(X1))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U33(X)) -> mark#(X))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U32(X1, X2)) -> mark#(X1))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U21(X1, X2)) -> mark#(X1))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U22(X)) -> mark#(X))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U13(X)) -> mark#(X))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(isNat(X)) -> active#(isNat(X)))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)), mark#(U12(X1, X2)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(and(X1, X2)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(x(X1, X2)) -> mark#(X2))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(x(X1, X2)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(U61(X)) -> mark#(X))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> mark#(X2))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(s(X)) -> mark#(X))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(U41(X1, X2)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(U33(X)) -> mark#(X))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(U32(X1, X2)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(U21(X1, X2)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(U22(X)) -> mark#(X))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(U13(X)) -> mark#(X))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(isNat(X)) -> active#(isNat(X)))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (mark#(x(X1, X2)) -> mark#(X2), mark#(U12(X1, X2)) -> mark#(X1))
        (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
        (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(and(tt(), X)) -> mark#(X))
        (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
        (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
        (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
        (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
        (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U41(tt(), N)) -> mark#(N))
        (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
        (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
        (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
        (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
        (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
        (mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(and(X1, X2)) -> mark#(X1))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(x(X1, X2)) -> mark#(X2))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(x(X1, X2)) -> mark#(X1))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U61(X)) -> mark#(X))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(plus(X1, X2)) -> mark#(X2))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(plus(X1, X2)) -> mark#(X1))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(s(X)) -> mark#(X))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U41(X1, X2)) -> mark#(X1))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U33(X)) -> mark#(X))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U32(X1, X2)) -> mark#(X1))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U21(X1, X2)) -> mark#(X1))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U22(X)) -> mark#(X))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U13(X)) -> mark#(X))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(isNat(X)) -> active#(isNat(X)))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U12(X1, X2)) -> mark#(X1))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U12(X1, X2)) -> mark#(X1))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(isNat(X)) -> active#(isNat(X)))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U13(X)) -> mark#(X))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U22(X)) -> mark#(X))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U21(X1, X2)) -> mark#(X1))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U32(X1, X2)) -> mark#(X1))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U33(X)) -> mark#(X))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U41(X1, X2)) -> mark#(X1))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(s(X)) -> mark#(X))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(plus(X1, X2)) -> mark#(X1))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(plus(X1, X2)) -> mark#(X2))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U61(X)) -> mark#(X))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(x(X1, X2)) -> mark#(X1))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(x(X1, X2)) -> mark#(X2))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(and(X1, X2)) -> mark#(X1))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
        (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
        (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
        (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
        (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
        (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
        (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U41(tt(), N)) -> mark#(N))
        (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
        (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
        (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
        (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
        (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(and(tt(), X)) -> mark#(X))
        (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
        (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(U12(X1, X2)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(isNat(X)) -> active#(isNat(X)))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(U13(X)) -> mark#(X))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(U22(X)) -> mark#(X))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(U21(X1, X2)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(U32(X1, X2)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(U33(X)) -> mark#(X))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(U41(X1, X2)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(s(X)) -> mark#(X))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(plus(X1, X2)) -> 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#(U51(X1, X2, X3)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(U61(X)) -> mark#(X))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(x(X1, X2)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(x(X1, X2)) -> mark#(X2))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(and(X1, X2)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (mark#(plus(X1, X2)) -> mark#(X2), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U12(X1, X2)) -> mark#(X1))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(isNat(X)) -> active#(isNat(X)))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U13(X)) -> mark#(X))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U22(X)) -> mark#(X))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U21(X1, X2)) -> mark#(X1))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U32(X1, X2)) -> mark#(X1))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U33(X)) -> mark#(X))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U41(X1, X2)) -> mark#(X1))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(s(X)) -> mark#(X))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(plus(X1, X2)) -> mark#(X1))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(plus(X1, X2)) -> mark#(X2))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U61(X)) -> mark#(X))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(x(X1, X2)) -> mark#(X1))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(x(X1, X2)) -> mark#(X2))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(and(X1, X2)) -> mark#(X1))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U12(X1, X2)) -> mark#(X1))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(isNat(X)) -> active#(isNat(X)))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U13(X)) -> mark#(X))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U22(X)) -> mark#(X))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U21(X1, X2)) -> mark#(X1))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U32(X1, X2)) -> mark#(X1))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U33(X)) -> mark#(X))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U41(X1, X2)) -> mark#(X1))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(s(X)) -> mark#(X))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(plus(X1, X2)) -> mark#(X1))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(plus(X1, X2)) -> mark#(X2))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U61(X)) -> mark#(X))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(x(X1, X2)) -> mark#(X1))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(x(X1, X2)) -> mark#(X2))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(and(X1, X2)) -> mark#(X1))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
        (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
        (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
        (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
        (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
        (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
        (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U41(tt(), N)) -> mark#(N))
        (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
        (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
        (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
        (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
        (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(and(tt(), X)) -> mark#(X))
        (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
        (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(and(X1, X2)) -> active#(and(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
        (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
        (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
        (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
        (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
        (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
        (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U41(tt(), N)) -> mark#(N))
        (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
        (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
        (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
        (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
        (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(and(tt(), X)) -> mark#(X))
        (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
        (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
        (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
        (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
        (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
        (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
        (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
        (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U41(tt(), N)) -> mark#(N))
        (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
        (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
        (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
        (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
        (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(and(tt(), X)) -> mark#(X))
        (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
        (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (active#(and(tt(), X)) -> mark#(X), mark#(U12(X1, X2)) -> mark#(X1))
        (active#(and(tt(), X)) -> mark#(X), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (active#(and(tt(), X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)))
        (active#(and(tt(), X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (active#(and(tt(), X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (active#(and(tt(), X)) -> mark#(X), mark#(U13(X)) -> mark#(X))
        (active#(and(tt(), X)) -> mark#(X), mark#(U22(X)) -> mark#(X))
        (active#(and(tt(), X)) -> mark#(X), mark#(U21(X1, X2)) -> mark#(X1))
        (active#(and(tt(), X)) -> mark#(X), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (active#(and(tt(), X)) -> mark#(X), mark#(U32(X1, X2)) -> mark#(X1))
        (active#(and(tt(), X)) -> mark#(X), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (active#(and(tt(), X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (active#(and(tt(), X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (active#(and(tt(), X)) -> mark#(X), mark#(U33(X)) -> mark#(X))
        (active#(and(tt(), X)) -> mark#(X), mark#(U41(X1, X2)) -> mark#(X1))
        (active#(and(tt(), X)) -> mark#(X), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (active#(and(tt(), X)) -> mark#(X), mark#(s(X)) -> mark#(X))
        (active#(and(tt(), X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1))
        (active#(and(tt(), X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2))
        (active#(and(tt(), X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (active#(and(tt(), X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (active#(and(tt(), X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (active#(and(tt(), X)) -> mark#(X), mark#(U61(X)) -> mark#(X))
        (active#(and(tt(), X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X1))
        (active#(and(tt(), X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X2))
        (active#(and(tt(), X)) -> mark#(X), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (active#(and(tt(), X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (active#(and(tt(), X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (active#(and(tt(), X)) -> mark#(X), mark#(and(X1, X2)) -> mark#(X1))
        (active#(and(tt(), X)) -> mark#(X), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (active#(and(tt(), X)) -> mark#(X), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (mark#(s(X)) -> mark#(X), mark#(U12(X1, X2)) -> mark#(X1))
        (mark#(s(X)) -> mark#(X), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (mark#(s(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)))
        (mark#(s(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (mark#(s(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (mark#(s(X)) -> mark#(X), mark#(U13(X)) -> mark#(X))
        (mark#(s(X)) -> mark#(X), mark#(U22(X)) -> mark#(X))
        (mark#(s(X)) -> mark#(X), mark#(U21(X1, X2)) -> mark#(X1))
        (mark#(s(X)) -> mark#(X), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (mark#(s(X)) -> mark#(X), mark#(U32(X1, X2)) -> mark#(X1))
        (mark#(s(X)) -> mark#(X), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (mark#(s(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (mark#(s(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (mark#(s(X)) -> mark#(X), mark#(U33(X)) -> mark#(X))
        (mark#(s(X)) -> mark#(X), mark#(U41(X1, X2)) -> mark#(X1))
        (mark#(s(X)) -> mark#(X), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (mark#(s(X)) -> mark#(X), mark#(s(X)) -> mark#(X))
        (mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1))
        (mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2))
        (mark#(s(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (mark#(s(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (mark#(s(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (mark#(s(X)) -> mark#(X), mark#(U61(X)) -> mark#(X))
        (mark#(s(X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X1))
        (mark#(s(X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X2))
        (mark#(s(X)) -> mark#(X), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (mark#(s(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (mark#(s(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (mark#(s(X)) -> mark#(X), mark#(and(X1, X2)) -> mark#(X1))
        (mark#(s(X)) -> mark#(X), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (mark#(s(X)) -> mark#(X), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (mark#(U22(X)) -> mark#(X), mark#(U12(X1, X2)) -> mark#(X1))
        (mark#(U22(X)) -> mark#(X), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (mark#(U22(X)) -> mark#(X), mark#(isNat(X)) -> active#(isNat(X)))
        (mark#(U22(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (mark#(U22(X)) -> mark#(X), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (mark#(U22(X)) -> mark#(X), mark#(U13(X)) -> mark#(X))
        (mark#(U22(X)) -> mark#(X), mark#(U22(X)) -> mark#(X))
        (mark#(U22(X)) -> mark#(X), mark#(U21(X1, X2)) -> mark#(X1))
        (mark#(U22(X)) -> mark#(X), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (mark#(U22(X)) -> mark#(X), mark#(U32(X1, X2)) -> mark#(X1))
        (mark#(U22(X)) -> mark#(X), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (mark#(U22(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (mark#(U22(X)) -> mark#(X), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (mark#(U22(X)) -> mark#(X), mark#(U33(X)) -> mark#(X))
        (mark#(U22(X)) -> mark#(X), mark#(U41(X1, X2)) -> mark#(X1))
        (mark#(U22(X)) -> mark#(X), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (mark#(U22(X)) -> mark#(X), mark#(s(X)) -> mark#(X))
        (mark#(U22(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X1))
        (mark#(U22(X)) -> mark#(X), mark#(plus(X1, X2)) -> mark#(X2))
        (mark#(U22(X)) -> mark#(X), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (mark#(U22(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (mark#(U22(X)) -> mark#(X), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (mark#(U22(X)) -> mark#(X), mark#(U61(X)) -> mark#(X))
        (mark#(U22(X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X1))
        (mark#(U22(X)) -> mark#(X), mark#(x(X1, X2)) -> mark#(X2))
        (mark#(U22(X)) -> mark#(X), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (mark#(U22(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (mark#(U22(X)) -> mark#(X), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (mark#(U22(X)) -> mark#(X), mark#(and(X1, X2)) -> mark#(X1))
        (mark#(U22(X)) -> mark#(X), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (mark#(U22(X)) -> mark#(X), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
        (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
        (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
        (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
        (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
        (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
        (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U41(tt(), N)) -> mark#(N))
        (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
        (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
        (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
        (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
        (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(and(tt(), X)) -> mark#(X))
        (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
        (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(isNatKind(X)) -> active#(isNatKind(X)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (active#(U41(tt(), N)) -> mark#(N), mark#(U12(X1, X2)) -> mark#(X1))
        (active#(U41(tt(), N)) -> mark#(N), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (active#(U41(tt(), N)) -> mark#(N), mark#(isNat(X)) -> active#(isNat(X)))
        (active#(U41(tt(), N)) -> mark#(N), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (active#(U41(tt(), N)) -> mark#(N), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (active#(U41(tt(), N)) -> mark#(N), mark#(U13(X)) -> mark#(X))
        (active#(U41(tt(), N)) -> mark#(N), mark#(U22(X)) -> mark#(X))
        (active#(U41(tt(), N)) -> mark#(N), mark#(U21(X1, X2)) -> mark#(X1))
        (active#(U41(tt(), N)) -> mark#(N), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (active#(U41(tt(), N)) -> mark#(N), mark#(U32(X1, X2)) -> mark#(X1))
        (active#(U41(tt(), N)) -> mark#(N), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (active#(U41(tt(), N)) -> mark#(N), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (active#(U41(tt(), N)) -> mark#(N), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (active#(U41(tt(), N)) -> mark#(N), mark#(U33(X)) -> mark#(X))
        (active#(U41(tt(), N)) -> mark#(N), mark#(U41(X1, X2)) -> mark#(X1))
        (active#(U41(tt(), N)) -> mark#(N), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (active#(U41(tt(), N)) -> mark#(N), mark#(s(X)) -> mark#(X))
        (active#(U41(tt(), N)) -> mark#(N), mark#(plus(X1, X2)) -> mark#(X1))
        (active#(U41(tt(), N)) -> mark#(N), mark#(plus(X1, X2)) -> mark#(X2))
        (active#(U41(tt(), N)) -> mark#(N), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (active#(U41(tt(), N)) -> mark#(N), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (active#(U41(tt(), N)) -> mark#(N), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (active#(U41(tt(), N)) -> mark#(N), mark#(U61(X)) -> mark#(X))
        (active#(U41(tt(), N)) -> mark#(N), mark#(x(X1, X2)) -> mark#(X1))
        (active#(U41(tt(), N)) -> mark#(N), mark#(x(X1, X2)) -> mark#(X2))
        (active#(U41(tt(), N)) -> mark#(N), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (active#(U41(tt(), N)) -> mark#(N), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (active#(U41(tt(), N)) -> mark#(N), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (active#(U41(tt(), N)) -> mark#(N), mark#(and(X1, X2)) -> mark#(X1))
        (active#(U41(tt(), N)) -> mark#(N), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (active#(U41(tt(), N)) -> mark#(N), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U12(X1, X2)) -> mark#(X1))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(isNat(X)) -> active#(isNat(X)))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U13(X)) -> mark#(X))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U22(X)) -> mark#(X))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U21(X1, X2)) -> mark#(X1))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U32(X1, X2)) -> mark#(X1))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U33(X)) -> mark#(X))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U41(X1, X2)) -> mark#(X1))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(s(X)) -> mark#(X))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> mark#(X1))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> mark#(X2))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U61(X)) -> mark#(X))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(x(X1, X2)) -> mark#(X1))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(x(X1, X2)) -> mark#(X2))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(and(X1, X2)) -> mark#(X1))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U12(X1, X2)) -> mark#(X1))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(isNat(X)) -> active#(isNat(X)))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U13(X)) -> mark#(X))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U22(X)) -> mark#(X))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U21(X1, X2)) -> mark#(X1))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U32(X1, X2)) -> mark#(X1))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U33(X)) -> mark#(X))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U41(X1, X2)) -> mark#(X1))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(s(X)) -> mark#(X))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(plus(X1, X2)) -> mark#(X1))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(plus(X1, X2)) -> mark#(X2))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U61(X)) -> mark#(X))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(x(X1, X2)) -> mark#(X1))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(x(X1, X2)) -> mark#(X2))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(and(X1, X2)) -> mark#(X1))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U12(X1, X2)) -> mark#(X1))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(isNat(X)) -> active#(isNat(X)))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U13(X)) -> mark#(X))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U22(X)) -> mark#(X))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U21(X1, X2)) -> mark#(X1))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U32(X1, X2)) -> mark#(X1))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U33(X)) -> mark#(X))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U41(X1, X2)) -> mark#(X1))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(s(X)) -> mark#(X))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(plus(X1, X2)) -> mark#(X1))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(plus(X1, X2)) -> mark#(X2))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U61(X)) -> mark#(X))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(x(X1, X2)) -> mark#(X1))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(x(X1, X2)) -> mark#(X2))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(and(X1, X2)) -> mark#(X1))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U12(X1, X2)) -> mark#(X1))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(isNat(X)) -> active#(isNat(X)))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U13(X)) -> mark#(X))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U22(X)) -> mark#(X))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U21(X1, X2)) -> mark#(X1))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U32(X1, X2)) -> mark#(X1))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U33(X)) -> mark#(X))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U41(X1, X2)) -> mark#(X1))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(s(X)) -> mark#(X))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(plus(X1, X2)) -> mark#(X1))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(plus(X1, X2)) -> mark#(X2))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U61(X)) -> mark#(X))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(x(X1, X2)) -> mark#(X1))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(x(X1, X2)) -> mark#(X2))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(and(X1, X2)) -> mark#(X1))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
        (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
        (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
        (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
        (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
        (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
        (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U41(tt(), N)) -> mark#(N))
        (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
        (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
        (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
        (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
        (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(and(tt(), X)) -> mark#(X))
        (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
        (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))))
        (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)))
        (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)))
        (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)))
        (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))))
        (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))))
        (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)))
        (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U41(tt(), N)) -> mark#(N))
        (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)))
        (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))))
        (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)))
        (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))))
        (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)))
        (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(and(tt(), X)) -> mark#(X))
        (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)))
        (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)), active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (mark#(and(X1, X2)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (mark#(x(X1, X2)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> 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#(U51(X1, X2, X3)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (mark#(plus(X1, X2)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(s(X)) -> mark#(X))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (mark#(U31(X1, X2, X3)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (mark#(U21(X1, X2)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> mark#(X1))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(isNat(X)) -> active#(isNat(X)))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> mark#(X1))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(U13(X)) -> mark#(X))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(U22(X)) -> mark#(X))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> mark#(X1))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> mark#(X1))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> mark#(X1))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(U33(X)) -> mark#(X))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> mark#(X1))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(s(X)) -> mark#(X))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X1))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> mark#(X2))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> mark#(X1))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(U61(X)) -> mark#(X))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X1))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> mark#(X2))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> mark#(X1))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> mark#(X1))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(and(X1, X2)) -> active#(and(mark(X1), X2)))
        (mark#(U12(X1, X2)) -> mark#(X1), mark#(isNatKind(X)) -> active#(isNatKind(X)))
       }
       SCCS:
        Scc:
         {              mark#(U12(X1, X2)) -> mark#(X1),
                        mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)),
                           mark#(isNat(X)) -> active#(isNat(X)),
                    mark#(U11(X1, X2, X3)) -> mark#(X1),
                    mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)),
                             mark#(U13(X)) -> mark#(X),
                             mark#(U22(X)) -> mark#(X),
                        mark#(U21(X1, X2)) -> mark#(X1),
                        mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)),
                        mark#(U32(X1, X2)) -> mark#(X1),
                        mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)),
                    mark#(U31(X1, X2, X3)) -> mark#(X1),
                    mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)),
                             mark#(U33(X)) -> mark#(X),
                        mark#(U41(X1, X2)) -> mark#(X1),
                        mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)),
                               mark#(s(X)) -> mark#(X),
                       mark#(plus(X1, X2)) -> mark#(X1),
                       mark#(plus(X1, X2)) -> mark#(X2),
                       mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))),
                    mark#(U51(X1, X2, X3)) -> mark#(X1),
                    mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)),
                             mark#(U61(X)) -> mark#(X),
                          mark#(x(X1, X2)) -> mark#(X1),
                          mark#(x(X1, X2)) -> mark#(X2),
                          mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))),
                    mark#(U71(X1, X2, X3)) -> mark#(X1),
                    mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)),
                        mark#(and(X1, X2)) -> mark#(X1),
                        mark#(and(X1, X2)) -> active#(and(mark(X1), X2)),
                       mark#(isNatKind(X)) -> active#(isNatKind(X)),
                    active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))),
                     active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)),
              active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                 active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)),
                    active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))),
                    active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))),
                active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)),
                     active#(U41(tt(), N)) -> mark#(N),
                    active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)),
                  active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))),
                       active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                        active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))),
                  active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)),
                     active#(and(tt(), X)) -> mark#(X),
                 active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)),
          active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))),
             active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2)))}
        SCC:
         Strict:
          {              mark#(U12(X1, X2)) -> mark#(X1),
                         mark#(U12(X1, X2)) -> active#(U12(mark(X1), X2)),
                            mark#(isNat(X)) -> active#(isNat(X)),
                     mark#(U11(X1, X2, X3)) -> mark#(X1),
                     mark#(U11(X1, X2, X3)) -> active#(U11(mark(X1), X2, X3)),
                              mark#(U13(X)) -> mark#(X),
                              mark#(U22(X)) -> mark#(X),
                         mark#(U21(X1, X2)) -> mark#(X1),
                         mark#(U21(X1, X2)) -> active#(U21(mark(X1), X2)),
                         mark#(U32(X1, X2)) -> mark#(X1),
                         mark#(U32(X1, X2)) -> active#(U32(mark(X1), X2)),
                     mark#(U31(X1, X2, X3)) -> mark#(X1),
                     mark#(U31(X1, X2, X3)) -> active#(U31(mark(X1), X2, X3)),
                              mark#(U33(X)) -> mark#(X),
                         mark#(U41(X1, X2)) -> mark#(X1),
                         mark#(U41(X1, X2)) -> active#(U41(mark(X1), X2)),
                                mark#(s(X)) -> mark#(X),
                        mark#(plus(X1, X2)) -> mark#(X1),
                        mark#(plus(X1, X2)) -> mark#(X2),
                        mark#(plus(X1, X2)) -> active#(plus(mark(X1), mark(X2))),
                     mark#(U51(X1, X2, X3)) -> mark#(X1),
                     mark#(U51(X1, X2, X3)) -> active#(U51(mark(X1), X2, X3)),
                              mark#(U61(X)) -> mark#(X),
                           mark#(x(X1, X2)) -> mark#(X1),
                           mark#(x(X1, X2)) -> mark#(X2),
                           mark#(x(X1, X2)) -> active#(x(mark(X1), mark(X2))),
                     mark#(U71(X1, X2, X3)) -> mark#(X1),
                     mark#(U71(X1, X2, X3)) -> active#(U71(mark(X1), X2, X3)),
                         mark#(and(X1, X2)) -> mark#(X1),
                         mark#(and(X1, X2)) -> active#(and(mark(X1), X2)),
                        mark#(isNatKind(X)) -> active#(isNatKind(X)),
                     active#(U12(tt(), V2)) -> mark#(U13(isNat(V2))),
                      active#(isNat(s(V1))) -> mark#(U21(isNatKind(V1), V1)),
               active#(isNat(plus(V1, V2))) -> mark#(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                  active#(isNat(x(V1, V2))) -> mark#(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                 active#(U11(tt(), V1, V2)) -> mark#(U12(isNat(V1), V2)),
                     active#(U21(tt(), V1)) -> mark#(U22(isNat(V1))),
                     active#(U32(tt(), V2)) -> mark#(U33(isNat(V2))),
                 active#(U31(tt(), V1, V2)) -> mark#(U32(isNat(V1), V2)),
                      active#(U41(tt(), N)) -> mark#(N),
                     active#(plus(N, s(M))) -> mark#(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                      active#(plus(N, 0())) -> mark#(U41(and(isNat(N), isNatKind(N)), N)),
                   active#(U51(tt(), M, N)) -> mark#(s(plus(N, M))),
                        active#(x(N, s(M))) -> mark#(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                         active#(x(N, 0())) -> mark#(U61(and(isNat(N), isNatKind(N)))),
                   active#(U71(tt(), M, N)) -> mark#(plus(x(N, M), N)),
                      active#(and(tt(), X)) -> mark#(X),
                  active#(isNatKind(s(V1))) -> mark#(isNatKind(V1)),
           active#(isNatKind(plus(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2))),
              active#(isNatKind(x(V1, V2))) -> mark#(and(isNatKind(V1), isNatKind(V2)))}
         Weak:
         {              mark(U12(X1, X2)) -> active(U12(mark(X1), X2)),
                           mark(isNat(X)) -> active(isNat(X)),
                    mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)),
                               mark(tt()) -> active(tt()),
                             mark(U13(X)) -> active(U13(mark(X))),
                             mark(U22(X)) -> active(U22(mark(X))),
                        mark(U21(X1, X2)) -> active(U21(mark(X1), X2)),
                        mark(U32(X1, X2)) -> active(U32(mark(X1), X2)),
                    mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)),
                             mark(U33(X)) -> active(U33(mark(X))),
                        mark(U41(X1, X2)) -> active(U41(mark(X1), X2)),
                               mark(s(X)) -> active(s(mark(X))),
                       mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))),
                    mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)),
                                mark(0()) -> active(0()),
                             mark(U61(X)) -> active(U61(mark(X))),
                          mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))),
                    mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)),
                        mark(and(X1, X2)) -> active(and(mark(X1), X2)),
                       mark(isNatKind(X)) -> active(isNatKind(X)),
                        U12(X1, mark(X2)) -> U12(X1, X2),
                      U12(X1, active(X2)) -> U12(X1, X2),
                        U12(mark(X1), X2) -> U12(X1, X2),
                      U12(active(X1), X2) -> U12(X1, X2),
                           isNat(mark(X)) -> isNat(X),
                         isNat(active(X)) -> isNat(X),
                    active(U12(tt(), V2)) -> mark(U13(isNat(V2))),
                     active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)),
              active(isNat(plus(V1, V2))) -> mark(U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                       active(isNat(0())) -> mark(tt()),
                 active(isNat(x(V1, V2))) -> mark(U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)),
                active(U11(tt(), V1, V2)) -> mark(U12(isNat(V1), V2)),
                        active(U13(tt())) -> mark(tt()),
                        active(U22(tt())) -> mark(tt()),
                    active(U21(tt(), V1)) -> mark(U22(isNat(V1))),
                    active(U32(tt(), V2)) -> mark(U33(isNat(V2))),
                active(U31(tt(), V1, V2)) -> mark(U32(isNat(V1), V2)),
                        active(U33(tt())) -> mark(tt()),
                     active(U41(tt(), N)) -> mark(N),
                    active(plus(N, s(M))) -> mark(U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                     active(plus(N, 0())) -> mark(U41(and(isNat(N), isNatKind(N)), N)),
                  active(U51(tt(), M, N)) -> mark(s(plus(N, M))),
                        active(U61(tt())) -> mark(0()),
                       active(x(N, s(M))) -> mark(U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)),
                        active(x(N, 0())) -> mark(U61(and(isNat(N), isNatKind(N)))),
                  active(U71(tt(), M, N)) -> mark(plus(x(N, M), N)),
                     active(and(tt(), X)) -> mark(X),
                 active(isNatKind(s(V1))) -> mark(isNatKind(V1)),
          active(isNatKind(plus(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                   active(isNatKind(0())) -> mark(tt()),
             active(isNatKind(x(V1, V2))) -> mark(and(isNatKind(V1), isNatKind(V2))),
                    U11(X1, X2, mark(X3)) -> U11(X1, X2, X3),
                  U11(X1, X2, active(X3)) -> U11(X1, X2, X3),
                    U11(X1, mark(X2), X3) -> U11(X1, X2, X3),
                  U11(X1, active(X2), X3) -> U11(X1, X2, X3),
                    U11(mark(X1), X2, X3) -> U11(X1, X2, X3),
                  U11(active(X1), X2, X3) -> U11(X1, X2, X3),
                             U13(mark(X)) -> U13(X),
                           U13(active(X)) -> U13(X),
                             U22(mark(X)) -> U22(X),
                           U22(active(X)) -> U22(X),
                        U21(X1, mark(X2)) -> U21(X1, X2),
                      U21(X1, active(X2)) -> U21(X1, X2),
                        U21(mark(X1), X2) -> U21(X1, X2),
                      U21(active(X1), X2) -> U21(X1, X2),
                        U32(X1, mark(X2)) -> U32(X1, X2),
                      U32(X1, active(X2)) -> U32(X1, X2),
                        U32(mark(X1), X2) -> U32(X1, X2),
                      U32(active(X1), X2) -> U32(X1, X2),
                    U31(X1, X2, mark(X3)) -> U31(X1, X2, X3),
                  U31(X1, X2, active(X3)) -> U31(X1, X2, X3),
                    U31(X1, mark(X2), X3) -> U31(X1, X2, X3),
                  U31(X1, active(X2), X3) -> U31(X1, X2, X3),
                    U31(mark(X1), X2, X3) -> U31(X1, X2, X3),
                  U31(active(X1), X2, X3) -> U31(X1, X2, X3),
                             U33(mark(X)) -> U33(X),
                           U33(active(X)) -> U33(X),
                        U41(X1, mark(X2)) -> U41(X1, X2),
                      U41(X1, active(X2)) -> U41(X1, X2),
                        U41(mark(X1), X2) -> U41(X1, X2),
                      U41(active(X1), X2) -> U41(X1, X2),
                               s(mark(X)) -> s(X),
                             s(active(X)) -> s(X),
                       plus(X1, mark(X2)) -> plus(X1, X2),
                     plus(X1, active(X2)) -> plus(X1, X2),
                       plus(mark(X1), X2) -> plus(X1, X2),
                     plus(active(X1), X2) -> plus(X1, X2),
                    U51(X1, X2, mark(X3)) -> U51(X1, X2, X3),
                  U51(X1, X2, active(X3)) -> U51(X1, X2, X3),
                    U51(X1, mark(X2), X3) -> U51(X1, X2, X3),
                  U51(X1, active(X2), X3) -> U51(X1, X2, X3),
                    U51(mark(X1), X2, X3) -> U51(X1, X2, X3),
                  U51(active(X1), X2, X3) -> U51(X1, X2, X3),
                             U61(mark(X)) -> U61(X),
                           U61(active(X)) -> U61(X),
                          x(X1, mark(X2)) -> x(X1, X2),
                        x(X1, active(X2)) -> x(X1, X2),
                          x(mark(X1), X2) -> x(X1, X2),
                        x(active(X1), X2) -> x(X1, X2),
                    U71(X1, X2, mark(X3)) -> U71(X1, X2, X3),
                  U71(X1, X2, active(X3)) -> U71(X1, X2, X3),
                    U71(X1, mark(X2), X3) -> U71(X1, X2, X3),
                  U71(X1, active(X2), X3) -> U71(X1, X2, X3),
                    U71(mark(X1), X2, X3) -> U71(X1, X2, X3),
                  U71(active(X1), X2, X3) -> U71(X1, X2, X3),
                        and(X1, mark(X2)) -> and(X1, X2),
                      and(X1, active(X2)) -> and(X1, X2),
                        and(mark(X1), X2) -> and(X1, X2),
                      and(active(X1), X2) -> and(X1, X2),
                       isNatKind(mark(X)) -> isNatKind(X),
                     isNatKind(active(X)) -> isNatKind(X)}
         Fail